fix: update bs

This commit is contained in:
nevfy 2024-04-26 01:15:39 +03:00
parent fe51efc049
commit 2c7edd87ae
268 changed files with 24214 additions and 16111 deletions

View file

@ -7,3 +7,4 @@ readers do not read off random characters that represent icons */
@each $name, $icon in $fa-icons { @each $name, $icon in $fa-icons {
.#{$fa-css-prefix}-#{$name}::before { content: unquote("\"#{ $icon }\""); } .#{$fa-css-prefix}-#{$name}::before { content: unquote("\"#{ $icon }\""); }
} }

View file

@ -382,6 +382,7 @@ $fa-var-face-grin-wide: \f581;
$fa-var-grin-alt: \f581; $fa-var-grin-alt: \f581;
$fa-var-tooth: \f5c9; $fa-var-tooth: \f5c9;
$fa-var-v: \56; $fa-var-v: \56;
$fa-var-bangladeshi-taka-sign: \e2e6;
$fa-var-bicycle: \f206; $fa-var-bicycle: \f206;
$fa-var-staff-snake: \e579; $fa-var-staff-snake: \e579;
$fa-var-rod-asclepius: \e579; $fa-var-rod-asclepius: \e579;
@ -1239,7 +1240,6 @@ $fa-var-dna: \f471;
$fa-var-virus-slash: \e075; $fa-var-virus-slash: \e075;
$fa-var-minus: \f068; $fa-var-minus: \f068;
$fa-var-subtract: \f068; $fa-var-subtract: \f068;
$fa-var-child-rifle: \e4e0;
$fa-var-chess: \f439; $fa-var-chess: \f439;
$fa-var-arrow-left-long: \f177; $fa-var-arrow-left-long: \f177;
$fa-var-long-arrow-left: \f177; $fa-var-long-arrow-left: \f177;
@ -1609,6 +1609,8 @@ $fa-var-grip: \f58d;
$fa-var-grip-horizontal: \f58d; $fa-var-grip-horizontal: \f58d;
$fa-var-share-from-square: \f14d; $fa-var-share-from-square: \f14d;
$fa-var-share-square: \f14d; $fa-var-share-square: \f14d;
$fa-var-child-combatant: \e4e0;
$fa-var-child-rifle: \e4e0;
$fa-var-gun: \e19b; $fa-var-gun: \e19b;
$fa-var-square-phone: \f098; $fa-var-square-phone: \f098;
$fa-var-phone-square: \f098; $fa-var-phone-square: \f098;
@ -1668,6 +1670,7 @@ $fa-var-holly-berry: \f7aa;
$fa-var-chevron-left: \f053; $fa-var-chevron-left: \f053;
$fa-var-bacteria: \e059; $fa-var-bacteria: \e059;
$fa-var-hand-lizard: \f258; $fa-var-hand-lizard: \f258;
$fa-var-notdef: \e1fe;
$fa-var-disease: \f7fa; $fa-var-disease: \f7fa;
$fa-var-briefcase-medical: \f469; $fa-var-briefcase-medical: \f469;
$fa-var-genderless: \f22d; $fa-var-genderless: \f22d;
@ -1870,7 +1873,6 @@ $fa-var-exclamation-triangle: \f071;
$fa-var-warning: \f071; $fa-var-warning: \f071;
$fa-var-database: \f1c0; $fa-var-database: \f1c0;
$fa-var-share: \f064; $fa-var-share: \f064;
$fa-var-arrow-turn-right: \f064;
$fa-var-mail-forward: \f064; $fa-var-mail-forward: \f064;
$fa-var-bottle-droplet: \e4c4; $fa-var-bottle-droplet: \e4c4;
$fa-var-mask-face: \e1d7; $fa-var-mask-face: \e1d7;
@ -2009,6 +2011,7 @@ $fa-var-redhat: \f7bc;
$fa-var-yoast: \f2b1; $fa-var-yoast: \f2b1;
$fa-var-cloudflare: \e07d; $fa-var-cloudflare: \e07d;
$fa-var-ups: \f7e0; $fa-var-ups: \f7e0;
$fa-var-pixiv: \e640;
$fa-var-wpexplorer: \f2de; $fa-var-wpexplorer: \f2de;
$fa-var-dyalog: \f399; $fa-var-dyalog: \f399;
$fa-var-bity: \f37a; $fa-var-bity: \f37a;
@ -2044,6 +2047,7 @@ $fa-var-vimeo-v: \f27d;
$fa-var-contao: \f26d; $fa-var-contao: \f26d;
$fa-var-square-font-awesome: \e5ad; $fa-var-square-font-awesome: \e5ad;
$fa-var-deskpro: \f38f; $fa-var-deskpro: \f38f;
$fa-var-brave: \e63c;
$fa-var-sistrix: \f3ee; $fa-var-sistrix: \f3ee;
$fa-var-square-instagram: \e055; $fa-var-square-instagram: \e055;
$fa-var-instagram-square: \e055; $fa-var-instagram-square: \e055;
@ -2052,6 +2056,7 @@ $fa-var-the-red-yeti: \f69d;
$fa-var-square-hacker-news: \f3af; $fa-var-square-hacker-news: \f3af;
$fa-var-hacker-news-square: \f3af; $fa-var-hacker-news-square: \f3af;
$fa-var-edge: \f282; $fa-var-edge: \f282;
$fa-var-threads: \e618;
$fa-var-napster: \f3d2; $fa-var-napster: \f3d2;
$fa-var-square-snapchat: \f2ad; $fa-var-square-snapchat: \f2ad;
$fa-var-snapchat-square: \f2ad; $fa-var-snapchat-square: \f2ad;
@ -2099,6 +2104,7 @@ $fa-var-meetup: \f2e0;
$fa-var-centos: \f789; $fa-var-centos: \f789;
$fa-var-adn: \f170; $fa-var-adn: \f170;
$fa-var-cloudsmith: \f384; $fa-var-cloudsmith: \f384;
$fa-var-opensuse: \e62b;
$fa-var-pied-piper-alt: \f1a8; $fa-var-pied-piper-alt: \f1a8;
$fa-var-square-dribbble: \f397; $fa-var-square-dribbble: \f397;
$fa-var-dribbble-square: \f397; $fa-var-dribbble-square: \f397;
@ -2108,6 +2114,7 @@ $fa-var-mix: \f3cb;
$fa-var-steam: \f1b6; $fa-var-steam: \f1b6;
$fa-var-cc-apple-pay: \f416; $fa-var-cc-apple-pay: \f416;
$fa-var-scribd: \f28a; $fa-var-scribd: \f28a;
$fa-var-debian: \e60b;
$fa-var-openid: \f19b; $fa-var-openid: \f19b;
$fa-var-instalod: \e081; $fa-var-instalod: \e081;
$fa-var-expeditedssl: \f23e; $fa-var-expeditedssl: \f23e;
@ -2146,6 +2153,7 @@ $fa-var-meta: \e49b;
$fa-var-laravel: \f3bd; $fa-var-laravel: \f3bd;
$fa-var-hotjar: \f3b1; $fa-var-hotjar: \f3b1;
$fa-var-bluetooth-b: \f294; $fa-var-bluetooth-b: \f294;
$fa-var-square-letterboxd: \e62e;
$fa-var-sticker-mule: \f3f7; $fa-var-sticker-mule: \f3f7;
$fa-var-creative-commons-zero: \f4f3; $fa-var-creative-commons-zero: \f4f3;
$fa-var-hips: \f452; $fa-var-hips: \f452;
@ -2157,6 +2165,7 @@ $fa-var-app-store-ios: \f370;
$fa-var-cc-discover: \f1f2; $fa-var-cc-discover: \f1f2;
$fa-var-wpbeginner: \f297; $fa-var-wpbeginner: \f297;
$fa-var-confluence: \f78d; $fa-var-confluence: \f78d;
$fa-var-shoelace: \e60c;
$fa-var-mdb: \f8ca; $fa-var-mdb: \f8ca;
$fa-var-dochub: \f394; $fa-var-dochub: \f394;
$fa-var-accessible-icon: \f368; $fa-var-accessible-icon: \f368;
@ -2188,6 +2197,7 @@ $fa-var-fedex: \f797;
$fa-var-phoenix-framework: \f3dc; $fa-var-phoenix-framework: \f3dc;
$fa-var-shopify: \e057; $fa-var-shopify: \e057;
$fa-var-neos: \f612; $fa-var-neos: \f612;
$fa-var-square-threads: \e619;
$fa-var-hackerrank: \f5f7; $fa-var-hackerrank: \f5f7;
$fa-var-researchgate: \f4f8; $fa-var-researchgate: \f4f8;
$fa-var-swift: \f8e1; $fa-var-swift: \f8e1;
@ -2197,6 +2207,7 @@ $fa-var-angrycreative: \f36e;
$fa-var-y-combinator: \f23b; $fa-var-y-combinator: \f23b;
$fa-var-empire: \f1d1; $fa-var-empire: \f1d1;
$fa-var-envira: \f299; $fa-var-envira: \f299;
$fa-var-google-scholar: \e63b;
$fa-var-square-gitlab: \e5ae; $fa-var-square-gitlab: \e5ae;
$fa-var-gitlab-square: \e5ae; $fa-var-gitlab-square: \e5ae;
$fa-var-studiovinari: \f3f8; $fa-var-studiovinari: \f3f8;
@ -2241,6 +2252,7 @@ $fa-var-less: \f41d;
$fa-var-blogger-b: \f37d; $fa-var-blogger-b: \f37d;
$fa-var-opencart: \f23d; $fa-var-opencart: \f23d;
$fa-var-vine: \f1ca; $fa-var-vine: \f1ca;
$fa-var-signal-messenger: \e663;
$fa-var-paypal: \f1ed; $fa-var-paypal: \f1ed;
$fa-var-gitlab: \f296; $fa-var-gitlab: \f296;
$fa-var-typo3: \f42b; $fa-var-typo3: \f42b;
@ -2252,6 +2264,7 @@ $fa-var-pied-piper-pp: \f1a7;
$fa-var-bootstrap: \f836; $fa-var-bootstrap: \f836;
$fa-var-odnoklassniki: \f263; $fa-var-odnoklassniki: \f263;
$fa-var-nfc-symbol: \e531; $fa-var-nfc-symbol: \e531;
$fa-var-mintbit: \e62f;
$fa-var-ethereum: \f42e; $fa-var-ethereum: \f42e;
$fa-var-speaker-deck: \f83c; $fa-var-speaker-deck: \f83c;
$fa-var-creative-commons-nc-eu: \f4e9; $fa-var-creative-commons-nc-eu: \f4e9;
@ -2260,6 +2273,7 @@ $fa-var-avianex: \f374;
$fa-var-ello: \f5f1; $fa-var-ello: \f5f1;
$fa-var-gofore: \f3a7; $fa-var-gofore: \f3a7;
$fa-var-bimobject: \f378; $fa-var-bimobject: \f378;
$fa-var-brave-reverse: \e63d;
$fa-var-facebook-f: \f39e; $fa-var-facebook-f: \f39e;
$fa-var-square-google-plus: \f0d4; $fa-var-square-google-plus: \f0d4;
$fa-var-google-plus-square: \f0d4; $fa-var-google-plus-square: \f0d4;
@ -2294,6 +2308,7 @@ $fa-var-viber: \f409;
$fa-var-soundcloud: \f1be; $fa-var-soundcloud: \f1be;
$fa-var-digg: \f1a6; $fa-var-digg: \f1a6;
$fa-var-tencent-weibo: \f1d5; $fa-var-tencent-weibo: \f1d5;
$fa-var-letterboxd: \e62d;
$fa-var-symfony: \f83d; $fa-var-symfony: \f83d;
$fa-var-maxcdn: \f136; $fa-var-maxcdn: \f136;
$fa-var-etsy: \f2d7; $fa-var-etsy: \f2d7;
@ -2302,6 +2317,7 @@ $fa-var-audible: \f373;
$fa-var-think-peaks: \f731; $fa-var-think-peaks: \f731;
$fa-var-bilibili: \e3d9; $fa-var-bilibili: \e3d9;
$fa-var-erlang: \f39d; $fa-var-erlang: \f39d;
$fa-var-x-twitter: \e61b;
$fa-var-cotton-bureau: \f89e; $fa-var-cotton-bureau: \f89e;
$fa-var-dashcube: \f210; $fa-var-dashcube: \f210;
$fa-var-42-group: \e080; $fa-var-42-group: \e080;
@ -2339,6 +2355,7 @@ $fa-var-cc-amazon-pay: \f42d;
$fa-var-dropbox: \f16b; $fa-var-dropbox: \f16b;
$fa-var-instagram: \f16d; $fa-var-instagram: \f16d;
$fa-var-cmplid: \e360; $fa-var-cmplid: \e360;
$fa-var-upwork: \e641;
$fa-var-facebook: \f09a; $fa-var-facebook: \f09a;
$fa-var-gripfire: \f3ac; $fa-var-gripfire: \f3ac;
$fa-var-jedi-order: \f50e; $fa-var-jedi-order: \f50e;
@ -2397,6 +2414,7 @@ $fa-var-wix: \f5cf;
$fa-var-square-behance: \f1b5; $fa-var-square-behance: \f1b5;
$fa-var-behance-square: \f1b5; $fa-var-behance-square: \f1b5;
$fa-var-supple: \f3f9; $fa-var-supple: \f3f9;
$fa-var-webflow: \e65c;
$fa-var-rebel: \f1d0; $fa-var-rebel: \f1d0;
$fa-var-css3: \f13c; $fa-var-css3: \f13c;
$fa-var-staylinked: \f3f5; $fa-var-staylinked: \f3f5;
@ -2451,9 +2469,11 @@ $fa-var-btc: \f15a;
$fa-var-dribbble: \f17d; $fa-var-dribbble: \f17d;
$fa-var-stumbleupon-circle: \f1a3; $fa-var-stumbleupon-circle: \f1a3;
$fa-var-internet-explorer: \f26b; $fa-var-internet-explorer: \f26b;
$fa-var-stubber: \e5c7;
$fa-var-telegram: \f2c6; $fa-var-telegram: \f2c6;
$fa-var-telegram-plane: \f2c6; $fa-var-telegram-plane: \f2c6;
$fa-var-old-republic: \f510; $fa-var-old-republic: \f510;
$fa-var-odysee: \e5c6;
$fa-var-square-whatsapp: \f40c; $fa-var-square-whatsapp: \f40c;
$fa-var-whatsapp-square: \f40c; $fa-var-whatsapp-square: \f40c;
$fa-var-node-js: \f3d3; $fa-var-node-js: \f3d3;
@ -2465,6 +2485,7 @@ $fa-var-usb: \f287;
$fa-var-tumblr: \f173; $fa-var-tumblr: \f173;
$fa-var-vaadin: \f408; $fa-var-vaadin: \f408;
$fa-var-quora: \f2c4; $fa-var-quora: \f2c4;
$fa-var-square-x-twitter: \e61a;
$fa-var-reacteurope: \f75d; $fa-var-reacteurope: \f75d;
$fa-var-medium: \f23a; $fa-var-medium: \f23a;
$fa-var-medium-m: \f23a; $fa-var-medium-m: \f23a;
@ -2832,6 +2853,7 @@ $fa-icons: (
"grin-alt": $fa-var-grin-alt, "grin-alt": $fa-var-grin-alt,
"tooth": $fa-var-tooth, "tooth": $fa-var-tooth,
"v": $fa-var-v, "v": $fa-var-v,
"bangladeshi-taka-sign": $fa-var-bangladeshi-taka-sign,
"bicycle": $fa-var-bicycle, "bicycle": $fa-var-bicycle,
"staff-snake": $fa-var-staff-snake, "staff-snake": $fa-var-staff-snake,
"rod-asclepius": $fa-var-rod-asclepius, "rod-asclepius": $fa-var-rod-asclepius,
@ -3689,7 +3711,6 @@ $fa-icons: (
"virus-slash": $fa-var-virus-slash, "virus-slash": $fa-var-virus-slash,
"minus": $fa-var-minus, "minus": $fa-var-minus,
"subtract": $fa-var-subtract, "subtract": $fa-var-subtract,
"child-rifle": $fa-var-child-rifle,
"chess": $fa-var-chess, "chess": $fa-var-chess,
"arrow-left-long": $fa-var-arrow-left-long, "arrow-left-long": $fa-var-arrow-left-long,
"long-arrow-left": $fa-var-long-arrow-left, "long-arrow-left": $fa-var-long-arrow-left,
@ -4059,6 +4080,8 @@ $fa-icons: (
"grip-horizontal": $fa-var-grip-horizontal, "grip-horizontal": $fa-var-grip-horizontal,
"share-from-square": $fa-var-share-from-square, "share-from-square": $fa-var-share-from-square,
"share-square": $fa-var-share-square, "share-square": $fa-var-share-square,
"child-combatant": $fa-var-child-combatant,
"child-rifle": $fa-var-child-rifle,
"gun": $fa-var-gun, "gun": $fa-var-gun,
"square-phone": $fa-var-square-phone, "square-phone": $fa-var-square-phone,
"phone-square": $fa-var-phone-square, "phone-square": $fa-var-phone-square,
@ -4118,6 +4141,7 @@ $fa-icons: (
"chevron-left": $fa-var-chevron-left, "chevron-left": $fa-var-chevron-left,
"bacteria": $fa-var-bacteria, "bacteria": $fa-var-bacteria,
"hand-lizard": $fa-var-hand-lizard, "hand-lizard": $fa-var-hand-lizard,
"notdef": $fa-var-notdef,
"disease": $fa-var-disease, "disease": $fa-var-disease,
"briefcase-medical": $fa-var-briefcase-medical, "briefcase-medical": $fa-var-briefcase-medical,
"genderless": $fa-var-genderless, "genderless": $fa-var-genderless,
@ -4320,7 +4344,6 @@ $fa-icons: (
"warning": $fa-var-warning, "warning": $fa-var-warning,
"database": $fa-var-database, "database": $fa-var-database,
"share": $fa-var-share, "share": $fa-var-share,
"arrow-turn-right": $fa-var-arrow-turn-right,
"mail-forward": $fa-var-mail-forward, "mail-forward": $fa-var-mail-forward,
"bottle-droplet": $fa-var-bottle-droplet, "bottle-droplet": $fa-var-bottle-droplet,
"mask-face": $fa-var-mask-face, "mask-face": $fa-var-mask-face,
@ -4461,6 +4484,7 @@ $fa-brand-icons: (
"yoast": $fa-var-yoast, "yoast": $fa-var-yoast,
"cloudflare": $fa-var-cloudflare, "cloudflare": $fa-var-cloudflare,
"ups": $fa-var-ups, "ups": $fa-var-ups,
"pixiv": $fa-var-pixiv,
"wpexplorer": $fa-var-wpexplorer, "wpexplorer": $fa-var-wpexplorer,
"dyalog": $fa-var-dyalog, "dyalog": $fa-var-dyalog,
"bity": $fa-var-bity, "bity": $fa-var-bity,
@ -4496,6 +4520,7 @@ $fa-brand-icons: (
"contao": $fa-var-contao, "contao": $fa-var-contao,
"square-font-awesome": $fa-var-square-font-awesome, "square-font-awesome": $fa-var-square-font-awesome,
"deskpro": $fa-var-deskpro, "deskpro": $fa-var-deskpro,
"brave": $fa-var-brave,
"sistrix": $fa-var-sistrix, "sistrix": $fa-var-sistrix,
"square-instagram": $fa-var-square-instagram, "square-instagram": $fa-var-square-instagram,
"instagram-square": $fa-var-instagram-square, "instagram-square": $fa-var-instagram-square,
@ -4504,6 +4529,7 @@ $fa-brand-icons: (
"square-hacker-news": $fa-var-square-hacker-news, "square-hacker-news": $fa-var-square-hacker-news,
"hacker-news-square": $fa-var-hacker-news-square, "hacker-news-square": $fa-var-hacker-news-square,
"edge": $fa-var-edge, "edge": $fa-var-edge,
"threads": $fa-var-threads,
"napster": $fa-var-napster, "napster": $fa-var-napster,
"square-snapchat": $fa-var-square-snapchat, "square-snapchat": $fa-var-square-snapchat,
"snapchat-square": $fa-var-snapchat-square, "snapchat-square": $fa-var-snapchat-square,
@ -4551,6 +4577,7 @@ $fa-brand-icons: (
"centos": $fa-var-centos, "centos": $fa-var-centos,
"adn": $fa-var-adn, "adn": $fa-var-adn,
"cloudsmith": $fa-var-cloudsmith, "cloudsmith": $fa-var-cloudsmith,
"opensuse": $fa-var-opensuse,
"pied-piper-alt": $fa-var-pied-piper-alt, "pied-piper-alt": $fa-var-pied-piper-alt,
"square-dribbble": $fa-var-square-dribbble, "square-dribbble": $fa-var-square-dribbble,
"dribbble-square": $fa-var-dribbble-square, "dribbble-square": $fa-var-dribbble-square,
@ -4560,6 +4587,7 @@ $fa-brand-icons: (
"steam": $fa-var-steam, "steam": $fa-var-steam,
"cc-apple-pay": $fa-var-cc-apple-pay, "cc-apple-pay": $fa-var-cc-apple-pay,
"scribd": $fa-var-scribd, "scribd": $fa-var-scribd,
"debian": $fa-var-debian,
"openid": $fa-var-openid, "openid": $fa-var-openid,
"instalod": $fa-var-instalod, "instalod": $fa-var-instalod,
"expeditedssl": $fa-var-expeditedssl, "expeditedssl": $fa-var-expeditedssl,
@ -4598,6 +4626,7 @@ $fa-brand-icons: (
"laravel": $fa-var-laravel, "laravel": $fa-var-laravel,
"hotjar": $fa-var-hotjar, "hotjar": $fa-var-hotjar,
"bluetooth-b": $fa-var-bluetooth-b, "bluetooth-b": $fa-var-bluetooth-b,
"square-letterboxd": $fa-var-square-letterboxd,
"sticker-mule": $fa-var-sticker-mule, "sticker-mule": $fa-var-sticker-mule,
"creative-commons-zero": $fa-var-creative-commons-zero, "creative-commons-zero": $fa-var-creative-commons-zero,
"hips": $fa-var-hips, "hips": $fa-var-hips,
@ -4609,6 +4638,7 @@ $fa-brand-icons: (
"cc-discover": $fa-var-cc-discover, "cc-discover": $fa-var-cc-discover,
"wpbeginner": $fa-var-wpbeginner, "wpbeginner": $fa-var-wpbeginner,
"confluence": $fa-var-confluence, "confluence": $fa-var-confluence,
"shoelace": $fa-var-shoelace,
"mdb": $fa-var-mdb, "mdb": $fa-var-mdb,
"dochub": $fa-var-dochub, "dochub": $fa-var-dochub,
"accessible-icon": $fa-var-accessible-icon, "accessible-icon": $fa-var-accessible-icon,
@ -4640,6 +4670,7 @@ $fa-brand-icons: (
"phoenix-framework": $fa-var-phoenix-framework, "phoenix-framework": $fa-var-phoenix-framework,
"shopify": $fa-var-shopify, "shopify": $fa-var-shopify,
"neos": $fa-var-neos, "neos": $fa-var-neos,
"square-threads": $fa-var-square-threads,
"hackerrank": $fa-var-hackerrank, "hackerrank": $fa-var-hackerrank,
"researchgate": $fa-var-researchgate, "researchgate": $fa-var-researchgate,
"swift": $fa-var-swift, "swift": $fa-var-swift,
@ -4649,6 +4680,7 @@ $fa-brand-icons: (
"y-combinator": $fa-var-y-combinator, "y-combinator": $fa-var-y-combinator,
"empire": $fa-var-empire, "empire": $fa-var-empire,
"envira": $fa-var-envira, "envira": $fa-var-envira,
"google-scholar": $fa-var-google-scholar,
"square-gitlab": $fa-var-square-gitlab, "square-gitlab": $fa-var-square-gitlab,
"gitlab-square": $fa-var-gitlab-square, "gitlab-square": $fa-var-gitlab-square,
"studiovinari": $fa-var-studiovinari, "studiovinari": $fa-var-studiovinari,
@ -4693,6 +4725,7 @@ $fa-brand-icons: (
"blogger-b": $fa-var-blogger-b, "blogger-b": $fa-var-blogger-b,
"opencart": $fa-var-opencart, "opencart": $fa-var-opencart,
"vine": $fa-var-vine, "vine": $fa-var-vine,
"signal-messenger": $fa-var-signal-messenger,
"paypal": $fa-var-paypal, "paypal": $fa-var-paypal,
"gitlab": $fa-var-gitlab, "gitlab": $fa-var-gitlab,
"typo3": $fa-var-typo3, "typo3": $fa-var-typo3,
@ -4704,6 +4737,7 @@ $fa-brand-icons: (
"bootstrap": $fa-var-bootstrap, "bootstrap": $fa-var-bootstrap,
"odnoklassniki": $fa-var-odnoklassniki, "odnoklassniki": $fa-var-odnoklassniki,
"nfc-symbol": $fa-var-nfc-symbol, "nfc-symbol": $fa-var-nfc-symbol,
"mintbit": $fa-var-mintbit,
"ethereum": $fa-var-ethereum, "ethereum": $fa-var-ethereum,
"speaker-deck": $fa-var-speaker-deck, "speaker-deck": $fa-var-speaker-deck,
"creative-commons-nc-eu": $fa-var-creative-commons-nc-eu, "creative-commons-nc-eu": $fa-var-creative-commons-nc-eu,
@ -4712,6 +4746,7 @@ $fa-brand-icons: (
"ello": $fa-var-ello, "ello": $fa-var-ello,
"gofore": $fa-var-gofore, "gofore": $fa-var-gofore,
"bimobject": $fa-var-bimobject, "bimobject": $fa-var-bimobject,
"brave-reverse": $fa-var-brave-reverse,
"facebook-f": $fa-var-facebook-f, "facebook-f": $fa-var-facebook-f,
"square-google-plus": $fa-var-square-google-plus, "square-google-plus": $fa-var-square-google-plus,
"google-plus-square": $fa-var-google-plus-square, "google-plus-square": $fa-var-google-plus-square,
@ -4746,6 +4781,7 @@ $fa-brand-icons: (
"soundcloud": $fa-var-soundcloud, "soundcloud": $fa-var-soundcloud,
"digg": $fa-var-digg, "digg": $fa-var-digg,
"tencent-weibo": $fa-var-tencent-weibo, "tencent-weibo": $fa-var-tencent-weibo,
"letterboxd": $fa-var-letterboxd,
"symfony": $fa-var-symfony, "symfony": $fa-var-symfony,
"maxcdn": $fa-var-maxcdn, "maxcdn": $fa-var-maxcdn,
"etsy": $fa-var-etsy, "etsy": $fa-var-etsy,
@ -4754,6 +4790,7 @@ $fa-brand-icons: (
"think-peaks": $fa-var-think-peaks, "think-peaks": $fa-var-think-peaks,
"bilibili": $fa-var-bilibili, "bilibili": $fa-var-bilibili,
"erlang": $fa-var-erlang, "erlang": $fa-var-erlang,
"x-twitter": $fa-var-x-twitter,
"cotton-bureau": $fa-var-cotton-bureau, "cotton-bureau": $fa-var-cotton-bureau,
"dashcube": $fa-var-dashcube, "dashcube": $fa-var-dashcube,
"42-group": $fa-var-42-group, "42-group": $fa-var-42-group,
@ -4791,6 +4828,7 @@ $fa-brand-icons: (
"dropbox": $fa-var-dropbox, "dropbox": $fa-var-dropbox,
"instagram": $fa-var-instagram, "instagram": $fa-var-instagram,
"cmplid": $fa-var-cmplid, "cmplid": $fa-var-cmplid,
"upwork": $fa-var-upwork,
"facebook": $fa-var-facebook, "facebook": $fa-var-facebook,
"gripfire": $fa-var-gripfire, "gripfire": $fa-var-gripfire,
"jedi-order": $fa-var-jedi-order, "jedi-order": $fa-var-jedi-order,
@ -4849,6 +4887,7 @@ $fa-brand-icons: (
"square-behance": $fa-var-square-behance, "square-behance": $fa-var-square-behance,
"behance-square": $fa-var-behance-square, "behance-square": $fa-var-behance-square,
"supple": $fa-var-supple, "supple": $fa-var-supple,
"webflow": $fa-var-webflow,
"rebel": $fa-var-rebel, "rebel": $fa-var-rebel,
"css3": $fa-var-css3, "css3": $fa-var-css3,
"staylinked": $fa-var-staylinked, "staylinked": $fa-var-staylinked,
@ -4903,9 +4942,11 @@ $fa-brand-icons: (
"dribbble": $fa-var-dribbble, "dribbble": $fa-var-dribbble,
"stumbleupon-circle": $fa-var-stumbleupon-circle, "stumbleupon-circle": $fa-var-stumbleupon-circle,
"internet-explorer": $fa-var-internet-explorer, "internet-explorer": $fa-var-internet-explorer,
"stubber": $fa-var-stubber,
"telegram": $fa-var-telegram, "telegram": $fa-var-telegram,
"telegram-plane": $fa-var-telegram-plane, "telegram-plane": $fa-var-telegram-plane,
"old-republic": $fa-var-old-republic, "old-republic": $fa-var-old-republic,
"odysee": $fa-var-odysee,
"square-whatsapp": $fa-var-square-whatsapp, "square-whatsapp": $fa-var-square-whatsapp,
"whatsapp-square": $fa-var-whatsapp-square, "whatsapp-square": $fa-var-whatsapp-square,
"node-js": $fa-var-node-js, "node-js": $fa-var-node-js,
@ -4917,6 +4958,7 @@ $fa-brand-icons: (
"tumblr": $fa-var-tumblr, "tumblr": $fa-var-tumblr,
"vaadin": $fa-var-vaadin, "vaadin": $fa-var-vaadin,
"quora": $fa-var-quora, "quora": $fa-var-quora,
"square-x-twitter": $fa-var-square-x-twitter,
"reacteurope": $fa-var-reacteurope, "reacteurope": $fa-var-reacteurope,
"medium": $fa-var-medium, "medium": $fa-var-medium,
"medium-m": $fa-var-medium-m, "medium-m": $fa-var-medium-m,

View file

@ -1,7 +1,7 @@
/*! /*!
* Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc. * Copyright 2023 Fonticons, Inc.
*/ */
@import 'functions'; @import 'functions';
@import 'variables'; @import 'variables';

View file

@ -1,7 +1,7 @@
/*! /*!
* Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc. * Copyright 2023 Fonticons, Inc.
*/ */
// Font Awesome core compile (Web Fonts-based) // Font Awesome core compile (Web Fonts-based)
// ------------------------- // -------------------------

View file

@ -1,7 +1,7 @@
/*! /*!
* Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc. * Copyright 2023 Fonticons, Inc.
*/ */
@import 'functions'; @import 'functions';
@import 'variables'; @import 'variables';

View file

@ -1,7 +1,7 @@
/*! /*!
* Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc. * Copyright 2023 Fonticons, Inc.
*/ */
@import 'functions'; @import 'functions';
@import 'variables'; @import 'variables';

View file

@ -1,7 +1,7 @@
/*! /*!
* Font Awesome Free 6.2.0 by @fontawesome - https://fontawesome.com * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
* Copyright 2022 Fonticons, Inc. * Copyright 2023 Fonticons, Inc.
*/ */
// V4 shims compile (Web Fonts-based) // V4 shims compile (Web Fonts-based)
// ------------------------- // -------------------------

View file

@ -0,0 +1,5 @@
This `_vendor` folder exists to work around a known bug in Gos module
management. For details, see <https://github.com/golang/go/issues/37397>.
DO NOT EDIT or manually override the files in this folder. They are
automatically synchronized at installation time.

View file

@ -0,0 +1,354 @@
// stylelint-disable property-blacklist, scss/dollar-variable-default
// SCSS RFS mixin
//
// Automated responsive values for font sizes, paddings, margins and much more
//
// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)
// Configuration
// Base value
$rfs-base-value: 1.25rem !default;
$rfs-unit: rem !default;
@if $rfs-unit != rem and $rfs-unit != px {
@error "`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.";
}
// Breakpoint at where values start decreasing if screen width is smaller
$rfs-breakpoint: 1200px !default;
$rfs-breakpoint-unit: px !default;
@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {
@error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
}
// Resize values based on screen height and width
$rfs-two-dimensional: false !default;
// Factor of decrease
$rfs-factor: 10 !default;
@if type-of($rfs-factor) != number or $rfs-factor <= 1 {
@error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";
}
// Mode. Possibilities: "min-media-query", "max-media-query"
$rfs-mode: min-media-query !default;
// Generate enable or disable classes. Possibilities: false, "enable" or "disable"
$rfs-class: false !default;
// 1 rem = $rfs-rem-value px
$rfs-rem-value: 16 !default;
// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14
$rfs-safari-iframe-resize-bug-fix: false !default;
// Disable RFS by setting $enable-rfs to false
$enable-rfs: true !default;
// Cache $rfs-base-value unit
$rfs-base-value-unit: unit($rfs-base-value);
@function divide($dividend, $divisor, $precision: 10) {
$sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
$dividend: abs($dividend);
$divisor: abs($divisor);
@if $dividend == 0 {
@return 0;
}
@if $divisor == 0 {
@error "Cannot divide by 0";
}
$remainder: $dividend;
$result: 0;
$factor: 10;
@while ($remainder > 0 and $precision >= 0) {
$quotient: 0;
@while ($remainder >= $divisor) {
$remainder: $remainder - $divisor;
$quotient: $quotient + 1;
}
$result: $result * 10 + $quotient;
$factor: $factor * .1;
$remainder: $remainder * 10;
$precision: $precision - 1;
@if ($precision < 0 and $remainder >= $divisor * 5) {
$result: $result + 1;
}
}
$result: $result * $factor * $sign;
$dividend-unit: unit($dividend);
$divisor-unit: unit($divisor);
$unit-map: (
"px": 1px,
"rem": 1rem,
"em": 1em,
"%": 1%
);
@if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
$result: $result * map-get($unit-map, $dividend-unit);
}
@return $result;
}
// Remove px-unit from $rfs-base-value for calculations
@if $rfs-base-value-unit == px {
$rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);
}
@else if $rfs-base-value-unit == rem {
$rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));
}
// Cache $rfs-breakpoint unit to prevent multiple calls
$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
// Remove unit from $rfs-breakpoint for calculations
@if $rfs-breakpoint-unit-cache == px {
$rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);
}
@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == "em" {
$rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));
}
// Calculate the media query value
$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});
$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);
$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);
// Internal mixin used to determine which media query needs to be used
@mixin _rfs-media-query {
@if $rfs-two-dimensional {
@if $rfs-mode == max-media-query {
@media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {
@content;
}
}
@else {
@media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {
@content;
}
}
}
@else {
@media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {
@content;
}
}
}
// Internal mixin that adds disable classes to the selector if needed.
@mixin _rfs-rule {
@if $rfs-class == disable and $rfs-mode == max-media-query {
// Adding an extra class increases specificity, which prevents the media query to override the property
&,
.disable-rfs &,
&.disable-rfs {
@content;
}
}
@else if $rfs-class == enable and $rfs-mode == min-media-query {
.enable-rfs &,
&.enable-rfs {
@content;
}
}
@else {
@content;
}
}
// Internal mixin that adds enable classes to the selector if needed.
@mixin _rfs-media-query-rule {
@if $rfs-class == enable {
@if $rfs-mode == min-media-query {
@content;
}
@include _rfs-media-query {
.enable-rfs &,
&.enable-rfs {
@content;
}
}
}
@else {
@if $rfs-class == disable and $rfs-mode == min-media-query {
.disable-rfs &,
&.disable-rfs {
@content;
}
}
@include _rfs-media-query {
@content;
}
}
}
// Helper function to get the formatted non-responsive value
@function rfs-value($values) {
// Convert to list
$values: if(type-of($values) != list, ($values,), $values);
$val: '';
// Loop over each value and calculate value
@each $value in $values {
@if $value == 0 {
$val: $val + ' 0';
}
@else {
// Cache $value unit
$unit: if(type-of($value) == "number", unit($value), false);
@if $unit == px {
// Convert to rem if needed
$val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);
}
@else if $unit == rem {
// Convert to px if needed
$val: $val + ' ' + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);
}
@else {
// If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
$val: $val + ' ' + $value;
}
}
}
// Remove first space
@return unquote(str-slice($val, 2));
}
// Helper function to get the responsive value calculated by RFS
@function rfs-fluid-value($values) {
// Convert to list
$values: if(type-of($values) != list, ($values,), $values);
$val: '';
// Loop over each value and calculate value
@each $value in $values {
@if $value == 0 {
$val: $val + ' 0';
}
@else {
// Cache $value unit
$unit: if(type-of($value) == "number", unit($value), false);
// If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
@if not $unit or $unit != px and $unit != rem {
$val: $val + ' ' + $value;
}
@else {
// Remove unit from $value for calculations
$value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));
// Only add the media query if the value is greater than the minimum value
@if abs($value) <= $rfs-base-value or not $enable-rfs {
$val: $val + ' ' + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);
}
@else {
// Calculate the minimum value
$value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);
// Calculate difference between $value and the minimum value
$value-diff: abs($value) - $value-min;
// Base value formatting
$min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);
// Use negative value if needed
$min-width: if($value < 0, -$min-width, $min-width);
// Use `vmin` if two-dimensional is enabled
$variable-unit: if($rfs-two-dimensional, vmin, vw);
// Calculate the variable width between 0 and $rfs-breakpoint
$variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};
// Return the calculated value
$val: $val + ' calc(' + $min-width + if($value < 0, ' - ', ' + ') + $variable-width + ')';
}
}
}
}
// Remove first space
@return unquote(str-slice($val, 2));
}
// RFS mixin
@mixin rfs($values, $property: font-size) {
@if $values != null {
$val: rfs-value($values);
$fluidVal: rfs-fluid-value($values);
// Do not print the media query if responsive & non-responsive values are the same
@if $val == $fluidVal {
#{$property}: $val;
}
@else {
@include _rfs-rule {
#{$property}: if($rfs-mode == max-media-query, $val, $fluidVal);
// Include safari iframe resize fix if needed
min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);
}
@include _rfs-media-query-rule {
#{$property}: if($rfs-mode == max-media-query, $fluidVal, $val);
}
}
}
}
// Shorthand helper mixins
@mixin font-size($value) {
@include rfs($value);
}
@mixin padding($value) {
@include rfs($value, padding);
}
@mixin padding-top($value) {
@include rfs($value, padding-top);
}
@mixin padding-right($value) {
@include rfs($value, padding-right);
}
@mixin padding-bottom($value) {
@include rfs($value, padding-bottom);
}
@mixin padding-left($value) {
@include rfs($value, padding-left);
}
@mixin margin($value) {
@include rfs($value, margin);
}
@mixin margin-top($value) {
@include rfs($value, margin-top);
}
@mixin margin-right($value) {
@include rfs($value, margin-right);
}
@mixin margin-bottom($value) {
@include rfs($value, margin-bottom);
}
@mixin margin-left($value) {
@include rfs($value, margin-left);
}

View file

@ -1,49 +0,0 @@
/*
* Copyright 2018 Google LLC
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
(function ($) {
'use strict';
// Headers' anchor link that shows on hover
$(function () {
// append anchor links to headings in markdown.
var article = document.getElementsByTagName('main')[0];
if (!article) {
return;
}
var headings = article.querySelectorAll('h1, h2, h3, h4, h5, h6');
headings.forEach(function (heading) {
if (heading.id) {
var a = document.createElement('a');
// set visibility: hidden, not display: none to avoid layout change
a.style.visibility = 'hidden';
// [a11y] hide this from screen readers, etc..
a.setAttribute('aria-hidden', 'true');
// material insert_link icon in svg format
a.innerHTML = ' <svg xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 24 24"><path d="M0 0h24v24H0z" fill="none"/><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"/></svg>';
a.href = '#' + heading.id;
heading.insertAdjacentElement('beforeend', a);
heading.addEventListener('mouseenter', function () {
a.style.visibility = 'initial';
});
heading.addEventListener('mouseleave', function () {
a.style.visibility = 'hidden';
});
}
});
});
}(jQuery));

View file

@ -19,8 +19,8 @@ limitations under the License.
'use strict'; 'use strict';
$(function() { $(function() {
$('[data-toggle="tooltip"]').tooltip(); $('[data-bs-toggle="tooltip"]').tooltip();
$('[data-toggle="popover"]').popover(); $('[data-bs-toggle="popover"]').popover();
$('.popover-dismiss').popover({ $('.popover-dismiss').popover({
trigger: 'focus' trigger: 'focus'

View file

@ -1,86 +1,47 @@
let codeListings = document.querySelectorAll('.highlight > pre'); let codeListings = document.querySelectorAll('.highlight > pre');
for (let index = 0; index < codeListings.length; index++) for (let index = 0; index < codeListings.length; index++) {
{
const codeSample = codeListings[index].querySelector('code'); const codeSample = codeListings[index].querySelector('code');
const copyButton = document.createElement("button"); const copyButton = document.createElement('button');
copyButton.setAttribute('type', 'button'); const buttonAttributes = {
copyButton.onclick = function() { copyCode(codeSample); }; type: 'button',
copyButton.classList.add('fas', 'fa-copy'); title: 'Copy to clipboard',
'data-bs-toggle': 'tooltip',
'data-bs-placement': 'top',
'data-bs-container': 'body',
};
const buttonTooltip = document.createElement('div'); Object.keys(buttonAttributes).forEach((key) => {
buttonTooltip.classList.add('c2c-tooltip'); copyButton.setAttribute(key, buttonAttributes[key]);
buttonTooltip.setAttribute('role', 'tooltip'); });
buttonTooltip.innerHTML += 'Copy to clipboard';
copyButton.classList.add(
'fas',
'fa-copy',
'btn',
'btn-dark',
'btn-sm',
'td-click-to-copy'
);
const tooltip = new bootstrap.Tooltip(copyButton);
copyButton.onclick = () => {
copyCode(codeSample);
copyButton.setAttribute('data-bs-original-title', 'Copied!');
tooltip.show();
};
copyButton.onmouseout = () => {
copyButton.setAttribute('data-bs-original-title', 'Copy to clipboard');
tooltip.hide();
};
const buttonDiv = document.createElement('div'); const buttonDiv = document.createElement('div');
buttonDiv.classList.add('click-to-copy'); buttonDiv.classList.add('click-to-copy');
// Use Popper to create and handle the tooltip behavior.
const popperInstance = Popper.createPopper(copyButton, buttonTooltip,
{
modifiers:
[
{
name: 'offset',
options:
{
offset: [0, -48],
},
},
],
});
copyButton.addEventListener('click', () =>
{
buttonTooltip.innerHTML = 'Copied!';
});
copyButton.addEventListener('mouseenter', () =>
{
buttonTooltip.setAttribute('show-tooltip', '');
// Enable eventListeners when the code block is on the viewport
popperInstance.setOptions((options) => ({
...options,
modifiers:
[
...options.modifiers,
{ name: 'eventListeners', enabled: true },
],
}));
popperInstance.update();
});
copyButton.addEventListener('mouseleave', () =>
{
buttonTooltip.removeAttribute('show-tooltip');
// Reset the message in case the button was clicked
buttonTooltip.innerHTML = 'Copy to clipboard';
// Disble eventListeners when the code block is NOT on the viewport
popperInstance.setOptions((options) => ({
...options,
modifiers:
[
...options.modifiers,
{ name: 'eventListeners', enabled: false },
],
}));
});
buttonDiv.append(copyButton); buttonDiv.append(copyButton);
buttonDiv.append(buttonTooltip);
codeListings[index].insertBefore(buttonDiv, codeSample); codeListings[index].insertBefore(buttonDiv, codeSample);
}
function copyCode(codeSample)
{
navigator.clipboard.writeText(codeSample.textContent.trim());
} }
const copyCode = (codeSample) => {
navigator.clipboard.writeText(codeSample.textContent.trim() + '\n');
};

View file

@ -1,193 +1,183 @@
// Adapted from code by Matt Walters https://www.mattwalters.net/posts/2018-03-28-hugo-and-lunr/ // Adapted from code by Matt Walters https://www.mattwalters.net/posts/2018-03-28-hugo-and-lunr/
(function ($) { (function ($) {
'use strict'; 'use strict';
$(document).ready(function () { $(document).ready(function () {
const $searchInput = $('.td-search input'); const $searchInput = $('.td-search input');
// //
// Options for popover // Register handler
// //
$searchInput.data('html', true); $searchInput.on('change', (event) => {
$searchInput.data('placement', 'bottom'); render($(event.target));
$searchInput.data(
'template',
'<div class="td-offline-search-results popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'
);
// // Hide keyboard on mobile browser
// Register handler $searchInput.blur();
//
$searchInput.on('change', (event) => {
render($(event.target));
// Hide keyboard on mobile browser
$searchInput.blur();
});
// Prevent reloading page by enter key on sidebar search.
$searchInput.closest('form').on('submit', () => {
return false;
});
//
// Lunr
//
let idx = null; // Lunr index
const resultDetails = new Map(); // Will hold the data for the search results (titles and summaries)
// Set up for an Ajax call to request the JSON data file that is created by Hugo's build process
$.ajax($searchInput.data('offline-search-index-json-src')).then(
(data) => {
idx = lunr(function () {
this.ref('ref');
// If you added more searchable fields to the search index, list them here.
// Here you can specify searchable fields to the search index - e.g. individual toxonomies for you project
// With "boost" you can add weighting for specific (default weighting without boost: 1)
this.field('title', { boost: 5 });
this.field('categories', { boost: 3 });
this.field('tags', { boost: 3 });
// this.field('projects', { boost: 3 }); // example for an individual toxonomy called projects
this.field('description', { boost: 2 });
this.field('body');
data.forEach((doc) => {
this.add(doc);
resultDetails.set(doc.ref, {
title: doc.title,
excerpt: doc.excerpt,
});
});
});
$searchInput.trigger('change');
}
);
const render = ($targetSearchInput) => {
// Dispose the previous result
$targetSearchInput.popover('dispose');
//
// Search
//
if (idx === null) {
return;
}
const searchQuery = $targetSearchInput.val();
if (searchQuery === '') {
return;
}
const results = idx
.query((q) => {
const tokens = lunr.tokenizer(searchQuery.toLowerCase());
tokens.forEach((token) => {
const queryString = token.toString();
q.term(queryString, {
boost: 100,
});
q.term(queryString, {
wildcard:
lunr.Query.wildcard.LEADING |
lunr.Query.wildcard.TRAILING,
boost: 10,
});
q.term(queryString, {
editDistance: 2,
});
});
})
.slice(
0,
$targetSearchInput.data('offline-search-max-results')
);
//
// Make result html
//
const $html = $('<div>');
$html.append(
$('<div>')
.css({
display: 'flex',
justifyContent: 'space-between',
marginBottom: '1em',
})
.append(
$('<span>')
.text('Search results')
.css({ fontWeight: 'bold' })
)
.append(
$('<span>')
.addClass('td-offline-search-results__close-button')
)
);
const $searchResultBody = $('<div>').css({
maxHeight: `calc(100vh - ${
$targetSearchInput.offset().top -
$(window).scrollTop() +
180
}px)`,
overflowY: 'auto',
});
$html.append($searchResultBody);
if (results.length === 0) {
$searchResultBody.append(
$('<p>').text(`No results found for query "${searchQuery}"`)
);
} else {
results.forEach((r) => {
const doc = resultDetails.get(r.ref);
const href =
$searchInput.data('offline-search-base-href') +
r.ref.replace(/^\//, '');
const $entry = $('<div>').addClass('mt-4');
$entry.append(
$('<small>').addClass('d-block text-muted').text(r.ref)
);
$entry.append(
$('<a>')
.addClass('d-block')
.css({
fontSize: '1.2rem',
})
.attr('href', href)
.text(doc.title)
);
$entry.append($('<p>').text(doc.excerpt));
$searchResultBody.append($entry);
});
}
$targetSearchInput.on('shown.bs.popover', () => {
$('.td-offline-search-results__close-button').on('click', () => {
$targetSearchInput.val('');
$targetSearchInput.trigger('change');
});
});
$targetSearchInput
.data('content', $html[0].outerHTML)
.popover('show');
};
}); });
// Prevent reloading page by enter key on sidebar search.
$searchInput.closest('form').on('submit', () => {
return false;
});
//
// Lunr
//
let idx = null; // Lunr index
const resultDetails = new Map(); // Will hold the data for the search results (titles and summaries)
// Set up for an Ajax call to request the JSON data file that is created by Hugo's build process
$.ajax($searchInput.data('offline-search-index-json-src')).then((data) => {
idx = lunr(function () {
this.ref('ref');
// If you added more searchable fields to the search index, list them here.
// Here you can specify searchable fields to the search index - e.g. individual toxonomies for you project
// With "boost" you can add weighting for specific (default weighting without boost: 1)
this.field('title', { boost: 5 });
this.field('categories', { boost: 3 });
this.field('tags', { boost: 3 });
// this.field('projects', { boost: 3 }); // example for an individual toxonomy called projects
this.field('description', { boost: 2 });
this.field('body');
data.forEach((doc) => {
this.add(doc);
resultDetails.set(doc.ref, {
title: doc.title,
excerpt: doc.excerpt,
});
});
});
$searchInput.trigger('change');
});
const render = ($targetSearchInput) => {
//
// Dispose existing popover
//
{
let popover = bootstrap.Popover.getInstance($targetSearchInput[0]);
if (popover !== null) {
popover.dispose();
}
}
//
// Search
//
if (idx === null) {
return;
}
const searchQuery = $targetSearchInput.val();
if (searchQuery === '') {
return;
}
const results = idx
.query((q) => {
const tokens = lunr.tokenizer(searchQuery.toLowerCase());
tokens.forEach((token) => {
const queryString = token.toString();
q.term(queryString, {
boost: 100,
});
q.term(queryString, {
wildcard:
lunr.Query.wildcard.LEADING | lunr.Query.wildcard.TRAILING,
boost: 10,
});
q.term(queryString, {
editDistance: 2,
});
});
})
.slice(0, $targetSearchInput.data('offline-search-max-results'));
//
// Make result html
//
const $html = $('<div>');
$html.append(
$('<div>')
.css({
display: 'flex',
justifyContent: 'space-between',
marginBottom: '1em',
})
.append(
$('<span>').text('Search results').css({ fontWeight: 'bold' })
)
.append(
$('<span>').addClass('td-offline-search-results__close-button')
)
);
const $searchResultBody = $('<div>').css({
maxHeight: `calc(100vh - ${
$targetSearchInput.offset().top - $(window).scrollTop() + 180
}px)`,
overflowY: 'auto',
});
$html.append($searchResultBody);
if (results.length === 0) {
$searchResultBody.append(
$('<p>').text(`No results found for query "${searchQuery}"`)
);
} else {
results.forEach((r) => {
const doc = resultDetails.get(r.ref);
const href =
$searchInput.data('offline-search-base-href') +
r.ref.replace(/^\//, '');
const $entry = $('<div>').addClass('mt-4');
$entry.append(
$('<small>').addClass('d-block text-muted').text(r.ref)
);
$entry.append(
$('<a>')
.addClass('d-block')
.css({
fontSize: '1.2rem',
})
.attr('href', href)
.text(doc.title)
);
$entry.append($('<p>').text(doc.excerpt));
$searchResultBody.append($entry);
});
}
$targetSearchInput.one('shown.bs.popover', () => {
$('.td-offline-search-results__close-button').on('click', () => {
$targetSearchInput.val('');
$targetSearchInput.trigger('change');
});
});
const popover = new bootstrap.Popover($targetSearchInput, {
content: $html[0],
html: true,
customClass: 'td-offline-search-results',
placement: 'bottom',
});
popover.show();
};
});
})(jQuery); })(jQuery);

View file

@ -14,30 +14,26 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
(function($) { (function ($) {
'use strict';
'use strict'; var Search = {
init: function () {
$(document).ready(function () {
$(document).on('keypress', '.td-search input', function (e) {
if (e.keyCode !== 13) {
return;
}
var Search = { var query = $(this).val();
init: function() { var searchPage = '{{ "search/" | absURL }}?q=' + query;
$(document).ready(function() { document.location = searchPage;
$(document).on('keypress', '.td-search input', function(e) {
if (e.keyCode !== 13) {
return
}
var query = $(this).val(); return false;
var searchPage = "{{ "search/" | absURL }}?q=" + query; });
document.location = searchPage; });
},
};
return false; Search.init();
}); })(jQuery);
});
},
};
Search.init();
}(jQuery));

View file

@ -1,20 +1,20 @@
// Style alert boxes. // Style alert boxes.
.alert { .alert {
font-weight: $font-weight-medium; font-weight: $font-weight-medium;
background: $white; background: $white;
color: inherit; color: inherit;
border-radius: 0; border-radius: 0;
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
&-#{$color} { &-#{$color} {
& .alert-heading { & .alert-heading {
color: $value; color: $value;
} }
border-style: solid; border-style: solid;
border-color: $value; border-color: $value;
border-width: 0 0 0 4px; border-width: 0 0 0 4px;
}
} }
}
} }

View file

@ -1,14 +1,29 @@
.td-blog { .td-blog {
.td-rss-button { .td-rss-button {
@extend .btn; @extend .btn;
@extend .btn-info;
@extend .btn-lg; @extend .btn-lg;
@extend .-bg-orange;
position: absolute; border-radius: 2rem;
right: 1rem; float: right;
z-index: 22;
display: none; display: none;
@extend .d-lg-block; @extend .d-lg-block;
} }
&-posts-list {
@extend .list-unstyled;
margin-top: map-get($spacers, 4) !important;
&__item {
display: flex;
align-items: flex-start;
margin-bottom: map-get($spacers, 4) !important;
&__body {
flex: 1;
}
}
}
} }

View file

@ -1,127 +1,118 @@
// Boxes on the home page and similar. // Boxes on the home page and similar: .td-box
.td-box {}
// box-variant creates the main style for a colored section used on the site. // box-variant creates the main style for a colored section
@mixin box-variant($parent, $color-name, $color-value) { @mixin box-variant($parent, $color-name, $color-value) {
$text-color: color-yiq($color-value); $text-color: color-contrast($color-value);
$link-color: mix($blue, $text-color, lightness($color-value)); $link-color: mix($blue, $text-color, lightness($color-value));
$link-hover-color: rgba($link-color, 0.5) !default; $link-hover-color: if(
color-contrast($link-color) == $color-contrast-light,
shade-color($link-color, $link-shade-percentage),
tint-color($link-color, $link-shade-percentage)
);
#{$parent} { #{$parent} {
&--#{$color-name} { &--#{$color-name} {
color: $text-color; color: $text-color;
background-color: #{$color-value}; background-color: #{$color-value};
.td-arrow-down { .td-arrow-down {
&::before { &::before {
left: 50%; left: 50%;
margin-left: -30px; margin-left: -30px;
bottom: -25px; bottom: -25px;
border: { border: {
style: solid; style: solid;
width: 25px 30px 0 30px; width: 25px 30px 0 30px;
color: #{$color-value} transparent transparent transparent; color: #{$color-value} transparent transparent transparent;
}; }
z-index: 3; z-index: 3;
position: absolute; position: absolute;
content: ""; content: "";
}
}
} }
}
} }
}
// Improve contrast for the links in paragraphs. // Improve contrast for the links in paragraphs.
@include link-variant("#{$parent}--#{$color-name} p > a", $link-color, $link-hover-color, false); @include link-variant(
"#{$parent}--#{$color-name} p > a, #{$parent}--#{$color-name} span > a",
@if $enable-gradients { $link-color,
@include bg-gradient-variant("#{$parent}--1#{$color-name}#{$parent}--gradient", $color-value, true); $link-hover-color,
} false
);
} }
// Common min-height modifiers used for boxes. // Common min-height modifiers used for boxes.
@mixin td-box-height-modifiers($parent) { @mixin td-box-height-modifiers($parent) {
#{$parent} { #{$parent} {
&--height-auto {} &--height-min {
min-height: 300px;
&--height-min {
min-height: 300px;
}
&--height-med {
min-height: 400px;
}
&--height-max {
min-height: 500px;
}
&--height-full {
min-height: 100vh;
}
@include media-breakpoint-up(md) {
&--height-min {
min-height: 450px;
}
&--height-med {
min-height: 500px;
}
&--height-max {
min-height: 650px;
}
}
} }
&--height-med {
min-height: 400px;
}
&--height-max {
min-height: 500px;
}
&--height-full {
min-height: 100vh;
}
@include media-breakpoint-up(md) {
&--height-min {
min-height: 450px;
}
&--height-med {
min-height: 500px;
}
&--height-max {
min-height: 650px;
}
}
}
} }
@include td-box-height-modifiers(".td-box"); @include td-box-height-modifiers(".td-box");
// Styling for section boxes // Styling for section boxes
.td-box { .td-box {
.row.section {
padding-left: 5vw;
padding-right: 5vw;
flex-direction: column;
> table {
@extend .table-striped;
@extend .table-responsive;
@extend .table;
}
}
.row { .row {
padding-left: 5vw; padding-left: 5vw;
padding-right: 5vw; padding-right: 5vw;
flex-direction: row; }
table {
@extend .td-table;
} }
} }
// Styling for community page link boxes // Styling for community page link boxes
.td-box.linkbox { .td-box.linkbox {
padding: 5vh 5vw; padding: 5vh 5vw;
} }
// This allows "painting by numbers" // This allows "painting by numbers"
@for $i from 1 through length($td-box-colors) { @for $i from 1 through length($td-box-colors) {
$c: nth($td-box-colors, $i); $c: nth($td-box-colors, $i);
$name: $i - 1; $name: $i - 1;
@include box-variant(".td-box", $name, $c); @include box-variant(".td-box", $name, $c);
} }
// Same as above with all the theme color names. // Same as above with all the theme color names.
@each $color, $value in $colors { @each $color, $value in $colors {
@include box-variant(".td-box", $color, $value); @include box-variant(".td-box", $color, $value);
} }
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
@include box-variant(".td-box", $color, $value); @include box-variant(".td-box", $color, $value);
} }
@each $color, $value in $grays { @each $color, $value in $grays {
@include box-variant(".td-box", $color, $value); @include box-variant(".td-box", $color, $value);
} }

View file

@ -1,7 +1,9 @@
// Breadcrumb // Breadcrumb
.td-breadcrumbs { .td-breadcrumbs {
@media print {display: none !important; } @media print {
display: none !important;
}
.breadcrumb { .breadcrumb {
background: inherit; background: inherit;

View file

@ -1,15 +0,0 @@
// Buttons
@if $enable-rounded {
.btn {
border-radius: 1rem;
&-lg {
border-radius: 2rem;
}
&-sm {
border-radius: 1rem;
}
}
}

View file

@ -1,101 +1,86 @@
// Code formatting. // Code formatting.
.td-content { .td-content {
// Highlighted code. // Highlighted code.
.highlight { .highlight {
@extend .card; @extend .card;
margin: 2rem 0; margin: 2rem 0;
padding: 0; padding: 0;
position: relative; position: relative;
.click-to-copy { .click-to-copy {
display: block; display: block;
text-align: right; text-align: right;
height: 1ex;
}
pre {
margin: 0;
padding: 1rem;
// Default click-to-copy button
button {
position: absolute;
color: $gray-400;
border-radius: 3px;
border-width: 0;
background-color: inherit;
box-shadow: 1px 1px $gray-400;
right: 8px;
top: 6px;
&:hover {
color: $dark;
background-color: $gray-400;
}
&:active {
color: $dark;
background-color: $gray-400;
transform: translateY(2px);
}
}
.c2c-tooltip {
background: $dark;
color: $white;
padding: 2px 4px;
border-radius: 3px;
display: block;
visibility: hidden;
opacity: 0;
transition: visibility 0s, opacity 0.5s linear;
}
.c2c-tooltip[show-tooltip] {
visibility: visible;
opacity: 1;
}
}
} }
// Inline code
p code, li > code, table code {
color: inherit;
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
word-break: normal;
background-color: rgba($black, 0.05);
border-radius: $border-radius;
br {
display: none;
}
}
// Code blocks
pre { pre {
word-wrap: normal; margin: 0;
background-color: $gray-100; padding: 1rem;
padding: $spacer; border-radius: inherit;
// Default click-to-copy button
> code { button.td-click-to-copy {
background-color: inherit !important; position: absolute;
padding: 0; color: $gray-400;
margin: 0; border-radius: 3px;
font-size: 100%; border-width: 0;
word-break: normal;
white-space: pre;
border: 0;
}
}
pre.mermaid {
background-color: inherit; background-color: inherit;
font-size: 0; box-shadow: 1px 1px $gray-400;
right: 4px;
top: 2px;
&:hover {
color: $dark;
background-color: $gray-400;
}
&:active {
color: $dark;
background-color: $gray-400;
transform: translateY(2px);
}
}
} }
}
// Inline code
p code,
li > code,
table code {
color: inherit;
padding: 0.2em 0.4em;
margin: 0;
font-size: 85%;
word-break: normal;
background-color: rgba($black, 0.05);
border-radius: $border-radius;
br {
display: none;
}
}
// Code blocks
pre {
word-wrap: normal;
background-color: $gray-100;
padding: $spacer;
> code {
background-color: inherit !important;
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
border: 0;
}
}
pre.mermaid {
background-color: inherit;
font-size: 0;
padding: 0;
}
} }

View file

@ -1,41 +1,45 @@
// Add some local palette classes so you can do -bg-warning -text-warning etc. Even -bg-1 if you want to paint by numbers. // Add some local palette classes so you can do -bg-warning -text-warning etc. Even -bg-1 if you want to paint by numbers.
@mixin palette-variant($color-name, $color-value) { @mixin palette-variant($color-name, $color-value) {
$text-color: color-yiq($color-value); $text-color: color-contrast($color-value);
$link-color: mix($blue, $text-color, lightness($color-value)); $link-color: mix($blue, $text-color, lightness($color-value));
$link-hover-color: rgba($link-color, .5) !default; $link-hover-color: rgba($link-color, 0.5) !default;
.-bg-#{$color-name} { .-bg-#{$color-name} {
color: $text-color; color: $text-color;
background-color: $color-value; background-color: $color-value;
} }
// Make links in paragraphs stand out more. // Make links in paragraphs stand out more.
@include link-variant(".-bg-#{$color-name} p > a", $link-color, $link-hover-color, false); @include link-variant(
".-bg-#{$color-name} p:not(.p-initial) > a",
$link-color,
$link-hover-color,
false
);
.-text-#{$color-name} {
.-text-#{$color-name} { color: $color-value;
color: $color-value; }
}
} }
@each $color, $value in $colors { @each $color, $value in $colors {
@include palette-variant($color, $value); @include palette-variant($color, $value);
} }
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
@include palette-variant($color, $value); @include palette-variant($color, $value);
} }
@each $color, $value in $grays { @each $color, $value in $grays {
@include palette-variant($color, $value); @include palette-variant($color, $value);
} }
// This allows "painting by numbers", i.e. picking colors by a shortcode Ordinal. // This allows "painting by numbers", i.e. picking colors by a shortcode Ordinal.
@for $i from 1 through length($td-box-colors) { @for $i from 1 through length($td-box-colors) {
$value: nth($td-box-colors, $i); $value: nth($td-box-colors, $i);
$name: $i - 1; $name: $i - 1;
$text-color: color-yiq($value); $text-color: color-contrast($value);
@include palette-variant($name, $value); @include palette-variant($name, $value);
} }

View file

@ -3,80 +3,118 @@
// //
.td-content { .td-content {
order: 1; order: 1;
p, li, td { p,
font-weight: $font-weight-body-text; li,
} td {
font-weight: $font-weight-body-text;
}
> h1 { > h1 {
font-weight: $font-weight-bold; font-weight: $font-weight-bold;
margin-bottom: 1rem; margin-bottom: 1rem;
} }
> h2 { > h2 {
margin-bottom: 1rem; margin-bottom: 1rem;
} }
> h2:not(:first-child) { > h2:not(:first-child) {
margin-top: 3rem; margin-top: 3rem;
} }
> h2 + h3 { > h2 + h3 {
margin-top: 1rem; margin-top: 1rem;
} }
> h3, > h4, > h5, > h6 { > h3,
margin-bottom: 1rem; > h4,
margin-top: 2rem; > h5,
} > h6 {
margin-bottom: 1rem;
margin-top: 2rem;
}
img { img {
@extend .img-fluid; @extend .img-fluid;
} }
table { table {
@extend .table-striped; @extend .td-table;
}
@extend .table-responsive; blockquote {
padding: 0 0 0 1rem;
margin-bottom: $spacer;
color: $gray-600;
border-left: 6px solid $secondary;
}
@extend .table; ul li,
} ol li {
margin-bottom: 0.25rem;
}
blockquote { strong {
padding: 0 0 0 1rem; font-weight: $font-weight-bold;
margin-bottom: $spacer; }
color: $gray-600;
border-left: 6px solid $secondary;
}
ul li, ol li { .footnotes,
margin-bottom: .25rem; > .alert,
} > .highlight,
> .lead,
> .td-table,
> blockquote,
> dl dd,
> h1,
> h2,
> ol,
> p,
> pre,
> ul {
@extend .td-max-width-on-larger-screens;
}
strong { .alert:not(:first-child) {
font-weight: $font-weight-bold; margin-top: 2 * $spacer;
} margin-bottom: 2 * $spacer;
}
> pre, > .highlight, > .lead, > h1, > h2, > ul, > ol, > p, > blockquote, > dl dd, .footnotes, > .alert { .lead {
@extend .td-max-width-on-larger-screens; margin-bottom: 1.5rem;
} }
.alert:not(:first-child) {
margin-top: 2 * $spacer;
margin-bottom: 2 * $spacer;
}
.lead {
margin-bottom: 1.5rem;
}
} }
.td-title { .td-title {
margin-top: 1rem; margin-top: 1rem;
margin-bottom: .5rem; margin-bottom: 0.5rem;
@include media-breakpoint-up(sm) { @include media-breakpoint-up(sm) {
font-size: 3rem; font-size: 3rem;
} }
}
.td-heading-self-link {
&:before {
content: '#';
}
font-size: 90%;
padding-left: 0.25em;
text-decoration: none;
visibility: hidden;
// Always visible on touch devices and small screens
@media (hover: none) and (pointer: coarse),
(max-width: map-get($grid-breakpoints, sm)) {
visibility: visible;
}
}
@for $i from 1 through 6 {
h#{$i}:hover > .td-heading-self-link {
visibility: visible;
}
} }

View file

@ -1,40 +1,39 @@
div.drawio { div.drawio {
display: inline-block; display: inline-block;
position: relative; position: relative;
button { button {
position: absolute; @extend .btn;
font-size: 0.8em; @extend .btn-outline-primary;
bottom: 5px; position: absolute;
right: 5px; bottom: 5px;
background-color: rgba($secondary, .8); right: 5px;
color: $primary-light; padding: 0.4em 0.5em;
padding: 0.4em 0.5em; font-size: 0.8em;
display: none; display: none;
} }
&:hover button { &:hover button {
display: inline; display: inline;
} }
} }
div.drawioframe { div.drawioframe {
position: fixed; position: fixed;
height: 100%; height: 100%;
width: 100%; width: 100%;
top: 0; top: 0;
left: 0px; left: 0px;
z-index: 1000; z-index: 1000;
background: #000b; background: #000b;
border: 0; border: 0;
iframe { iframe {
position: absolute; position: absolute;
height: 90%; height: 90%;
width: 90%; width: 90%;
top: 5%; top: 5%;
left: 5%; left: 5%;
z-index: 1010; z-index: 1010;
} }
} }

View file

@ -1,32 +1,34 @@
// The outer page container i.e. common styles for any page. // The outer page container i.e. common styles for any page.
.td-outer { .td-outer {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
height: 100vh; min-height: 100vh;
} }
// The outer page container for the default base template. // The outer page container for the default base template.
.td-default { .td-default {
main { main {
> section:first-of-type { > section:first-of-type {
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
padding-top: 8rem; padding-top: 8rem;
} }
}
section {
@extend .td-block-padding;
}
} }
section {
@extend .td-block-padding;
}
}
} }
.td-main { .td-main {
flex-grow: 1; flex-grow: 1;
} }
.td-404 main, .td-404 main,
.td-main main { .td-main main {
padding-top: 1.5rem; padding-top: 1.5rem;
padding-bottom: 2rem; padding-bottom: 2rem;
@include media-breakpoint-up(md) { padding-top: 5.5rem; } @include media-breakpoint-up(md) {
padding-top: 5.5rem;
}
} }

View file

@ -3,203 +3,211 @@
// //
.td-navbar-cover { .td-navbar-cover {
background: $primary; @include media-breakpoint-up(md) {
background: transparent !important;
@include media-breakpoint-up(md) {
background: transparent !important;
.nav-link {
text-shadow: 1px 1px 2px $dark;
}
.nav-link {
text-shadow: 1px 1px 2px $dark;
} }
}
&.navbar-bg-onscroll .nav-link { &.navbar-bg-onscroll .nav-link {
text-shadow: none; text-shadow: none;
} }
} }
.navbar-bg-onscroll { .navbar-bg-onscroll {
background: $primary !important; background: $primary !important;
opacity: inherit; opacity: inherit;
} }
.td-navbar { .td-navbar {
background: $primary; @extend .navbar;
min-height: 4rem; @extend .navbar-expand;
margin: 0;
z-index: 32;
@include media-breakpoint-up(md) { background: $primary;
position: fixed; min-height: 4rem;
top: 0; margin: 0;
width: 100%; z-index: 32;
.navbar-brand {
text-transform: none;
&__name {
font-weight: $font-weight-bold;
}
svg {
display: inline-block;
margin: 0 10px;
height: 30px;
}
}
.navbar-nav {
padding-top: $spacer * 0.5;
white-space: nowrap;
}
.nav-link {
text-transform: none;
font-weight: $font-weight-bold;
}
// For .td-search__input styling, see _search.scss
.dropdown {
min-width: 100px;
}
@include media-breakpoint-up(md) {
position: fixed;
top: 0;
width: 100%;
.nav-item {
padding-inline-end: $spacer * 0.5;
}
.navbar-nav {
padding-top: 0 !important;
}
}
@include media-breakpoint-down(lg) {
.td-navbar-nav-scroll {
max-width: 100%;
height: 2.5rem;
overflow: hidden;
font-size: 0.9rem;
} }
.navbar-brand { .navbar-brand {
text-transform: none; margin-right: 0;
text-align: middle;
&__name {
font-weight: $font-weight-bold;
}
svg {
display: inline-block;
margin: 0 10px;
height: 30px;
}
} }
.nav-link { .navbar-nav {
text-transform: none; padding-bottom: 2rem;
font-weight: $font-weight-bold; overflow-x: auto;
}
// For .td-search__input styling, see _search.scss
.dropdown {
min-width: 100px;
}
@include media-breakpoint-down(md) {
padding-right: .5rem;
padding-left: .75rem;
.td-navbar-nav-scroll {
max-width: 100%;
height: 2.5rem;
margin-top: .25rem;
overflow: hidden;
font-size: .875rem;
.nav-link {
padding-right: .25rem;
padding-left: 0;
}
.navbar-nav {
padding-bottom: 2rem;
overflow-x: auto;
white-space: nowrap;
-webkit-overflow-scrolling: touch;
}
}
} }
}
} }
// Icons // Icons
#main_navbar { #main_navbar {
li i { li i {
padding-right: 0.5em; padding-right: 0.5em;
&:before { &:before {
display: inline-block; display: inline-block;
text-align: center; text-align: center;
min-width: 1em; min-width: 1em;
}
} }
}
.alert { .alert {
background-color: inherit; background-color: inherit;
padding:0; padding: 0;
color: $secondary; color: $secondary;
border: 0; border: 0;
font-weight: inherit; font-weight: inherit;
&:before { &:before {
display: inline-block; display: inline-block;
font-style: normal; font-style: normal;
font-variant: normal; font-variant: normal;
text-rendering: auto; text-rendering: auto;
-webkit-font-smoothing: antialiased; -webkit-font-smoothing: antialiased;
font-family: $font-awesome-font-name; font-family: $font-awesome-font-name;
font-weight: 900; font-weight: 900;
content: "\f0d9"; content: "\f0d9";
padding-left: 0.5em; padding-left: 0.5em;
padding-right: 0.5em; padding-right: 0.5em;
}
} }
}
} }
// Foldable sidebar menu // Foldable sidebar menu
nav.foldable-nav { nav.foldable-nav {
&#td-section-nav {
position: relative;
}
&#td-section-nav { &#td-section-nav label {
position: relative; margin-bottom: 0;
width: 100%;
}
.td-sidebar-nav__section,
.with-child ul {
list-style: none;
padding: 0;
margin: 0;
}
.ul-1 > li {
padding-left: 1.5em;
}
ul.foldable {
display: none;
}
input:checked ~ ul.foldable {
display: block;
}
input[type="checkbox"] {
display: none;
}
.with-child,
.without-child {
position: relative;
padding-left: 1.5em;
}
.ul-1 .with-child > label:before {
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
font-family: $font-awesome-font-name;
font-weight: 900;
content: "\f0da";
position: absolute;
left: 0.1em;
padding-left: 0.4em;
padding-right: 0.4em;
font-size: 1em;
color: $gray-900;
transition: all 0.5s;
&:hover {
transform: rotate(90deg);
} }
}
&#td-section-nav label { .ul-1 .with-child > input:checked ~ label:before {
margin-bottom: 0; color: $primary;
width: 100%; transform: rotate(90deg);
} transition: transform 0.5s;
}
.td-sidebar-nav__section, .with-child ul {
list-style: none;
padding: 0;
margin: 0;
}
.ul-1 > li {
padding-left: 1.5em;
}
ul.foldable {
display: none;
}
input:checked ~ ul.foldable {
display: block;
}
input[type=checkbox] { display: none; }
.with-child, .without-child {
position: relative;
padding-left: 1.5em;
}
.ul-1 .with-child > label:before {
display: inline-block;
font-style: normal;
font-variant: normal;
text-rendering: auto;
-webkit-font-smoothing: antialiased;
font-family: $font-awesome-font-name; font-weight: 900; content: "\f0da";
position: absolute;
left: 0.1em;
padding-left: 0.4em;
padding-right: 0.4em;
font-size: 1em;
color: $gray-900;
transition: all 0.5s;
&:hover{
transform: rotate(90deg);
}
}
.ul-1 .with-child > input:checked ~ label:before {
color: $primary;
transform: rotate(90deg);
transition: transform 0.5s;
}
.with-child ul { margin-top: 0.1em; }
.with-child ul {
margin-top: 0.1em;
}
} }
@media (hover: hover) and (pointer: fine) { @media (hover: hover) and (pointer: fine) {
nav.foldable-nav {
nav.foldable-nav { .ul-1 .with-child > label:hover:before {
color: $primary;
.ul-1 .with-child > label:hover:before { transition: color 0.3s;
color: $primary;
transition: color 0.3s;
}
.ul-1 .with-child > input:checked ~ label:hover:before {
color: $primary;
transition: color 0.3s;
}
} }
.ul-1 .with-child > input:checked ~ label:hover:before {
color: $primary;
transition: color 0.3s;
}
}
} }

View file

@ -1,18 +1,25 @@
.pageinfo { .pageinfo {
font-weight: $font-weight-medium; font-weight: $font-weight-medium;
background: $gray-100; background: $gray-100;
color: inherit; color: inherit;
border-radius: 0; border-radius: 0;
margin: 2rem; margin: 2rem;
padding: 1.5rem; padding: 1.5rem;
padding-bottom: 0.5rem; padding-bottom: 0.5rem;
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
&-#{$color} { &-#{$color} {
border-style: solid;
border-style: solid; border-color: $value;
border-color: $value;
}
} }
}
}
.td-page-meta {
&__lastmod {
@extend .text-muted;
@extend .border-top;
margin-top: map-get($spacers, 5) !important;
padding-top: map-get($spacers, 3) !important;
}
} }

View file

@ -1,120 +1,122 @@
// Search // Search
.td-search { .td-search {
background: transparent; background: transparent;
position: relative; position: relative;
width: 90%; width: 100%;
// Search icon // Search icon
&__icon { &__icon {
// Vertically center the content. // Vertically center the content.
display: flex; display: flex;
align-items: center; align-items: center;
height: 100%; height: 100%;
// Position this on the left of the input. // Position this on the left of the input.
position: absolute; position: absolute;
left: 0.75em; left: 0.75em;
// Click-through to the underlying input. // Click-through to the underlying input.
pointer-events: none; pointer-events: none;
&:before { &:before {
@extend .fa; @extend .fa;
content: fa-content($fa-var-search); content: fa-content($fa-var-search);
}
// Styling adjustments for the navbar
@at-root {
.td-navbar & {
color: $navbar-dark-color;
}
}
} }
// Search input element // Styling adjustments for the navbar
&__input { @at-root {
width: 100%; .td-navbar & {
text-indent: 1.25em; color: $navbar-dark-color;
}
}
}
@if $enable-rounded { // Search input element
border-radius: 1rem; &__input {
} width: 100%;
text-indent: 1.25em;
&:not(:focus) {
background: transparent;
}
&.form-control:focus {
border-color: lighten($primary, 60%);
box-shadow: 0 0 0 2px lighten($primary, 30%);
color: inherit;
}
// Styling adjustments for the navbar
@at-root {
.td-navbar & {
border: none;
color: $navbar-dark-color;
@include placeholder {
color: $navbar-dark-color;
}
}
}
&:not(:focus) {
background: transparent;
} }
// Hide icon on focus &.form-control:focus {
&:focus-within { border-color: tint-color($primary, 95%);
box-shadow: 0 0 0 2px tint-color($primary, 40%);
.td-search__icon { color: inherit;
display: none;
}
.td-search-input {
text-indent: 0px;
}
} }
&:not(:focus-within) { // Styling adjustments for the navbar
color: $input-placeholder-color; @at-root {
.td-navbar & {
border: none;
color: $navbar-dark-color;
@include placeholder {
color: $navbar-dark-color;
}
}
} }
}
// Hide icon on focus
&:focus-within {
.td-search__icon {
display: none;
}
.td-search-input {
text-indent: 0px;
}
}
&:not(:focus-within) {
color: $input-placeholder-color;
}
}
.td-sidebar .td-search--algolia {
display: block;
padding: 0 0.5rem;
> button {
margin: 0;
width: 100%;
}
} }
// Offline search // Offline search
.td-search--offline { .td-search--offline {
&:focus-within {
// Don't hide the search icon on focus: this gives better UX when user
// explores content of search-results popup and focus is lost.
&:focus-within { .td-search__icon {
// Don't hide the search icon on focus: this gives better UX when user display: flex;
// explores content of search-results popup and focus is lost. color: $input-placeholder-color;
.td-search__icon {
display: flex;
color: $input-placeholder-color;
}
} }
}
} }
.td-offline-search-results { .td-offline-search-results {
max-width: 90%; max-width: 90%;
.card { .card {
margin-bottom: $spacer * .5; margin-bottom: $spacer * 0.5;
.card-header { .card-header {
font-weight: bold; font-weight: bold;
}
} }
}
&__close-button { &__close-button {
// cursor: pointer; // cursor: pointer;
float: right; float: right;
&:after { &:after {
@extend .fas; @extend .fas;
content: fa-content($fa-var-times); content: fa-content($fa-var-times);
}
} }
}
} }

View file

@ -2,61 +2,60 @@
// Right side toc // Right side toc
// //
.td-sidebar-toc { .td-sidebar-toc {
border-left: 1px solid $border-color; @include link-decoration;
@supports (position: sticky) { border-left: 1px solid $border-color;
position: sticky;
top: 4rem;
height: calc(100vh - 4rem);
overflow-y: auto;
}
order: 2; @supports (position: sticky) {
padding-top: 0.75rem; position: sticky;
padding-bottom: 1.5rem; top: 4rem;
vertical-align: top; height: calc(100vh - 4rem);
overflow-y: auto;
}
} order: 2;
padding-top: 0.75rem;
padding-bottom: 1.5rem;
vertical-align: top;
.td-page-meta { .td-page-meta a {
a { display: block;
display: block; font-weight: $font-weight-medium;
font-weight: $font-weight-medium; }
}
} }
.td-toc { .td-toc {
a {
display: block;
font-weight: $font-weight-light;
padding-bottom: 0.25rem;
}
li {
list-style: none;
display: block;
}
li li {
margin-left: 0.5rem;
}
#TableOfContents {
// Hugo's ToC is a mouthful, this can be used to style the top level h2 entries.
> ul > li > ul > li > a {
}
a { a {
display: block; color: $gray-600;
font-weight: $font-weight-light;
padding-bottom: .25rem; &:focus,
&:hover {
color: initial;
}
} }
}
li { ul {
list-style: none; padding-left: 0;
display: block; }
}
li li {
margin-left: 0.5rem;
}
#TableOfContents {
// Hugo's ToC is a mouthful, this can be used to style the top level h2 entries.
> ul > li > ul > li > a {}
a {
color: $gray-600;
&:hover {
color: $blue;
text-decoration: none;
}
}
}
ul {
padding-left: 0;
}
} }

View file

@ -2,161 +2,179 @@
// Left side navigation // Left side navigation
// //
.td-sidebar-nav { .td-sidebar-nav {
padding-right: 0.5rem; $_max-height: calc(100vh - 8.5rem);
margin-right: -15px;
margin-left: -15px; padding-right: 0.5rem;
margin-right: -15px;
margin-left: -15px;
@include media-breakpoint-up(md) {
@supports (position: sticky) {
max-height: $_max-height;
overflow-y: auto;
}
}
// Adjust height and padding when sidebar_search_disable is true, but only for
// >= `lg` views, because on tablet (`md`) and mobile (<= `sm`), the search
// box is displayed regardless of the value of sidebar_search_disable:
&.td-sidebar-nav--search-disabled {
@include media-breakpoint-up(lg) {
// There's no search box so add top padding
// and adjust max-height:
padding-top: 1rem;
@supports (position: sticky) {
max-height: calc(#{$_max-height} + 4.5rem);
}
}
}
@include media-breakpoint-up(md) {
display: block !important;
}
&__section {
li {
list-style: none;
}
&.ul-0, ul {
padding: 0;
margin: 0;
}
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
@supports (position: sticky) { & .ul-1 ul {
max-height: calc(100vh - 10rem); padding-left: 1.5em;
overflow-y: auto; }
}
} }
padding-left: 0;
}
@include media-breakpoint-up(md) { &__section-title {
display: block !important; display: block;
} font-weight: $font-weight-medium;
.active {
&__section { font-weight: $font-weight-bold;
li {
list-style: none;
}
ul {
padding: 0;
margin: 0;
}
@include media-breakpoint-up(md) {
& .ul-1 ul {
padding-left: 1.5em;
}
}
padding-left: 0;
}
&__section-title {
display: block;
font-weight: $font-weight-medium;
.active {
font-weight: $font-weight-bold;
}
a {
color: $gray-900;
}
}
.td-sidebar-link {
display: block;
padding-bottom: 0.375rem;
&__page {
color: $gray-700;
font-weight: $font-weight-light;
}
} }
a { a {
&:hover { color: $gray-900;
color: $blue; }
text-decoration: none; }
}
&.active { .td-sidebar-link {
font-weight: $font-weight-bold; display: block;
} padding-bottom: 0.375rem;
&__page {
color: $gray-700;
font-weight: $font-weight-light;
}
}
a {
&:focus,
&:hover {
color: $link-color;
} }
.dropdown { &.active {
a { font-weight: $font-weight-bold;
color: $gray-700; }
} }
.nav-link { .dropdown {
padding: 0 0 1rem; a {
} color: $gray-700;
} }
& > .td-sidebar-nav__section { .nav-link {
padding-top: .5rem; padding: 0 0 1rem;
padding-left: 1.5rem;
} }
}
li i { // Layout of icons & > .td-sidebar-nav__section {
padding-right: 0.5em; padding-left: 1.5rem;
&:before{ }
display: inline-block;
text-align: center;
min-width: 1em;
}
}
.td-sidebar-link.tree-root{ li i {
font-weight: $font-weight-bold; // Layout of icons
color: $td-sidebar-tree-root-color; padding-right: 0.5em;
border-bottom: 1px $td-sidebar-tree-root-color solid; &:before {
margin-bottom: 1rem; display: inline-block;
text-align: center;
min-width: 1em;
} }
}
.td-sidebar-link.tree-root {
font-weight: $font-weight-bold;
color: $td-sidebar-tree-root-color;
border-bottom: 1px $td-sidebar-tree-root-color solid;
margin-bottom: 1rem;
}
} }
.td-sidebar { .td-sidebar {
@include link-decoration;
@include media-breakpoint-up(md) {
padding-top: 4rem;
background-color: $td-sidebar-bg-color;
padding-right: 1rem;
border-right: 1px solid $td-sidebar-border-color;
}
padding-bottom: 1rem;
&__toggle {
line-height: 1;
color: $gray-900;
margin: 1rem;
}
&__search {
padding: 1rem 0;
}
&__inner {
order: 0;
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
padding-top: 4rem; @supports (position: sticky) {
background-color: $td-sidebar-bg-color; position: sticky;
padding-right: 1rem; top: 4rem;
border-right: 1px solid $td-sidebar-border-color; z-index: 10;
height: calc(100vh - 5rem);
}
} }
@include media-breakpoint-up(xl) {
padding-bottom: 1rem; flex: 0 1 320px;
&__toggle {
line-height: 1;
color: $gray-900;
margin: 1rem;
} }
&__search { .td-search-box {
padding: 1rem 15px; width: 100%;
margin-right: -15px;
margin-left: -15px;
} }
}
&__inner { #content-desktop {
order: 0; display: block;
}
#content-mobile {
display: none;
}
@include media-breakpoint-up(md) { @include media-breakpoint-down(lg) {
@supports (position: sticky) { #content-desktop {
position: sticky; display: none;
top: 4rem;
z-index: 10;
height: calc(100vh - 6rem);
}
}
@include media-breakpoint-up(xl) {
flex: 0 1 320px;
}
.td-search-box {
width: 100%;
}
} }
#content-mobile {
#content-desktop {display: block;} display: block;
#content-mobile {display: none;}
@include media-breakpoint-down(md) {
#content-desktop {display: none;}
#content-mobile {display: block;}
} }
}
} }

View file

@ -0,0 +1,3 @@
.swagger-ui .info .title small pre {
background: #7d8492;
}

View file

@ -0,0 +1,9 @@
.td-table:not(.td-initial) {
@extend .table;
@extend .table-striped;
@extend .table-responsive;
// The following is needed for tables to be responsive.
// For details, see the https://docsy.dev/docs/adding-content/lookandfeel/#tables
display: block;
}

View file

@ -50,14 +50,12 @@
} }
.taxo-text-tags { .taxo-text-tags {
li + li::before { li + li::before {
content: none; content: none;
} }
} }
.taxo-fruits { .taxo-fruits {
.taxonomy-count, .taxonomy-count,
.taxonomy-label { .taxonomy-label {
display: inherit; display: inherit;
@ -125,15 +123,15 @@
margin: 0 0.5em 0.2em 0; margin: 0 0.5em 0.2em 0;
text-decoration: none; text-decoration: none;
-webkit-transition: color 0.2s; -webkit-transition: color 0.2s;
-webkit-clip-path: polygon(100% 0,100% 100%,0.8em 100%,0 50%,0.8em 0); -webkit-clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0);
clip-path: polygon(100% 0,100% 100%,0.8em 100%,0 50%,0.8em 0); clip-path: polygon(100% 0, 100% 100%, 0.8em 100%, 0 50%, 0.8em 0);
&:hover { &:hover {
background-color: $primary; background-color: $primary;
color: $white; color: $white;
.taxonomy-count{ .taxonomy-count {
color: $dark!important; color: $dark !important;
} }
} }
@ -144,7 +142,6 @@
// Example for simple tags layout // Example for simple tags layout
.taxo-text-tags { .taxo-text-tags {
.taxonomy-term { .taxonomy-term {
background: none; background: none;
border-width: 0; border-width: 0;
@ -165,8 +162,8 @@
background: none; background: none;
color: $link-color; color: $link-color;
.taxonomy-count{ .taxonomy-count {
color: $dark!important; color: $dark !important;
} }
} }
@ -201,7 +198,6 @@
// Example for icon tags // Example for icon tags
.taxo-fruits { .taxo-fruits {
.taxonomy-term[data-taxonomy-term]::before { .taxonomy-term[data-taxonomy-term]::before {
font-style: normal; font-style: normal;
font-variant: normal; font-variant: normal;
@ -254,8 +250,8 @@
background: none; background: none;
color: $link-color; color: $link-color;
.taxonomy-count{ .taxonomy-count {
color: $dark!important; color: $dark !important;
} }
} }
@ -333,16 +329,16 @@
.article-teaser { .article-teaser {
&.card { &.card {
padding: 1.0em; padding: 1em;
margin-bottom: 1.5em; margin-bottom: 1.5em;
} }
.breadcrumb { .breadcrumb {
margin-bottom: 0em; margin-bottom: 0em;
font-size: 0.85rem; font-size: 0.85rem;
} }
.article-meta { .article-meta {
margin-bottom: 0em; margin-bottom: 0em;
} }
} }

View file

@ -1,45 +1,23 @@
/* // Bootstrap options
Bootstrap variables overrides for theme.
See https://github.com/twbs/bootstrap/pull/23260
*/
// Bootstrap flags. For more, see https://getbootstrap.com/docs/4.0/getting-started/theming/
$enable-gradients: true !default; $enable-gradients: true !default;
$enable-rounded: true !default;
$enable-shadows: true !default; $enable-shadows: true !default;
// Theme flags.
$td-enable-google-fonts: true !default;
// Theme colors // Theme colors
$primary: #30638E !default; // TODO: consider moving all of these theme-color definitions into the User
$primary-light: lighten($primary, 75%) !default; // Guide SCSS, or declare theme here, but namespaced:
$secondary: #FFA630 !default;
$success: #3772FF !default;
$info: #C0E0DE !default;
$warning: #ED6A5A !default;
$danger: #ED6A5A !default;
$white: #fff !default;
$light: #D3F3EE !default;
$dark: #403F4C !default; $primary: #30638e !default;
$blue: #72A1E5 !default; $secondary: #ffa630 !default;
$orange: #BA5A31 !default; $success: #3772ff !default;
$gray-100: #f8f9fa !default; $info: #c0e0de !default;
$gray-200: #eee !default; $warning: #ed6a5a !default;
$gray-300: #dee2e6 !default; $danger: #ed6a5a !default;
$gray-400: #ccc !default; $light: #d3f3ee !default; // TODO: consider using BS value
$gray-500: #adb5bd !default; $dark: #403f4c !default; // TODO: consider using BS value
$gray-600: #797676 !default;
$gray-700: #495057 !default;
$gray-800: #333 !default;
$gray-900: #222 !default;
$black: #000 !default;
$code-color: darken($secondary, 20%) !default; $code-color: shade-color($secondary, 40%) !default;
// UI element colors // UI element colors
@ -48,84 +26,67 @@ $td-sidebar-tree-root-color: $primary !default;
$td-sidebar-bg-color: rgba($primary, 0.03) !default; $td-sidebar-bg-color: rgba($primary, 0.03) !default;
$td-sidebar-border-color: $border-color !default; $td-sidebar-border-color: $border-color !default;
// Background colors for the sections on home page etc. It is a paint by number system, starting at 0, where the number is taken from the shortcode's ordinal // Background colors for the sections on home page etc. It is a paint by number
// if not provided by the user. // system, starting at 0, where the number is taken from the shortcode's ordinal
// These colors are all part of the theme palette, but the mix is fairly random to create variation. This can be overridden by the project if needed. // if not provided by the user. These colors are all part of the theme palette,
$td-box-colors: $dark, $primary, $secondary, $info, $primary-light, $gray-600, $success, $warning, $dark, $danger, $primary, $secondary, $primary-light, $info !default; // but the mix is fairly random to create variation. This can be overridden by
// the project if needed.
$td-box-colors: $dark, $primary, $secondary, $info, $white, $gray-600, $success,
$warning, $dark, $danger, $primary, $secondary, $info !default;
$link-color: darken($blue, 15%) !default; $link-color: $blue-500 !default;
$link-decoration: none !default; $link-shade-percentage: 30% !default;
$link-hover-color: darken($link-color, 15%) !default;
$link-hover-decoration: none !default;
// Fonts // Fonts
$td-enable-google-fonts: true !default;
$google_font_name: "Open Sans" !default; $google_font_name: "Open Sans" !default;
$google_font_family: "Open+Sans:300,300i,400,400i,700,700i" !default; $google_font_family: "Open+Sans:300,300i,400,400i,700,700i" !default;
$web-font-path: "https://fonts.googleapis.com/css?family=#{$google_font_family}&display=swap"; $web-font-path: "https://fonts.googleapis.com/css?family=#{$google_font_family}&display=swap";
$font-awesome-font-name: "Font Awesome 6 Free" !default; $font-awesome-font-name: "Font Awesome 6 Free" !default;
$td-fonts-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; $td-fonts-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
"Segoe UI Symbol";
@if $td-enable-google-fonts { @if $td-enable-google-fonts {
$td-fonts-serif: prepend($td-fonts-serif, "#{$google_font_name}"); $td-fonts-serif: join("#{$google_font_name}", $td-fonts-serif);
} }
$font-family-sans-serif: $td-fonts-serif !default; $font-family-sans-serif: $td-fonts-serif !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
$font-family-base: $font-family-sans-serif !default; "Liberation Mono", "Courier New", monospace !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
$font-size-base: 1rem !default; $font-family-base: $font-family-sans-serif !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
// Font weights // Font weights
$font-weight-light: 300 !default; $font-weight-medium: 500 !default; // TODO: move into var forward file after upgrading BS to v5.3+
$font-weight-normal: 400 !default;
$font-weight-medium: 500 !default;
$font-weight-bold: 700 !default;
$font-weight-body-text: $font-weight-normal !default; $font-weight-body-text: $font-weight-normal !default;
$headings-font-weight: $font-weight-medium !default;
// Heading sizes // Heading sizes
$h1-font-size: $font-size-base * 2.25 !default; $h3-font-size: $font-size-base * 1.5 !default; // TODO: consider using BS default (* 1.75), or moving into UG SCSS
$h2-font-size: $font-size-base * 2 !default; $h4-font-size: $font-size-base * 1.35 !default; // TODO: consider using BS default (* 1.5), or moving into UG SCSS
$h3-font-size: $font-size-base * 1.5 !default; $h5-font-size: $font-size-base * 1.15 !default; // TODO: consider using BS default (* 1.25), or moving into UG SCSS
$h4-font-size: $font-size-base * 1.35 !default;
$h5-font-size: $font-size-base * 1.15 !default;
$h6-font-size: $font-size-base !default;
// Display styles
$display1-weight: $font-weight-bold !default;
$display2-weight: $font-weight-bold !default;
$display3-weight: $font-weight-bold !default;
$display4-weight: $font-weight-bold !default;
$display1-size: 3rem !default;
$display2-size: 2.5rem !default;
$display3-size: 2rem !default;
$display4-size: 1.75rem !default;
// Space // Space
$spacer: 1rem;
$td-block-space-top-base: 4 * $spacer !default; $td-block-space-top-base: 4 * $spacer !default;
$td-block-space-bottom-base: 4 * $spacer !default; $td-block-space-bottom-base: 4 * $spacer !default;
// Pagination // Pagination
$pagination-color: $gray-600 !default; $pagination-color: $gray-600 !default; // TODO: consider using BS default
$pagination-border-color: rgba($black, 0.1) !default; $pagination-disabled-color: $gray-300 !default; // TODO: consider using BS default
$pagination-active-border-color: darken($primary, 5%) !default;
$pagination-disabled-color: $gray-300 !default;
// Navbar // Navbar
$navbar-dark-color: rgba($white, 0.75) !default; $navbar-dark-color: rgba($white, 0.75) !default; // TODO: consider moving into UG SCSS
$navbar-dark-hover-color: rgba($white, 0.5) !default; $navbar-dark-hover-color: rgba($white, 0.5) !default; // TODO: consider moving into UG SCSS
$navbar-dark-active-color: $white !default;
$navbar-dark-disabled-color: rgba($white, 0.25) !default;
// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". // Footer
$yiq-contrasted-threshold: 200 !default;
$list-inline-padding: $spacer;

View file

@ -0,0 +1,21 @@
// Forward declarations of variables used by _variables.scss and
// _variables_project.scss.
//
// TODO(@chalin): autogenerate the content of this file
// Bootstrap SASS variables:
$white: #fff !default;
$gray-300: #dee2e6 !default;
$gray-600: #6c757d !default;
$black: #000 !default;
$blue: #0d6efd !default;
$blue-500: $blue !default;
$font-size-base: 1rem !default;
$font-weight-normal: 400 !default;
$font-weight-bold: 700 !default;
$spacer: 1rem !default;

View file

@ -1,7 +1,7 @@
@import "cover"; @import "cover";
.td-bg-arrow { .td-bg-arrow {
&-wrapper { &-wrapper {
position: relative; position: relative;
} }
} }

View file

@ -3,22 +3,23 @@
@include td-box-height-modifiers(".td-cover-block"); @include td-box-height-modifiers(".td-cover-block");
.td-cover-logo { .td-cover-logo {
margin-right: 0.5em; margin-right: 0.5em;
} }
.td-cover-block { .td-cover-block {
position: relative; position: relative;
padding-top: 5rem; padding-top: 5rem;
padding-bottom: 5rem; padding-bottom: 5rem;
background: { background: {
repeat: no-repeat; repeat: no-repeat;
position: 50% 0; position: 50% 0;
size: cover; size: cover;
}; }
& > .byline { & > .byline {
position: absolute; @extend .small;
bottom: 2px; position: absolute;
right: 4px; bottom: 2px;
} right: 4px;
}
} }

View file

@ -1,9 +1,12 @@
@import "support/functions"; @import "../vendor/bootstrap/scss/functions";
@import "_variables_forward";
@import "variables_project"; @import "variables_project";
@import "variables"; @import "variables";
@import "support/mixins"; @import "support/mixins";
@import "../vendor/bootstrap/scss/bootstrap"; @import "../vendor/bootstrap/scss/bootstrap";
@import "support/bootstrap_vers_test";
@import "../vendor/Font-Awesome/scss/fontawesome.scss"; @import "../vendor/Font-Awesome/scss/fontawesome.scss";
@import "../vendor/Font-Awesome/scss/solid.scss"; @import "../vendor/Font-Awesome/scss/solid.scss";
@ -11,13 +14,13 @@
@import "support/utilities"; @import "support/utilities";
@import "colors"; @import "colors";
@import "table";
@import "boxes"; @import "boxes";
@import "blog"; @import "blog";
@import "code"; @import "code";
@import "nav"; @import "nav";
@import "sidebar-tree"; @import "sidebar-tree";
@import "sidebar-toc"; @import "sidebar-toc";
@import "buttons";
@import "breadcrumb"; @import "breadcrumb";
@import "alerts"; @import "alerts";
@import "content"; @import "content";
@ -29,41 +32,83 @@
@import "taxonomy"; @import "taxonomy";
@import "drawio"; @import "drawio";
@import "shortcodes"; @import "shortcodes";
@import "swagger";
@if $td-enable-google-fonts { @if $td-enable-google-fonts {
@import url($web-font-path); @import url($web-font-path);
} }
footer { .td-footer {
min-height: 150px; @extend .td-box--dark;
@include media-breakpoint-down(md) { min-height: 150px;
min-height: 200px; padding-top: map-get($spacers, 5);
@include media-breakpoint-down(lg) {
min-height: 200px;
}
/* &__left { } */
&__center {
@extend .small;
text-align: center;
}
&__right {
text-align: right;
}
&__about {
font-size: initial;
}
&__links {
&-list {
@extend .list-inline;
margin-bottom: 0;
} }
&-item {
@extend .list-inline-item;
@extend .h3;
a {
color: inherit !important;
}
}
}
&__authors,
&__all_rights_reserved {
padding-left: map-get($spacers, 1);
}
&__all_rights_reserved {
display: none;
}
} }
// Adjust anchors vs the fixed menu. // Adjust anchors vs the fixed menu.
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
.td-offset-anchor:target { .td-offset-anchor:target {
display: block; display: block;
position: relative; position: relative;
top: -4rem; top: -4rem;
visibility: hidden; visibility: hidden;
} }
h2[id]:before, h2[id]:before,
h3[id]:before, h3[id]:before,
h4[id]:before, h4[id]:before,
h5[id]:before { h5[id]:before {
display: block; display: block;
content: " "; content: " ";
margin-top: -5rem; margin-top: -5rem;
height: 5rem; height: 5rem;
visibility: hidden; visibility: hidden;
} }
} }
@import "rtl/main";
@import "styles_project"; @import "styles_project";

View file

@ -5,47 +5,51 @@ body:lang(dv),
body:lang(he), body:lang(he),
body:lang(ku), body:lang(ku),
body:lang(ur) { body:lang(ur) {
@import "spacing";
@import 'spacing'; direction: rtl;
text-align: right;
direction: rtl; .dropdown-menu {
text-align: right; text-align: right;
}
.dropdown-menu { .text-right {
text-align: right; text-align: left !important;
} }
.text-right { pre {
text-align: left !important; text-align: left;
} direction: ltr;
}
pre { .td-rss-button {
text-align: left; left: 1rem !important;
direction: ltr; right: auto !important;
} }
.td-rss-button {
left: 1rem !important;
right: auto !important;
}
} }
body:lang(fa) { body:lang(fa) {
@import url('https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v27.0.1/dist/font-face.css'); @import url("https://cdn.jsdelivr.net/gh/rastikerdar/vazir-font@v27.0.1/dist/font-face.css");
font-family: 'Vazir', "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-family: "Vazir", "Open Sans", -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol";
} }
body:lang(he) { body:lang(he) {
@if $td-enable-google-fonts { @if $td-enable-google-fonts {
@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap'); @import url("https://fonts.googleapis.com/css2?family=Rubik:wght@300;400;500;600;700&display=swap");
} }
font-family: 'Rubik', "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-family: "Rubik", "Open Sans", -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol";
} }
body:lang(ar) { body:lang(ar) {
@if $td-enable-google-fonts { @if $td-enable-google-fonts {
@import url('https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700&display=swap'); @import url("https://fonts.googleapis.com/css2?family=Tajawal:wght@300;400;500;700&display=swap");
} }
font-family: 'Tajawal', "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-family: "Tajawal", "Open Sans", -apple-system, BlinkMacSystemFont,
"Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
"Segoe UI Emoji", "Segoe UI Symbol";
} }

View file

@ -1,91 +1,87 @@
@each $breakpoint in map-keys($grid-breakpoints) { @each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) { @include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints); $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@each $prop, @each $prop, $abbrev in (margin: m, padding: p) {
$abbrev in (margin: m, padding: p) { @each $size, $length in $spacers {
.#{$abbrev}#{$infix}-#{$size} {
@each $size, #{$prop}: $length !important;
$length in $spacers {
.#{$abbrev}#{$infix}-#{$size} {
#{$prop}: $length !important;
}
.#{$abbrev}t#{$infix}-#{$size},
.#{$abbrev}y#{$infix}-#{$size} {
#{$prop}-top: $length !important;
}
.#{$abbrev}r#{$infix}-#{$size},
.#{$abbrev}x#{$infix}-#{$size} {
#{$prop}-inline-end: $length !important;
}
.#{$abbrev}b#{$infix}-#{$size},
.#{$abbrev}y#{$infix}-#{$size} {
#{$prop}-bottom: $length !important;
}
.#{$abbrev}l#{$infix}-#{$size},
.#{$abbrev}x#{$infix}-#{$size} {
#{$prop}-inline-start: $length !important;
}
}
} }
// Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`) .#{$abbrev}t#{$infix}-#{$size},
@each $size, .#{$abbrev}y#{$infix}-#{$size} {
$length in $spacers { #{$prop}-top: $length !important;
@if $size !=0 {
.m#{$infix}-n#{$size} {
margin: -$length !important;
}
.mt#{$infix}-n#{$size},
.my#{$infix}-n#{$size} {
margin-top: -$length !important;
}
.mr#{$infix}-n#{$size},
.mx#{$infix}-n#{$size} {
margin-right: -$length !important;
}
.mb#{$infix}-n#{$size},
.my#{$infix}-n#{$size} {
margin-bottom: -$length !important;
}
.ml#{$infix}-n#{$size},
.mx#{$infix}-n#{$size} {
margin-left: -$length !important;
}
}
} }
// Some special margin utils .#{$abbrev}r#{$infix}-#{$size},
.m#{$infix}-auto { .#{$abbrev}x#{$infix}-#{$size} {
margin: auto !important; #{$prop}-inline-end: $length !important;
} }
.mt#{$infix}-auto, .#{$abbrev}b#{$infix}-#{$size},
.my#{$infix}-auto { .#{$abbrev}y#{$infix}-#{$size} {
margin-top: auto !important; #{$prop}-bottom: $length !important;
} }
.mr#{$infix}-auto, .#{$abbrev}l#{$infix}-#{$size},
.mx#{$infix}-auto { .#{$abbrev}x#{$infix}-#{$size} {
margin-right: auto !important; #{$prop}-inline-start: $length !important;
}
.mb#{$infix}-auto,
.my#{$infix}-auto {
margin-bottom: auto !important;
}
.ml#{$infix}-auto,
.mx#{$infix}-auto {
margin-left: auto !important;
} }
}
} }
// Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)
@each $size, $length in $spacers {
@if $size !=0 {
.m#{$infix}-n#{$size} {
margin: -$length !important;
}
.mt#{$infix}-n#{$size},
.my#{$infix}-n#{$size} {
margin-top: -$length !important;
}
.mr#{$infix}-n#{$size},
.mx#{$infix}-n#{$size} {
margin-right: -$length !important;
}
.mb#{$infix}-n#{$size},
.my#{$infix}-n#{$size} {
margin-bottom: -$length !important;
}
.ml#{$infix}-n#{$size},
.mx#{$infix}-n#{$size} {
margin-left: -$length !important;
}
}
}
// Some special margin utils
.m#{$infix}-auto {
margin: auto !important;
}
.mt#{$infix}-auto,
.my#{$infix}-auto {
margin-top: auto !important;
}
.mr#{$infix}-auto,
.mx#{$infix}-auto {
margin-right: auto !important;
}
.mb#{$infix}-auto,
.my#{$infix}-auto {
margin-bottom: auto !important;
}
.ml#{$infix}-auto,
.mx#{$infix}-auto {
margin-left: auto !important;
}
}
} }

View file

@ -1,18 +1,17 @@
.section-index { .section-index {
.entry {
padding: 0.75rem;
}
.entry { h5 {
padding: .75rem; margin-bottom: 0;
a {
font-weight: 700;
} }
}
h5 { p {
margin-bottom: 0; margin-top: 0;
}
a {
font-weight: 700;
}
}
p {
margin-top: 0;
}
} }

View file

@ -1,4 +1,4 @@
.td-card-deck.card-deck { .td-card-group.card-group {
@extend .td-max-width-on-larger-screens; @extend .td-max-width-on-larger-screens;
} }
@ -8,6 +8,7 @@
.highlight { .highlight {
border: none; border: none;
margin: 0;
} }
} }

View file

@ -1,21 +1,17 @@
.tab-content { // Only constrain max-width for top-level tabbed panes not, e.g., those in lists.
.tab-pane { .td-content > .tab-content .tab-pane {
pre { @extend .td-max-width-on-larger-screens;
margin: 0rem 0 0rem 0;
}
}
} }
.tab-content { .tab-content {
.tab-pane { .tab-pane {
.highlight { .highlight {
margin: 0rem 0 0rem 0; margin: 0;
border: none; border: none;
max-width: 100%; max-width: 100%;
} }
margin-top: 0rem; margin-top: 0rem;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
max-width: 80%;
border-left: 1px solid rgba(0, 0, 0, 0.125); border-left: 1px solid rgba(0, 0, 0, 0.125);
border-right: 1px solid rgba(0, 0, 0, 0.125); border-right: 1px solid rgba(0, 0, 0, 0.125);
border-bottom: 1px solid rgba(0, 0, 0, 0.125); border-bottom: 1px solid rgba(0, 0, 0, 0.125);
@ -29,6 +25,15 @@
border-radius: 0; border-radius: 0;
padding: 1.5rem; padding: 1.5rem;
> :last-child {
margin-bottom: 0;
}
> .highlight:only-child {
margin: -1.5rem;
max-width: calc(100% + 3rem);
}
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
&-#{$color} { &-#{$color} {
border-style: solid; border-style: solid;

View file

@ -0,0 +1,8 @@
$enable-important-utilities: null !default;
@if $enable-important-utilities == null {
@error "\
Docsy requires Bootstrap v5, but the v5 variable \
$enable-important-utilities isn't defined. \
Did you forget to update Docsy dependencies?\
";
}

View file

@ -1,20 +0,0 @@
// Common functions.
@function prepend($list, $value) {
@return join($value, $list);
}
// See https://www.sitepoint.com/using-sass-build-color-palettes/
@function color-diff($a, $b) {
$sat: saturation($a) - saturation($b);
$lig: lightness($a) - lightness($b);
$fn-sat: if($sat > 0, 'desaturate', 'saturate');
$fn-lig: if($lig > 0, 'darken', 'lighten');
@return (
adjust-hue: -(hue($a) - hue($b)),
#{$fn-sat}: abs($sat),
#{$fn-lig}: abs($lig)
);
}

View file

@ -1,49 +1,55 @@
// Some simple mixins. // Mixins
@mixin bg-gradient-variant($parent, $color,$ignore-warning: false) { @mixin link-decoration($base: none, $focus_or_hover: initial) {
#{$parent} { a {
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; text-decoration: $base;
&:focus,
&:hover {
text-decoration: $focus_or_hover;
} }
}
.btn-link {
text-decoration: $base;
}
} }
@mixin link-variant($parent, $color, $hover-color, $underline: false) { @mixin link-variant($parent, $color, $hover-color, $underline: false) {
#{$parent} { #{$parent} {
color: $color; color: $color;
&:hover { &:hover {
color: $hover-color; color: $hover-color;
}
@if $underline {
text-decoration: underline;
}
} }
@if $underline {
text-decoration: underline;
}
}
} }
@mixin optional-at-root($sel) { @mixin optional-at-root($sel) {
@at-root #{if(not &, $sel, selector-append(&, $sel))} { @at-root #{if(not &, $sel, selector-append(&, $sel))} {
@content; @content;
} }
} }
// placeholder allows styling of the placeholder used in search input etc. // placeholder allows styling of the placeholder used in search input etc.
@mixin placeholder { @mixin placeholder {
@include optional-at-root("::-webkit-input-placeholder") { @include optional-at-root("::-webkit-input-placeholder") {
@content; @content;
} }
@include optional-at-root(":-moz-placeholder") {
@content;
}
@include optional-at-root(":-moz-placeholder") { @include optional-at-root("::-moz-placeholder") {
@content; @content;
} }
@include optional-at-root(":-ms-input-placeholder") {
@include optional-at-root("::-moz-placeholder") { @content;
@content; }
}
@include optional-at-root(":-ms-input-placeholder") {
@content;
}
} }

View file

@ -1,82 +1,52 @@
// Mixins // Common utility classes
@mixin optional-at-root($sel) {
@at-root #{if(not &, $sel, selector-append(&, $sel))} {
@content;
}
}
@mixin placeholder {
@include optional-at-root("::-webkit-input-placeholder") {
@content;
}
@include optional-at-root(":-moz-placeholder") {
@content;
}
@include optional-at-root("::-moz-placeholder") {
@content;
}
@include optional-at-root(":-ms-input-placeholder") {
@content;
}
}
// Common util classes.
.td-border-top { .td-border-top {
border: none; border: none;
border-top: 1px solid #eee; border-top: 1px solid #eee;
} }
.td-border-none { .td-border-none {
border: none; border: none;
} }
.td-block-padding { .td-block-padding {
padding-top: $td-block-space-top-base ; padding-top: $td-block-space-top-base;
padding-bottom: $td-block-space-bottom-base; padding-bottom: $td-block-space-bottom-base;
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
padding-top: $td-block-space-top-base * 1.25; padding-top: $td-block-space-top-base * 1.25;
padding-bottom: $td-block-space-bottom-base * 1.25; padding-bottom: $td-block-space-bottom-base * 1.25;
} }
} }
.td-overlay { .td-overlay {
position: relative;
&::after {
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
&--dark::after {
background-color: rgba($dark, 0.3);
}
&--light::after {
background-color: rgba($light, 0.3);
}
&__inner {
position: relative; position: relative;
z-index: 1;
&::after { }
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
&--dark::after {
background-color: rgba($dark, 0.3);
}
&--light::after {
background-color: rgba($light, 0.3);
}
&__inner {
position: relative;
z-index: 1;
}
} }
.td-max-width-on-larger-screens { .td-max-width-on-larger-screens {
@include media-breakpoint-up(lg) { @include media-breakpoint-up(lg) {
max-width: 80%; max-width: 80%;
} }
} }

View file

@ -6,8 +6,6 @@ params:
time_format_blog: Monday, January 02, 2006 time_format_blog: Monday, January 02, 2006
time_format_default: January 2, 2006 time_format_default: January 2, 2006
rss_sections: [blog] rss_sections: [blog]
drawio:
enable: true
outputFormats: outputFormats:
PRINT: PRINT:
@ -20,7 +18,7 @@ outputFormats:
module: module:
hugoVersion: hugoVersion:
extended: true extended: true
min: 0.73.0 min: 0.110.0
mounts: mounts:
- source: assets - source: assets
target: assets target: assets
@ -44,3 +42,22 @@ module:
target: assets/vendor/Font-Awesome target: assets/vendor/Font-Awesome
- source: ../../node_modules/@fortawesome/fontawesome-free/webfonts - source: ../../node_modules/@fortawesome/fontawesome-free/webfonts
target: static/webfonts target: static/webfonts
# Mounts for module installations,
# needed to work around a known bug in Gos module management.
- source: assets/_vendor/bootstrap/scss/
target: assets/vendor/bootstrap/scss/vendor
imports:
- path: github.com/twbs/bootstrap
disable: false
mounts:
- source: scss
target: assets/vendor/bootstrap/scss
- source: dist/js
target: assets/vendor/bootstrap/dist/js
- path: github.com/FortAwesome/Font-Awesome
disable: false
mounts:
- source: scss
target: assets/vendor/Font-Awesome/scss
- source: webfonts
target: static/webfonts

View file

@ -15,6 +15,9 @@ other = "ابحث في هذا الموقع"
# Used in sentences such as "Posted in News" # Used in sentences such as "Posted in News"
[ui_in] [ui_in]
other = "في" other = "في"
# Used in sentences such as "All Tags"
[ui_all]
other = "كل"
# Footer text # Footer text
[footer_all_rights_reserved] [footer_all_rights_reserved]
@ -33,6 +36,8 @@ other = "منشئة"
other = "اخر تعديل" other = "اخر تعديل"
[post_edit_this] [post_edit_this]
other = "عدل هذه الصفحة" other = "عدل هذه الصفحة"
[post_view_this]
other = "أنظر مصدر الصفحة"
[post_create_child_page] [post_create_child_page]
other = " أنشئ صفحة فرعية" other = " أنشئ صفحة فرعية"
[post_create_issue] [post_create_issue]
@ -42,9 +47,9 @@ other = "أنشئ مسألة حول المشروع"
[post_posts_in] [post_posts_in]
other = "منشور في" other = "منشور في"
[post_reading_time] [post_reading_time]
other = "minute read" other = "دقيقة للقراءة"
[post_less_than_a_minute_read] [post_less_than_a_minute_read]
other = "less than a minute" other = "أقل من دقيقة"
# Print support # Print support
[print_printable_section] [print_printable_section]
@ -58,18 +63,18 @@ other = "اطبع القسم كاملا"
# Community # Community
[community_join] [community_join]
other = "Join the {{ .Site.Title }} community" other = "انضم الي مجتمع {{ .Site.Title }}"
[community_introduce] [community_introduce]
other = "{{ .Site.Title }} is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved." other = "{{ .Site.Title }} هو مشروع مفتوح المصدر يمكن لأي شخص في المجتمع استخدامه وتحسينه والاستمتاع به. يسعدنا أن تنضم إلينا! إليك بعض الطرق للمشاركة و معرفة ما يحدث."
[community_learn] [community_learn]
other = "Learn and Connect" other = "تعلم وتواصل"
[community_using] [community_using]
other = "Using or want to use {{ .Site.Title }}? Find out more here:" other = "تستخدام أو تريد استخدام {{ .Site.Title }}؟ اكتشف المزيد هنا:"
[community_develop] [community_develop]
other = "Develop and Contribute" other = "طور و ساهم"
[community_contribute] [community_contribute]
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:" other = "إذا كنت ترغب في المشاركة بشكل أكبر من خلال المساهمة في {{ .Site.Title }}, انضم إلينا هنا:"
[community_how_to] [community_how_to]
other = "You can find out how to contribute to {{ .Site.Title }} in our" other = "يمكنك معرفة كيفية المساهمة في {{ .Site.Title }} من خلال"
[community_guideline] [community_guideline]
other = "Contribution Guidelines" other = "إرشادات المساهمة"

View file

@ -79,3 +79,13 @@ other = "Wenn Du aktiv beteiligen und einen Beitrag zu {{ .Site.Title }} leisten
other = "Wie Du selbst zu {{ .Site.Title }} beitragen kannst, kannst Du nachlesen in unseren" other = "Wie Du selbst zu {{ .Site.Title }} beitragen kannst, kannst Du nachlesen in unseren"
[community_guideline] [community_guideline]
other = "Richtlinien für Beiträge" other = "Richtlinien für Beiträge"
# Feedback
[feedback_title]
other = "Rückmeldung"
[feedback_question]
other = "War diese Seite hilfreich?"
[feedback_positive]
other = "Ja"
[feedback_negative]
other = "Nein"

View file

@ -27,7 +27,6 @@ other = "All Rights Reserved"
[footer_privacy_policy] [footer_privacy_policy]
other = "Privacy Policy" other = "Privacy Policy"
# Post (blog, articles etc.) # Post (blog, articles etc.)
[post_byline_by] [post_byline_by]
other = "By" other = "By"
@ -79,3 +78,13 @@ other = "If you want to get more involved by contributing to {{ .Site.Title }},
other = "You can find out how to contribute to {{ .Site.Title }} in our" other = "You can find out how to contribute to {{ .Site.Title }} in our"
[community_guideline] [community_guideline]
other = "Contribution Guidelines" other = "Contribution Guidelines"
# Feedback
[feedback_title]
other = "Feedback"
[feedback_question]
other = "Was this page helpful?"
[feedback_positive]
other = "Yes"
[feedback_negative]
other = "No"

View file

@ -7,7 +7,7 @@ other = "Previo"
other = "Siguiente" other = "Siguiente"
[ui_read_more] [ui_read_more]
other = "Contiuar leyendo" other = "Continuar leyendo"
[ui_search] [ui_search]
other = "Buscar" other = "Buscar"

View file

@ -0,0 +1,81 @@
# UI strings. Buttons and similar.
[ui_pager_prev]
other = "Edellinen"
[ui_pager_next]
other = "Seuraava"
[ui_read_more]
other = "Lue lisää"
[ui_search]
other = "Hae sivustolta..."
# Used in sentences such as "Posted in News"
[ui_in]
other = ""
# Used in sentences such as "All Tags"
[ui_all]
other = "kaikki"
# Footer text
[footer_all_rights_reserved]
other = "(C)"
[footer_privacy_policy]
other = "Tietosuojalauseke"
# Post (blog, articles etc.)
[post_byline_by]
other = "Kirjoittanut"
[post_created]
other = "Luonut"
[post_last_mod]
other = "Viimeksi muokattu"
[post_edit_this]
other = "Muokkaa sivua"
[post_view_this]
other = "Katso lähdekoodi"
[post_create_child_page]
other = "Luo alisivu"
[post_create_issue]
other = "Luo dokumentaation vikailmoitus"
[post_create_project_issue]
other = "Luo projektin vikailmoitus"
[post_posts_in]
other = "Kirjoituksia"
[post_reading_time]
other = "minuutin teksti"
[post_less_than_a_minute_read]
other = "alle minuutin"
# Print support
[print_printable_section]
other = "Tämä on monen sivun tulostettava näkymä osiosta"
[print_click_to_print]
other = "Paina tulostaaksesi"
[print_show_regular]
other = "Palaa tavalliseen näkymään"
[print_entire_section]
other = "Tulosta koko osio"
# Community
[community_join]
other = "Liity {{ .Site.Title }}-yhteisöön"
[community_introduce]
other = "{{ .Site.Title }} on avoimen lähdekoodin projekti, josta jokainen saa nauttia käyttämällä ja kehittämällä sitä. Olisi mahtavaa jos tulisit mukaan! Tässä pari tapaa osallistua."
[community_learn]
other = "Opi ja kohtaa muita"
[community_using]
other = "Käytätkö tai haluatko käyttää {{ .Site.Title }}:a? Lisätietoa täällä:"
[community_develop]
other = "Kehitä ja osallistu"
[community_contribute]
other = "Jos haluat auttaa kehittämään {{ .Site.Title }}:a, liity tänne:"
[community_how_to]
other = "Voit oppia kehittämään {{ .Site.Title }}:a meidän"
[community_guideline]
other = "osallistumisohjeissamme"

View file

@ -0,0 +1,81 @@
# UI strings. Buttons and similar.
[ui_pager_prev]
other = "पिछला"
[ui_pager_next]
other = "अगला"
[ui_read_more]
other = "अधिक जानें"
[ui_search]
other = "इस साइट में खोजें…"
# Used in sentences such as "Posted in News"
[ui_in]
other = "में"
# Used in sentences such as "All Tags"
[ui_all]
other = "देखना सभी टैग"
# Footer text
[footer_all_rights_reserved]
other = "सर्वाधिकार सुरक्षित"
[footer_privacy_policy]
other = "गोपनीयता नीति"
# Post (blog, articles etc.)
[post_byline_by]
other = "द्वारा"
[post_created]
other = "बनाया"
[post_last_mod]
other = "अंतिम बार संशोधित"
[post_edit_this]
other = "इस पृष्ठ को संपादित करें"
[post_view_this]
other = "पृष्ठ का स्त्रोत देखें"
[post_create_child_page]
other = "चाइल्ड पृष्ठ बनाएं"
[post_create_issue]
other = "समस्या की सुचना दें"
[post_create_project_issue]
other = "परियोजना इशू बनाएं"
[post_posts_in]
other = "पोस्ट में"
[post_reading_time]
other = "लघु अध्ययन"
[post_less_than_a_minute_read]
other = "एक मिनट से कम"
# Print support
[print_printable_section]
other = "यह इस खंड का बहु-पृष्ठ प्रिंट योग्य दृश्य है।"
[print_click_to_print]
other = "प्रिंट करने के लिए यहां क्लिक करें"
[print_show_regular]
other = "इस पृष्ठ के सामान्य दृश्य पर लौटें"
[print_entire_section]
other = "संपूर्ण अनुभाग प्रिंट करें"
# Community
[community_join]
other = "{{ .Site.Title }} समुदाय में शामिल हों"
[community_introduce]
other = "{{ .Site.Title }} एक खुला स्रोत प्रोजेक्ट है जिसका समुदाय में कोई भी उपयोग कर सकता है, सुधार कर सकता है और आनंद ले सकता है। हम चाहेंगे कि आप हमारे साथ जुड़ें! क्या हो रहा है इसका पता लगाने और इसमें शामिल होने के कुछ तरीके यहां दिए गए हैं."
[community_learn]
other = "सीखें और जुड़ें"
[community_using]
other = "{{ .Site.Title }} का उपयोग कर रहे हैं या करना चाहते हैं? यहां और जानें:"
[community_develop]
other = "विकास करें और योगदान दें"
[community_contribute]
other = "यदि आप {{ .Site.Title }} में योगदान देकर और अधिक शामिल होना चाहते हैं, तो यहां हमसे जुड़ें:"
[community_how_to]
other = "आप हमारे यहां {{ .Site.Title }} में योगदान करने का तरीका जान सकते हैं"
[community_guideline]
other = "योगदान दिशानिर्देश"

View file

@ -35,6 +35,8 @@ other = "作成"
other = "最終更新" other = "最終更新"
[post_edit_this] [post_edit_this]
other = "ページの編集" other = "ページの編集"
[post_view_this]
other = "ページのソースコードを見る"
[post_create_child_page] [post_create_child_page]
other = "子ページを作成" other = "子ページを作成"
[post_create_issue] [post_create_issue]

View file

@ -18,6 +18,9 @@ other = "Doorzoek deze site"
[ui_in] [ui_in]
other = "in" other = "in"
[ui_all]
other = "alle"
# Footer text # Footer text
[footer_all_rights_reserved] [footer_all_rights_reserved]
other = "Alle rechten voorbehouden" other = "Alle rechten voorbehouden"
@ -25,7 +28,6 @@ other = "Alle rechten voorbehouden"
[footer_privacy_policy] [footer_privacy_policy]
other = "Privacy Policy" other = "Privacy Policy"
# Post (blog, articles etc.) # Post (blog, articles etc.)
[post_byline_by] [post_byline_by]
other = "Door" other = "Door"
@ -35,6 +37,8 @@ other = "Aangemaakt"
other = "Laatst gewijzigd" other = "Laatst gewijzigd"
[post_edit_this] [post_edit_this]
other = "Bewerk deze pagina" other = "Bewerk deze pagina"
[post_view_this]
other = "Bekijk paginabron"
[post_create_child_page] [post_create_child_page]
other = "Maak sub pagina" other = "Maak sub pagina"
[post_create_issue] [post_create_issue]
@ -56,22 +60,22 @@ other = "Klik hier om te printen"
[print_show_regular] [print_show_regular]
other = "Terug naar normale view van deze pagina" other = "Terug naar normale view van deze pagina"
[print_entire_section] [print_entire_section]
other = "Print complete sectie" other = "Print volledige sectie"
# Community # Community
[community_join] [community_join]
other = "Join the {{ .Site.Title }} community" other = "Wordt lid van de {{ .Site.Title }} community"
[community_introduce] [community_introduce]
other = "{{ .Site.Title }} is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved." other = "{{ .Site.Title }} is een open source project welke iedereen kan gebruiken, verbeteren en van kan genieten. We zouden het fijn vinden als je betrokken wordt! Hier zijn een aantal manieren om erachter te komen wat er speelt en hoe je betrokken kunt worden."
[community_learn] [community_learn]
other = "Learn and Connect" other = "Leren en aansluiten"
[community_using] [community_using]
other = "Using or want to use {{ .Site.Title }}? Find out more here:" other = "Gebruik je {{ .Site.Title }} of wil je dit gebruiken? Meer informatie hier:"
[community_develop] [community_develop]
other = "Develop and Contribute" other = "Ontwikkel en draag bij"
[community_contribute] [community_contribute]
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:" other = "Als je meer betrokken wil zijn door bij te dragen aan {{ .Site.Title }}, meldt je hier aan:"
[community_how_to] [community_how_to]
other = "You can find out how to contribute to {{ .Site.Title }} in our" other = "Je kunt meer informatie vinden over hoe bij te dragen aan {{ .Site.Title }} in onze"
[community_guideline] [community_guideline]
other = "Contribution Guidelines" other = "Richtlijnen voor bijdrage"

View file

@ -12,7 +12,7 @@ other = "Dalej"
other = "Zobacz więcej" other = "Zobacz więcej"
[ui_search] [ui_search]
other = "Szukaj ns stronie ..." other = "Szukaj na stronie ..."
# Used in sentences such as "Posted in News" # Used in sentences such as "Posted in News"
[ui_in] [ui_in]

View file

@ -1,5 +1,3 @@
# UI strings. Buttons and similar. # UI strings. Buttons and similar.
[ui_pager_prev] [ui_pager_prev]
@ -18,14 +16,17 @@ other = "Bu sitede arayın…"
[ui_in] [ui_in]
other = "içinde" other = "içinde"
# Used in sentences such as "All Tags"
[ui_all]
other = "tüm"
# Footer text # Footer text
[footer_all_rights_reserved] [footer_all_rights_reserved]
other = "Bütün haklar saklıdır" other = "Tüm Hakları Saklıdır"
[footer_privacy_policy] [footer_privacy_policy]
other = "Gizlilik Politikası" other = "Gizlilik Politikası"
# Post (blog, articles etc.) # Post (blog, articles etc.)
[post_byline_by] [post_byline_by]
other = "by" other = "by"
@ -35,6 +36,8 @@ other = "Oluşturuldu"
other = "Son düzenleme" other = "Son düzenleme"
[post_edit_this] [post_edit_this]
other = "Bu sayfayı düzenle" other = "Bu sayfayı düzenle"
[post_view_this]
other = "Sayfa kaynağını görüntüle"
[post_create_child_page] [post_create_child_page]
other = "Çocuk sayfası oluştur" other = "Çocuk sayfası oluştur"
[post_create_issue] [post_create_issue]
@ -46,7 +49,7 @@ other = "Gönderiler in"
[post_reading_time] [post_reading_time]
other = "minute read" other = "minute read"
[post_less_than_a_minute_read] [post_less_than_a_minute_read]
other = "less than a minute" other = "1 dakikadan az"
# Print support # Print support
[print_printable_section] [print_printable_section]
@ -60,18 +63,28 @@ other = "Bütün bölümü yazıdırın"
# Community # Community
[community_join] [community_join]
other = "Join the {{ .Site.Title }} community" other = "{{ .Site.Title }} topluluğuna katılın"
[community_introduce] [community_introduce]
other = "{{ .Site.Title }} is an open source project that anyone in the community can use, improve, and enjoy. We'd love you to join us! Here's a few ways to find out what's happening and get involved." other = "{{ .Site.Title }} topluluktaki herkesin kullanabileceği, geliştirebileceği ve keyfini çıkarabileceği açık kaynaklı bir projedir. Bize katılmanızı çok isteriz! İşte neler olduğunu öğrenmenin ve dahil olmanın birkaç yolu."
[community_learn] [community_learn]
other = "Learn and Connect" other = "Öğrenin ve Bağlanın"
[community_using] [community_using]
other = "Using or want to use {{ .Site.Title }}? Find out more here:" other = "{{ .Site.Title }} kullanıyor veya kullanmak mı istiyorsunuz? Daha fazlasını burada bulabilirsiniz:"
[community_develop] [community_develop]
other = "Develop and Contribute" other = "Geliştirin ve Katkıda Bulunun"
[community_contribute] [community_contribute]
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:" other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:"
[community_how_to] [community_how_to]
other = "You can find out how to contribute to {{ .Site.Title }} in our" other = "You can find out how to contribute to {{ .Site.Title }} in our"
[community_guideline] [community_guideline]
other = "Contribution Guidelines" other = "Katkı Yönergeleri"
# Feedback
[feedback_title]
other = "Geribildirim"
[feedback_question]
other = "Bu sayfa yararlı oldu mu?"
[feedback_positive]
other = "Evet"
[feedback_negative]
other = "Hayır"

View file

@ -46,7 +46,7 @@ other = "提交文档问题"
[post_create_project_issue] [post_create_project_issue]
other = "提交项目问题" other = "提交项目问题"
[post_posts_in] [post_posts_in]
other = "张贴在" other = "撰写于"
[post_reading_time] [post_reading_time]
other = "分钟阅读" other = "分钟阅读"
[post_less_than_a_minute_read] [post_less_than_a_minute_read]

View file

@ -7,14 +7,14 @@ other = "上一頁"
other = "下一頁" other = "下一頁"
[ui_read_more] [ui_read_more]
other = "更多" other = "閱讀全文"
[ui_search] [ui_search]
other = "站內搜…" other = "站內搜…"
# Used in sentences such as "Posted in News" # Used in sentences such as "Posted in News"
[ui_in] [ui_in]
other = "" other = ""
# Used in sentences such as "All Tags" # Used in sentences such as "All Tags"
[ui_all] [ui_all]
@ -30,7 +30,7 @@ other = "隱私政策"
# Post (blog, articles etc.) # Post (blog, articles etc.)
[post_byline_by] [post_byline_by]
other = "藉由" other = "作者:"
[post_created] [post_created]
other = "創建" other = "創建"
[post_last_mod] [post_last_mod]
@ -46,21 +46,21 @@ other = "創建文檔議題"
[post_create_project_issue] [post_create_project_issue]
other = "創建項目議題" other = "創建項目議題"
[post_posts_in] [post_posts_in]
other = "張貼" other = "張貼"
[post_reading_time] [post_reading_time]
other = "分鐘閱讀" other = " 分鐘左右可讀完"
[post_less_than_a_minute_read] [post_less_than_a_minute_read]
other = "少於1分鐘" other = "1 分鐘內可讀完"
# Print support # Print support
[print_printable_section] [print_printable_section]
other = "這是本節的多頁可印視圖。" other = "這是本節的多頁可印視圖。"
[print_click_to_print] [print_click_to_print]
other = "點擊此處印" other = "點擊此處印"
[print_show_regular] [print_show_regular]
other = "返回此頁面的常規視圖" other = "返回此頁面的常規視圖"
[print_entire_section] [print_entire_section]
other = "印整個章節" other = "印整個章節"
# Community # Community
[community_join] [community_join]

View file

@ -0,0 +1,18 @@
{{ .Page.Store.Set "hasmhchem" true -}}
{{/* set default delimiters */ -}}
{{ $delimiter_left := "$$" -}}
{{ $delimiter_right := "$$" -}}
{{/* override delimiters if set in config file */ -}}
{{ with $.Page.Site.Params.katex.options.delimiters -}}
{{ range first 1 ( where . "display" true ) -}}
{{ $delimiter_left = index . "left" -}}
{{ $delimiter_right = index . "right" -}}
{{ end -}}
{{ end -}}
{{/* output of chemical formulae */}}
<div class="chem">{{ $delimiter_left -}}
{{ .Inner | safeHTML -}}
{{ $delimiter_right -}}</div>{{ "" -}}

View file

@ -1,16 +1,18 @@
{{/* set default delimiters */}} {{ .Page.Store.Set "hasKaTeX" true -}}
{{ $delimiter_left := "$$" }}
{{ $delimiter_right := "$$" }}
{{/* override delimiters if set in config file */}} {{/* set default delimiters */ -}}
{{ with $.Page.Site.Params.katex.options.delimiters }} {{ $delimiter_left := "$$" -}}
{{ range first 1 ( where . "display" true ) }} {{ $delimiter_right := "$$" -}}
{{ $delimiter_left = index . "left" }}
{{ $delimiter_right = index . "right" }} {{/* override delimiters if set in config file */ -}}
{{ end }} {{ with $.Page.Site.Params.katex.options.delimiters -}}
{{end}} {{ range first 1 ( where . "display" true ) -}}
{{ $delimiter_left = index . "left" -}}
{{ $delimiter_right = index . "right" -}}
{{ end -}}
{{ end -}}
{{/* output of equation */}} {{/* output of equation */}}
<p>{{ $delimiter_left }} <div class="math">{{ $delimiter_left -}}
{{ .Inner | safeHTML }} {{ .Inner | safeHTML -}}
{{ $delimiter_right }}</p> {{ $delimiter_right }}</div>{{ "" -}}

View file

@ -0,0 +1,5 @@
{{ .Page.Store.Set "hasmermaid" true -}}
<pre class="mermaid">
{{- .Inner -}}
</pre>

View file

@ -0,0 +1,8 @@
<h{{ .Level }} id="{{- .Anchor | safeURL -}}">
{{- .Text | safeHTML -}}
{{ template "_default/_markup/_td-heading-self-link.html" . -}}
</h{{ .Level }}>
{{- define "_default/_markup/_td-heading-self-link.html" -}}
<a class="td-heading-self-link" href="#{{ .Anchor | safeURL }}" aria-label="Heading self-link"></a>
{{- end -}}

View file

@ -2,19 +2,17 @@
<h1>{{ .Title }}</h1> <h1>{{ .Title }}</h1>
{{ with .Params.description }}<div class="lead">{{ . | markdownify }}</div>{{ end }} {{ with .Params.description }}<div class="lead">{{ . | markdownify }}</div>{{ end }}
<header class="article-meta"> <header class="article-meta">
{{ partial "taxonomy_terms_article_wrapper.html" . }} {{ partial "taxonomy_terms_article_wrapper.html" . -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }} {{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{ partial "reading-time.html" . }} {{ partial "reading-time.html" . -}}
{{ end }} {{ end -}}
</header> </header>
{{ .Content }} {{ .Content }}
{{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} {{ partial "feedback.html" . -}}
{{ partial "feedback.html" .Site.Params.ui.feedback }} {{ if (.Site.Params.DisqusShortname) -}}
<br /> <br />
{{ end }} {{- partial "disqus-comment.html" . -}}
{{ if (.Site.Params.DisqusShortname) }} {{ end -}}
<br />
{{ partial "disqus-comment.html" . }}
{{ end }}
{{ partial "page-meta-lastmod.html" . }} {{ partial "page-meta-lastmod.html" . }}
</div> </div>
{{/**/ -}}

View file

@ -1,5 +1,3 @@
{{ define "main" }} {{ define "main" -}}
{{ with .Content }} {{ .Content -}}
{{ . }}
{{ end }}
{{ end }} {{ end }}

View file

@ -1,8 +1,8 @@
{{ define "main" }} {{ define "main" -}}
<section class="row td-search-result"> <section class="row td-search-result">
<div class="col-12 col-md-8 offset-md-2"> <div class="col-12 col-md-8 offset-md-2">
<h2 class="ml-4">{{ .Title }}</h2> <h2 class="ms-4">{{ .Title }}</h2>
{{ with .Site.Params.gcs_engine_id }} {{ with .Site.Params.gcs_engine_id -}}
<script> <script>
(function() { (function() {
var cx = '{{ . }}'; var cx = '{{ . }}';
@ -14,9 +14,8 @@ var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s); s.parentNode.insertBefore(gcse, s);
})(); })();
</script> </script>
<gcse:searchresults-only></gcse:searchresults-only> <gcse:searchresults-only></gcse:searchresults-only>
{{ end }} {{ end -}}
</div> </div>
</section> </section>
{{ end }} {{ end }}

View file

@ -1,5 +1,3 @@
{{ define "main" }} {{ define "main" -}}
{{ with .Content }} {{ .Content -}}
{{ . }}
{{ end }}
{{ end }} {{ end }}

View file

@ -13,15 +13,15 @@
{{ if not .Site.Params.ui.taxonomy_breadcrumb_disable -}} {{ if not .Site.Params.ui.taxonomy_breadcrumb_disable -}}
{{/* Use breadcrumb partial, but remove attributes that are invalid or inappropriate in this page-summary context. */ -}} {{/* Use breadcrumb partial, but remove attributes that are invalid or inappropriate in this page-summary context. */ -}}
{{ partial "breadcrumb.html" . {{ partial "breadcrumb.html" .
| replaceRE ` aria-\w+=\".*?\"|(breadcrumb-item) active|(btn-link) disabled` "$1" | safeHTML | replaceRE ` aria-\w+=\".*?\"|(breadcrumb-item) active` "$1" | safeHTML
-}} -}}
{{ end -}} {{ end -}}
<p>{{ .Description | markdownify }}</p> <p>{{ .Description | markdownify }}</p>
<header class="article-meta"> <header class="article-meta">
{{ partial "taxonomy_terms_article_wrapper.html" . }} {{ partial "taxonomy_terms_article_wrapper.html" . -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }} {{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{ partial "reading-time.html" . }} {{ partial "reading-time.html" . -}}
{{ end }} {{ end -}}
</header> </header>
</article> </article>
{{ end }} {{ end }}

View file

@ -1,8 +1,8 @@
{{ define "main" }} {{ define "main" -}}
<div class="td-content"> <div class="td-content">
<main class="taxonomy-terms-page"> <main class="taxonomy-terms-page">
<h1>{{ .Title }}</h1> <h1>{{ .Title }}</h1>
{{ partial "taxonomy_terms_cloud.html" (dict "context" . "taxo" ( lower .Title ) ) }} {{ partial "taxonomy_terms_cloud.html" (dict "context" . "taxo" ( lower .Title ) ) -}}
</main> </main>
</div> </div>
{{ end }} {{- end }}

View file

@ -18,9 +18,9 @@
{{ partial "toc.html" . }} {{ partial "toc.html" . }}
{{ partial "taxonomy_terms_clouds.html" . }} {{ partial "taxonomy_terms_clouds.html" . }}
</aside> </aside>
<main class="col-12 col-md-9 col-xl-8 pl-md-5 pr-md-4" role="main"> <main class="col-12 col-md-9 col-xl-8 ps-md-5 pe-md-4" role="main">
{{ with .CurrentSection.OutputFormats.Get "rss" -}} {{ with .CurrentSection.OutputFormats.Get "rss" -}}
<a class="td-rss-button" title="RSS" href="{{ .Permalink | safeURL }}" target="_blank" rel="noopener"> <a class="td-rss-button" title="RSS" href="{{ .RelPermalink | safeURL }}" target="_blank" rel="noopener">
<i class="fa-solid fa-rss" aria-hidden="true"></i> <i class="fa-solid fa-rss" aria-hidden="true"></i>
</a> </a>
{{ end -}} {{ end -}}

View file

@ -14,7 +14,7 @@
</div> </div>
<div class="d-none d-xl-block col-xl-2 td-toc d-print-none"> <div class="d-none d-xl-block col-xl-2 td-toc d-print-none">
</div> </div>
<main class="col-12 col-md-9 col-xl-8 pl-md-5 pr-md-4" role="main"> <main class="col-12 col-md-9 col-xl-8 ps-md-5 pe-md-4" role="main">
{{ block "main" . }}{{ end }} {{ block "main" . }}{{ end }}
</main> </main>
</div> </div>

View file

@ -6,17 +6,18 @@
<time datetime="{{ $.Date.Format "2006-01-02" }}" class="text-muted">{{ $.Date.Format $.Site.Params.time_format_blog }}</time> <time datetime="{{ $.Date.Format "2006-01-02" }}" class="text-muted">{{ $.Date.Format $.Site.Params.time_format_blog }}</time>
</div> </div>
<header class="article-meta"> <header class="article-meta">
{{ partial "taxonomy_terms_article_wrapper.html" . }} {{ partial "taxonomy_terms_article_wrapper.html" . -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }} {{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{ partial "reading-time.html" . }} {{ partial "reading-time.html" . -}}
{{ end }} {{ end -}}
</header> </header>
{{ .Content }} {{ .Content }}
{{ if (.Site.Params.DisqusShortname) }} {{ if (.Site.Params.DisqusShortname) -}}
<br /> <br />
{{ partial "disqus-comment.html" . }} {{- partial "disqus-comment.html" . -}}
<br /> <br />
{{ end }} {{ end -}}
{{ partial "pager.html" . }} {{ partial "pager.html" . }}
{{ partial "page-meta-lastmod.html" . -}}
</div> </div>

View file

@ -1,44 +1,40 @@
{{ define "main" }} {{ define "main" }}
{{ if (and .Parent .Parent.IsHome) }} {{ if (and .Parent .Parent.IsHome) -}}
{{ $.Scratch.Set "blog-pages" (where .Site.RegularPages "Section" .Section) }} {{ $.Scratch.Set "blog-pages" (where .Site.RegularPages "Section" .Section) -}}
{{ else }} {{ else -}}
{{$.Scratch.Set "blog-pages" .Pages }} {{$.Scratch.Set "blog-pages" .Pages -}}
{{ end }} {{ end -}}
<div class="row"> <div class="td-blog-posts">
<div class="col-12"> {{ if .Pages -}}
{{- if .Pages -}} {{ $pag := .Paginate (( $.Scratch.Get "blog-pages").GroupByDate "2006" ) -}}
{{ $pag := .Paginate (( $.Scratch.Get "blog-pages").GroupByDate "2006" )}} {{ range $pag.PageGroups -}}
{{ range $pag.PageGroups }} <div class="h2">{{ T "post_posts_in" }} {{ .Key }}</div>
<h2>{{ T "post_posts_in" }} {{ .Key }}</h2> <ul class="td-blog-posts-list">
<ul class="list-unstyled mt-4"> {{ range .Pages -}}
{{ range .Pages }} <li class="td-blog-posts-list__item">
<li class="media mb-4"> <div class="td-blog-posts-list__body">
<div class="media-body"> <h5 class="mt-0 mb-1"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h5>
<h5 class="mt-0 mb-1"><a href="{{ .RelPermalink }}">{{ .Title }}</a></h5> <p class="mb-2 mb-md-3"><small class="text-muted">{{ .Date.Format ($.Param "time_format_blog") }} {{ T "ui_in"}} {{ .CurrentSection.LinkTitle }}</small></p>
<p class="mb-2 mb-md-3"><small class="text-muted">{{ .Date.Format ($.Param "time_format_blog") }} {{ T "ui_in"}} {{ .CurrentSection.LinkTitle }}</small></p> <header class="article-meta">
<header class="article-meta"> {{ partial "taxonomy_terms_article_wrapper.html" . -}}
{{ partial "taxonomy_terms_article_wrapper.html" . }} {{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }} {{ partial "reading-time.html" . -}}
{{ partial "reading-time.html" . }} {{ end -}}
{{ end }} </header>
</header> {{ partial "featured-image.html" (dict "p" . "w" 250 "h" 125 "class" "float-start me-3 pt-1 d-none d-md-block") -}}
{{ partial "featured-image.html" (dict "p" . "w" 250 "h" 125 "class" "float-left mr-3 pt-1 d-none d-md-block") }} <p class="pt-0 mt-0">{{ .Plain | safeHTML | truncate 250 }}</p>
<p class="pt-0 mt-0">{{ .Plain | safeHTML | truncate 250 }}</p> <p class="pt-0"><a href="{{ .RelPermalink }}" aria-label="{{ T "ui_read_more"}} - {{ .LinkTitle }}">{{ T "ui_read_more"}}</a></p>
<p class="pt-0"><a href="{{ .RelPermalink }}" aria-label="{{ T "ui_read_more"}} - {{ .LinkTitle }}">{{ T "ui_read_more"}}</a></p> </div>
</div> </li>
</li> {{ end -}}
{{ end }} </ul>
</ul> {{ end -}}
{{ end }} {{ end }}
{{ end }}
</div>
</div> </div>
<div class="row pl-2 pt-2"> <div class="td-blog-posts__pagination">
<div class="col"> {{ if .Pages -}}
{{ if .Pages }} {{ template "_internal/pagination.html" . -}}
{{ template "_internal/pagination.html" . }} {{ end -}}
{{ end }}
</div>
</div> </div>
{{ end }} {{ end -}}

View file

@ -1,19 +1,24 @@
{{ define "main" }} {{ define "main" -}}
<a class="td-offset-anchor"></a> <div><a class="td-offset-anchor"></a></div>
<section class="row td-box td-box--1 position-relative td-box--gradient td-box--height-auto"> <section
class="row td-box td-box--primary position-relative td-box--height-auto"
>
<div class="col-12">
<div class="container text-center td-arrow-down"> <div class="container text-center td-arrow-down">
<span class="h4 mb-0"> <span class="h4 mb-0">
<h1>{{ T "community_join" . }}</h1> <h1>{{ T "community_join" . }}</h1>
<p>{{ T "community_introduce" . }}</p> <p>{{ T "community_introduce" . }}</p>
</span> </span>
</div> </div>
</div>
</section> </section>
{{ partial "community_links.html" . -}}
{{ partial "community_links.html" . }} {{ with .Content -}}
<div class="td-content"> <div class="td-content">
{{ .Content }} {{ . }}
</div> </div>
{{- end -}}
{{ end }} {{ end }}

View file

@ -18,7 +18,7 @@
{{ partial "toc.html" . }} {{ partial "toc.html" . }}
{{ partial "taxonomy_terms_clouds.html" . }} {{ partial "taxonomy_terms_clouds.html" . }}
</aside> </aside>
<main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> <main class="col-12 col-md-9 col-xl-8 ps-md-5" role="main">
{{ partial "version-banner.html" . }} {{ partial "version-banner.html" . }}
{{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial "breadcrumb.html" . }}{{ end }} {{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial "breadcrumb.html" . }}{{ end }}
{{ block "main" . }}{{ end }} {{ block "main" . }}{{ end }}

View file

@ -10,7 +10,7 @@
<div class="container-fluid td-outer"> <div class="container-fluid td-outer">
<div class="td-main"> <div class="td-main">
<div class="row flex-xl-nowrap"> <div class="row flex-xl-nowrap">
<main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main"> <main class="col-12 col-md-9 col-xl-8 ps-md-5" role="main">
{{ block "main" . }}{{ end }} {{ block "main" . }}{{ end }}
</main> </main>
</div> </div>

View file

@ -3,21 +3,18 @@
<h1>{{ .Title }}</h1> <h1>{{ .Title }}</h1>
{{ with .Params.description }}<div class="lead">{{ . | markdownify }}</div>{{ end }} {{ with .Params.description }}<div class="lead">{{ . | markdownify }}</div>{{ end }}
<header class="article-meta"> <header class="article-meta">
{{ partial "taxonomy_terms_article_wrapper.html" . }} {{ partial "taxonomy_terms_article_wrapper.html" . -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }} {{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{ partial "reading-time.html" . }} {{ partial "reading-time.html" . -}}
{{ end }} {{ end -}}
</header> </header>
{{ .Content }} {{ .Content }}
{{ partial "section-index.html" . }} {{ partial "section-index.html" . -}}
{{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }} {{ partial "feedback.html" . -}}
{{ partial "feedback.html" .Site.Params.ui.feedback }} {{ if (.Site.DisqusShortname) -}}
<br /> <br />
{{ end }} {{- partial "disqus-comment.html" . -}}
{{ if (.Site.DisqusShortname) }} {{ end -}}
<br /> {{ partial "page-meta-lastmod.html" . -}}
{{ partial "disqus-comment.html" . }}
{{ end }}
{{ partial "page-meta-lastmod.html" . }}
</div> </div>
{{ end }} {{ end -}}

View file

@ -20,10 +20,10 @@
{{ $isActive := eq .p1 .p2 }} {{ $isActive := eq .p1 .p2 }}
<li class="breadcrumb-item{{ if $isActive }} active{{ end }}" <li class="breadcrumb-item{{ if $isActive }} active{{ end }}"
{{- if $isActive }} aria-current="page"{{ end }}> {{- if $isActive }} aria-current="page"{{ end }}>
<a href="{{ .p1.Permalink }}" {{ if $isActive -}}
{{- if $isActive }} aria-disabled="true" class="btn-link disabled"{{ end -}} {{ .p1.LinkTitle -}}
> {{ else -}}
{{- .p1.LinkTitle -}} <a href="{{ .p1.RelPermalink }}">{{ .p1.LinkTitle }}</a>
</a> {{- end -}}
</li> </li>
{{- end -}} {{- end -}}

View file

@ -1,30 +1,33 @@
{{ $links := .Site.Params.links }} {{ $links := .Site.Params.links -}}
<section class="row td-box td-box--4 td-box--gradient td-box--height-auto linkbox"> <section class="row td-box td-box--white td-box--height-auto linkbox">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<h2>{{ T "community_learn" }}</h2> <h2>{{ T "community_learn" }}</h2>
<p>{{ T "community_using" . }}</p> <p>{{ T "community_using" . }}</p>
{{ with index $links "user"}} {{ with index $links "user" -}}
{{ template "community-links-list" . }} {{ template "community-links-list" . -}}
{{ end }} {{ end }}
</div> </div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6"> <div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<h2>{{ T "community_develop" }}</h2> <h2>{{ T "community_develop" }}</h2>
<p>{{ T "community_contribute" . }}</p> <p>{{ T "community_contribute" . }}</p>
{{ with index $links "developer"}} {{ with index $links "developer" -}}
{{ template "community-links-list" . }} {{ template "community-links-list" . -}}
{{ end }} {{ end }}
<p>{{ T "community_how_to" . }} <a href="/docs/contribution-guidelines/">{{ T "community_guideline" }}</a> <p>
</div> {{ T "community_how_to" . }}
<a href="{{ "docs/contribution-guidelines" | relURL }}">{{ T "community_guideline" }}</a>.
</p>
</div>
</section> </section>
{{ define "community-links-list" }} {{ define "community-links-list" -}}
<ul> <ul>
{{ range . }} {{ range . -}}
<li title="{{ .name }}"> <li title="{{ .name }}">
<a target="_blank" rel="noopener" href="{{ .url }}"><i class="{{ .icon }}"></i> {{ .name }}:</a> <a target="_blank" rel="noopener" href="{{ .url }}"><i class="{{ .icon }}"></i> {{ .name }}</a>:
{{ .desc }} {{ .desc }}
</li> </li>
{{ end }}
</ul>
{{ end }} {{ end }}
</ul>
{{- end }}

View file

@ -1,7 +1,7 @@
{{ $w := .w | default 480 }} {{ $w := .w | default 480 }}
{{ $h := .h | default 180 }} {{ $h := .h | default 180 }}
{{ $p := .p }} {{ $p := .p }}
{{ $class := .class | default "ml-3" }} {{ $class := .class | default "ms-3" }}
{{ $image := ($p.Resources.ByType "image").GetMatch "**featured*" }} {{ $image := ($p.Resources.ByType "image").GetMatch "**featured*" }}
{{ with $image }} {{ with $image }}
{{ $image := .Fill (printf "%dx%d" $w $h ) }} {{ $image := .Fill (printf "%dx%d" $w $h ) }}

View file

@ -1,3 +1,5 @@
{{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable)) -}}
{{ with .Site.Params.ui.feedback -}}
<style> <style>
.feedback--answer { .feedback--answer {
display: inline-block; display: inline-block;
@ -14,10 +16,10 @@
} }
</style> </style>
<div class="d-print-none"> <div class="d-print-none">
<h2 class="feedback--title">Feedback</h2> <h2 class="feedback--title">{{- i18n "feedback_title" -}}</h2>
<p class="feedback--question">Was this page helpful?</p> <p class="feedback--question">{{- i18n "feedback_question" -}}</p>
<button class="btn btn-primary mb-4 feedback--answer feedback--answer-yes">Yes</button> <button class="btn btn-primary mb-4 feedback--answer feedback--answer-yes">{{- i18n "feedback_positive" -}}</button>
<button class="btn btn-primary mb-4 feedback--answer feedback--answer-no">No</button> <button class="btn btn-primary mb-4 feedback--answer feedback--answer-no">{{- i18n "feedback_negative" -}}</button>
<p class="feedback--response feedback--response-yes"> <p class="feedback--response feedback--response-yes">
{{ .yes | safeHTML }} {{ .yes | safeHTML }}
</p> </p>
@ -35,21 +37,18 @@
noButton.disabled = true; noButton.disabled = true;
}; };
const sendFeedback = (value) => { const sendFeedback = (value) => {
if (typeof ga !== 'function') return; if (typeof gtag !== 'function') return;
const args = { gtag('event', 'page_helpful', {
command: 'send', 'event_category': 'Helpful',
hitType: 'event', 'event_label': window.location.pathname,
category: 'Helpful', 'value': value
action: 'click', });
label: window.location.pathname,
value: value
};
ga(args.command, args.hitType, args.category, args.action, args.label, args.value);
}; };
yesButton.addEventListener('click', () => { yesButton.addEventListener('click', () => {
yesResponse.classList.add('feedback--response__visible'); yesResponse.classList.add('feedback--response__visible');
disableButtons(); disableButtons();
sendFeedback(1); {{ $maxValue := .max_value | default 100 -}}
sendFeedback({{ $maxValue }});
}); });
noButton.addEventListener('click', () => { noButton.addEventListener('click', () => {
noResponse.classList.add('feedback--response__visible'); noResponse.classList.add('feedback--response__visible');
@ -57,3 +56,6 @@
sendFeedback(0); sendFeedback(0);
}); });
</script> </script>
{{ end -}}
<br />
{{ end -}}

View file

@ -1,39 +1,17 @@
{{ $links := .Site.Params.links }} <footer class="td-footer row d-print-none">
<footer class="bg-dark py-5 row d-print-none"> <div class="container-fluid">
<div class="container-fluid mx-sm-5"> <div class="row mx-md-2">
<div class="row"> <div class="td-footer__left col-6 col-sm-4 order-sm-1">
<div class="col-6 col-sm-4 text-xs-center order-sm-2"> {{ partial "footer/left.html" . }}
{{ with $links }}
{{ with index . "user"}}
{{ template "footer-links-block" . }}
{{ end }}
{{ end }}
</div> </div>
<div class="col-6 col-sm-4 text-right text-xs-center order-sm-3"> {{- /* Trim WS */ -}}
{{ with $links }} <div class="td-footer__right col-6 col-sm-4 order-sm-3">
{{ with index . "developer"}} {{ partial "footer/right.html" . }}
{{ template "footer-links-block" . }}
{{ end }}
{{ end }}
</div> </div>
<div class="col-12 col-sm-4 text-center py-2 order-sm-2"> {{- /* Trim WS */ -}}
{{ with .Site.Params.copyright }}<small class="text-white">&copy; {{ now.Year}} {{ .}} {{ T "footer_all_rights_reserved" }}</small>{{ end }} <div class="td-footer__center col-12 col-sm-4 py-2 order-sm-2">
{{ with .Site.Params.privacy_policy }}<small class="ml-1"><a href="{{ . }}" target="_blank" rel="noopener">{{ T "footer_privacy_policy" }}</a></small>{{ end }} {{ partial "footer/center.html" . }}
{{ if not .Site.Params.ui.footer_about_disable }}
{{ with .Site.GetPage "about" }}<p class="mt-2"><a href="{{ .RelPermalink }}">{{ .Title }}</a></p>{{ end }}
{{ end }}
</div> </div>
</div> </div>
</div> </div>
</footer> </footer>
{{ define "footer-links-block" }}
<ul class="list-inline mb-0">
{{ range . }}
<li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="{{ .name }}" aria-label="{{ .name }}">
<a class="text-white" target="_blank" rel="noopener" href="{{ .url }}" aria-label="{{ .name }}">
<i class="{{ .icon }}"></i>
</a>
</li>
{{ end }}
</ul>
{{ end }}

View file

@ -0,0 +1,15 @@
{{ partial "footer/copyright.html" . -}}
{{ with .Site.Params.privacy_policy -}}
<span class="ms-2"><a href="{{ . }}" target="_blank" rel="noopener">{{ T "footer_privacy_policy" }}</a></span>
{{- end -}}
{{ if ne .Site.Params.ui.footer_about_disable nil -}}
{{ warnf "Config parameter '.params.ui.footer_about_disable' is DEPRECATED, use '.params.ui.footer_about_enable' instead." -}}
{{ end -}}
{{ if or .Site.Params.ui.footer_about_enable (eq .Site.Params.ui.footer_about_disable false) -}}
{{ with .Site.GetPage "about" -}}
<p class="td-footer__about mt-2"><a href="{{ .RelPermalink }}">{{ .Title }}</a></p>
{{- end -}}
{{ end -}}

View file

@ -0,0 +1,41 @@
{{ $page := .Page -}}
{{ with .Site.Params.copyright -}}
{{ $fromYear := "" -}}
{{ $toYear := "" -}}
{{ $authors := "" -}}
{{ if reflect.IsMap . -}}
{{ $fromYear = .from_year -}}
{{ $toYear = .to_year -}}
{{ $authors = .authors -}}
{{ else -}}
{{ $authors = . -}}
{{ end -}}
<span class="td-footer__copyright">&copy;
{{ with $fromYear -}}
{{ . }}&ndash;
{{- end -}}
{{ $toYear | default now.Year }}
<span class="td-footer__authors">
{{- $authors
| default (printf "%s Authors" ($.Site.Title | default "Site"))
| $page.RenderString -}}
</span>
{{- /* Trim WS */ -}}
</span>
{{- with T "footer_all_rights_reserved" -}}
<span class="td-footer__all_rights_reserved">
{{- . -}}
</span>
{{- end }}
{{- else -}}
{{ with .Site.Copyright -}}
<span class="td-footer__copyright">
{{- . | $page.RenderString -}}
</span>
{{- end -}}
{{ end -}}

View file

@ -0,0 +1,5 @@
{{ with .Site.Params.links -}}
{{ with index . "user" -}}
{{- partial "footer/links.html" . -}}
{{ end -}}
{{ end -}}

View file

@ -0,0 +1,9 @@
<ul class="td-footer__links-list">
{{ range . }}
<li class="td-footer__links-item" data-bs-toggle="tooltip" title="{{ .name }}" aria-label="{{ .name }}">
<a target="_blank" rel="noopener" href="{{ .url }}" aria-label="{{ .name }}">
<i class="{{ .icon }}"></i>
</a>
</li>
{{ end }}
</ul>

View file

@ -0,0 +1,5 @@
{{ with .Site.Params.links -}}
{{ with index . "developer" -}}
{{- partial "footer/links.html" . -}}
{{ end -}}
{{ end -}}

View file

@ -1,6 +1,5 @@
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{{ hugo.Generator }}
{{ range .AlternativeOutputFormats -}} {{ range .AlternativeOutputFormats -}}
<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}"> <link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
{{ end -}} {{ end -}}
@ -27,8 +26,8 @@
{{ template "_internal/twitter_cards.html" . -}} {{ template "_internal/twitter_cards.html" . -}}
{{ partialCached "head-css.html" . "asdf" -}} {{ partialCached "head-css.html" . "asdf" -}}
<script <script
src="https://code.jquery.com/jquery-3.6.0.min.js" src="https://code.jquery.com/jquery-3.6.3.min.js"
integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK" integrity="sha512-STof4xm1wgkfm7heWqFJVn58Hm3EtS31XFaagaa8VMReCXAkQnJZ+jEy8PCC/iT18dFy95WcExNHFTqLyp72eQ=="
crossorigin="anonymous"></script> crossorigin="anonymous"></script>
{{ if .Site.Params.offlineSearch -}} {{ if .Site.Params.offlineSearch -}}
<script defer <script defer
@ -41,6 +40,8 @@
<link rel="stylesheet" href="{{ "css/prism.css" | relURL }}"/> <link rel="stylesheet" href="{{ "css/prism.css" | relURL }}"/>
{{ end -}} {{ end -}}
{{ template "algolia/head" . -}}
{{ partial "hooks/head-end.html" . -}} {{ partial "hooks/head-end.html" . -}}
{{/* To comply with GDPR, cookie consent scripts places in head-end must execute before Google Analytics is enabled */ -}} {{/* To comply with GDPR, cookie consent scripts places in head-end must execute before Google Analytics is enabled */ -}}
@ -52,3 +53,18 @@
{{ template "_internal/google_analytics_async.html" . -}} {{ template "_internal/google_analytics_async.html" . -}}
{{ end -}} {{ end -}}
{{ end -}} {{ end -}}
{{ define "algolia/head" -}}
{{ if and .Site.Params.search (isset .Site.Params.search "algolia") -}}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3.5.2"
integrity="sha512-TW5eKlwwg7OfQUVBqxjp94/uqtjJJbhkRE3++XGEQjAL1n3y//QVqS3acPkwqkzInaFRtj+w05uyxDbfDXiI1A=="
crossorigin="anonymous" />
{{ end -}}
{{ if ne .Site.Params.algolia_docsearch nil -}}
{{ warnf `Config 'params.algolia_docsearch' is deprecated: use 'params.search.algolia'
For details, see https://www.docsy.dev/docs/adding-content/search/#algolia-docsearch.` -}}
{{ end -}}
{{ end -}}

View file

@ -1,3 +0,0 @@
{{ with .Site.Params.algolia_docsearch }}
<!-- scripts for algolia docsearch -->
{{ end }}

View file

@ -1,3 +0,0 @@
{{ with .Site.Params.algolia_docsearch }}
<!-- stylesheet for algolia docsearch -->
{{ end }}

View file

@ -1,10 +1,12 @@
{{/* Link directly to documentation etc., if possible. */}} {{/* Link directly to documentation etc., if possible. */ -}}
{{ $langPage := cond (gt (len .Translations) 0) . .Site.Home }} {{ $langPage := cond (gt (len .Translations) 0) . .Site.Home -}}
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <div class="dropdown">
{{ $langPage.Language.LanguageName }} <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
</a> {{- $langPage.Language.LanguageName -}}
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> </a>
{{ range $langPage.Translations }} <ul class="dropdown-menu">
<a class="dropdown-item" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a> {{ range $langPage.Translations -}}
{{ end }} <li><a class="dropdown-item" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
{{ end -}}
</ul>
</div> </div>

View file

@ -1,12 +1,14 @@
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <div class="dropdown">
{{ .Site.Params.version_menu }} <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
</a> {{- .Site.Params.version_menu -}}
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> </a>
{{ $path := "" }} <ul class="dropdown-menu">
{{ if .Site.Params.version_menu_pagelinks }} {{ $path := "" -}}
{{ $path = .Page.RelPermalink }} {{ if .Site.Params.version_menu_pagelinks -}}
{{ end }} {{ $path = .Page.RelPermalink -}}
{{ range .Site.Params.versions }} {{ end -}}
<a class="dropdown-item" href="{{ .url }}{{ $path }}">{{ .version }}</a> {{ range .Site.Params.versions -}}
{{ end }} <li><a class="dropdown-item" href="{{ .url }}{{ $path }}">{{ .version }}</a></li>
{{ end -}}
</ul>
</div> </div>

Some files were not shown because too many files have changed in this diff Show more