fix: update bs

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

View File

@ -1,86 +1,47 @@
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 copyButton = document.createElement("button");
copyButton.setAttribute('type', 'button');
copyButton.onclick = function() { copyCode(codeSample); };
copyButton.classList.add('fas', 'fa-copy');
const copyButton = document.createElement('button');
const buttonAttributes = {
type: 'button',
title: 'Copy to clipboard',
'data-bs-toggle': 'tooltip',
'data-bs-placement': 'top',
'data-bs-container': 'body',
};
const buttonTooltip = document.createElement('div');
buttonTooltip.classList.add('c2c-tooltip');
buttonTooltip.setAttribute('role', 'tooltip');
buttonTooltip.innerHTML += 'Copy to clipboard';
Object.keys(buttonAttributes).forEach((key) => {
copyButton.setAttribute(key, buttonAttributes[key]);
});
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');
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(buttonTooltip);
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/
(function ($) {
'use strict';
'use strict';
$(document).ready(function () {
const $searchInput = $('.td-search input');
$(document).ready(function () {
const $searchInput = $('.td-search input');
//
// Options for popover
//
//
// Register handler
//
$searchInput.data('html', true);
$searchInput.data('placement', 'bottom');
$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>'
);
$searchInput.on('change', (event) => {
render($(event.target));
//
// Register handler
//
$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');
};
// 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 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);

View File

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

View File

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

View File

@ -1,14 +1,29 @@
.td-blog {
.td-rss-button {
@extend .btn;
@extend .btn-info;
@extend .btn-lg;
@extend .-bg-orange;
position: absolute;
right: 1rem;
z-index: 22;
border-radius: 2rem;
float: right;
display: none;
@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.
.td-box {}
// Boxes on the home page and similar: .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) {
$text-color: color-yiq($color-value);
$link-color: mix($blue, $text-color, lightness($color-value));
$link-hover-color: rgba($link-color, 0.5) !default;
$text-color: color-contrast($color-value);
$link-color: mix($blue, $text-color, lightness($color-value));
$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} {
&--#{$color-name} {
color: $text-color;
background-color: #{$color-value};
#{$parent} {
&--#{$color-name} {
color: $text-color;
background-color: #{$color-value};
.td-arrow-down {
&::before {
left: 50%;
margin-left: -30px;
bottom: -25px;
border: {
style: solid;
width: 25px 30px 0 30px;
color: #{$color-value} transparent transparent transparent;
};
z-index: 3;
position: absolute;
content: "";
}
}
.td-arrow-down {
&::before {
left: 50%;
margin-left: -30px;
bottom: -25px;
border: {
style: solid;
width: 25px 30px 0 30px;
color: #{$color-value} transparent transparent transparent;
}
z-index: 3;
position: absolute;
content: "";
}
}
}
}
// Improve contrast for the links in paragraphs.
@include link-variant("#{$parent}--#{$color-name} p > a", $link-color, $link-hover-color, false);
@if $enable-gradients {
@include bg-gradient-variant("#{$parent}--1#{$color-name}#{$parent}--gradient", $color-value, true);
}
// Improve contrast for the links in paragraphs.
@include link-variant(
"#{$parent}--#{$color-name} p > a, #{$parent}--#{$color-name} span > a",
$link-color,
$link-hover-color,
false
);
}
// Common min-height modifiers used for boxes.
@mixin td-box-height-modifiers($parent) {
#{$parent} {
&--height-auto {}
&--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;
}
}
#{$parent} {
&--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;
}
}
}
}
@include td-box-height-modifiers(".td-box");
// Styling for section boxes
.td-box {
.row.section {
padding-left: 5vw;
padding-right: 5vw;
flex-direction: column;
> table {
@extend .table-striped;
@extend .table-responsive;
@extend .table;
}
}
.row {
padding-left: 5vw;
padding-right: 5vw;
flex-direction: row;
padding-left: 5vw;
padding-right: 5vw;
}
table {
@extend .td-table;
}
}
// Styling for community page link boxes
.td-box.linkbox {
padding: 5vh 5vw;
padding: 5vh 5vw;
}
// This allows "painting by numbers"
@for $i from 1 through length($td-box-colors) {
$c: nth($td-box-colors, $i);
$name: $i - 1;
$c: nth($td-box-colors, $i);
$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.
@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 {
@include box-variant(".td-box", $color, $value);
@include box-variant(".td-box", $color, $value);
}
@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
.td-breadcrumbs {
@media print {display: none !important; }
@media print {
display: none !important;
}
.breadcrumb {
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.
.td-content {
// Highlighted code.
.highlight {
@extend .card;
margin: 2rem 0;
padding: 0;
position: relative;
// Highlighted code.
.highlight {
@extend .card;
.click-to-copy {
display: block;
text-align: right;
height: 1ex;
}
margin: 2rem 0;
padding: 0;
position: relative;
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;
}
}
.click-to-copy {
display: block;
text-align: right;
}
// 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;
margin: 0;
padding: 1rem;
border-radius: inherit;
> code {
background-color: inherit !important;
padding: 0;
margin: 0;
font-size: 100%;
word-break: normal;
white-space: pre;
border: 0;
}
}
// Default click-to-copy button
pre.mermaid {
button.td-click-to-copy {
position: absolute;
color: $gray-400;
border-radius: 3px;
border-width: 0;
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.
@mixin palette-variant($color-name, $color-value) {
$text-color: color-yiq($color-value);
$link-color: mix($blue, $text-color, lightness($color-value));
$link-hover-color: rgba($link-color, .5) !default;
$text-color: color-contrast($color-value);
$link-color: mix($blue, $text-color, lightness($color-value));
.-bg-#{$color-name} {
color: $text-color;
background-color: $color-value;
}
$link-hover-color: rgba($link-color, 0.5) !default;
// Make links in paragraphs stand out more.
@include link-variant(".-bg-#{$color-name} p > a", $link-color, $link-hover-color, false);
.-bg-#{$color-name} {
color: $text-color;
background-color: $color-value;
}
.-text-#{$color-name} {
color: $color-value;
}
// Make links in paragraphs stand out more.
@include link-variant(
".-bg-#{$color-name} p:not(.p-initial) > a",
$link-color,
$link-hover-color,
false
);
.-text-#{$color-name} {
color: $color-value;
}
}
@each $color, $value in $colors {
@include palette-variant($color, $value);
@include palette-variant($color, $value);
}
@each $color, $value in $theme-colors {
@include palette-variant($color, $value);
@include palette-variant($color, $value);
}
@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.
@for $i from 1 through length($td-box-colors) {
$value: nth($td-box-colors, $i);
$name: $i - 1;
$text-color: color-yiq($value);
$value: nth($td-box-colors, $i);
$name: $i - 1;
$text-color: color-contrast($value);
@include palette-variant($name, $value);
}
@include palette-variant($name, $value);
}

View File

@ -3,80 +3,118 @@
//
.td-content {
order: 1;
order: 1;
p, li, td {
font-weight: $font-weight-body-text;
}
p,
li,
td {
font-weight: $font-weight-body-text;
}
> h1 {
font-weight: $font-weight-bold;
margin-bottom: 1rem;
}
> h1 {
font-weight: $font-weight-bold;
margin-bottom: 1rem;
}
> h2 {
margin-bottom: 1rem;
}
> h2 {
margin-bottom: 1rem;
}
> h2:not(:first-child) {
margin-top: 3rem;
}
> h2:not(:first-child) {
margin-top: 3rem;
}
> h2 + h3 {
margin-top: 1rem;
}
> h2 + h3 {
margin-top: 1rem;
}
> h3, > h4, > h5, > h6 {
margin-bottom: 1rem;
margin-top: 2rem;
}
> h3,
> h4,
> h5,
> h6 {
margin-bottom: 1rem;
margin-top: 2rem;
}
img {
@extend .img-fluid;
}
img {
@extend .img-fluid;
}
table {
@extend .table-striped;
table {
@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 {
padding: 0 0 0 1rem;
margin-bottom: $spacer;
color: $gray-600;
border-left: 6px solid $secondary;
}
strong {
font-weight: $font-weight-bold;
}
ul li, ol li {
margin-bottom: .25rem;
}
.footnotes,
> .alert,
> .highlight,
> .lead,
> .td-table,
> blockquote,
> dl dd,
> h1,
> h2,
> ol,
> p,
> pre,
> ul {
@extend .td-max-width-on-larger-screens;
}
strong {
font-weight: $font-weight-bold;
}
.alert:not(:first-child) {
margin-top: 2 * $spacer;
margin-bottom: 2 * $spacer;
}
> pre, > .highlight, > .lead, > h1, > h2, > ul, > ol, > p, > blockquote, > dl dd, .footnotes, > .alert {
@extend .td-max-width-on-larger-screens;
}
.alert:not(:first-child) {
margin-top: 2 * $spacer;
margin-bottom: 2 * $spacer;
}
.lead {
margin-bottom: 1.5rem;
}
.lead {
margin-bottom: 1.5rem;
}
}
.td-title {
margin-top: 1rem;
margin-bottom: .5rem;
margin-top: 1rem;
margin-bottom: 0.5rem;
@include media-breakpoint-up(sm) {
font-size: 3rem;
}
}
@include media-breakpoint-up(sm) {
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 {
display: inline-block;
position: relative;
display: inline-block;
position: relative;
button {
position: absolute;
font-size: 0.8em;
bottom: 5px;
right: 5px;
background-color: rgba($secondary, .8);
color: $primary-light;
padding: 0.4em 0.5em;
display: none;
}
button {
@extend .btn;
@extend .btn-outline-primary;
position: absolute;
bottom: 5px;
right: 5px;
padding: 0.4em 0.5em;
font-size: 0.8em;
display: none;
}
&:hover button {
display: inline;
}
}
div.drawioframe {
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0px;
z-index: 1000;
background: #000b;
border: 0;
iframe {
position: absolute;
height: 90%;
width: 90%;
top: 5%;
left: 5%;
z-index: 1010;
}
&:hover button {
display: inline;
}
}
div.drawioframe {
position: fixed;
height: 100%;
width: 100%;
top: 0;
left: 0px;
z-index: 1000;
background: #000b;
border: 0;
iframe {
position: absolute;
height: 90%;
width: 90%;
top: 5%;
left: 5%;
z-index: 1010;
}
}

View File

@ -1,32 +1,34 @@
// The outer page container i.e. common styles for any page.
.td-outer {
display: flex;
flex-direction: column;
height: 100vh;
display: flex;
flex-direction: column;
min-height: 100vh;
}
// The outer page container for the default base template.
.td-default {
main {
> section:first-of-type {
@include media-breakpoint-up(md) {
padding-top: 8rem;
}
}
section {
@extend .td-block-padding;
}
main {
> section:first-of-type {
@include media-breakpoint-up(md) {
padding-top: 8rem;
}
}
section {
@extend .td-block-padding;
}
}
}
.td-main {
flex-grow: 1;
flex-grow: 1;
}
.td-404 main,
.td-main main {
padding-top: 1.5rem;
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 {
background: $primary;
@include media-breakpoint-up(md) {
background: transparent !important;
.nav-link {
text-shadow: 1px 1px 2px $dark;
}
@include media-breakpoint-up(md) {
background: transparent !important;
.nav-link {
text-shadow: 1px 1px 2px $dark;
}
}
&.navbar-bg-onscroll .nav-link {
text-shadow: none;
}
&.navbar-bg-onscroll .nav-link {
text-shadow: none;
}
}
.navbar-bg-onscroll {
background: $primary !important;
opacity: inherit;
background: $primary !important;
opacity: inherit;
}
.td-navbar {
background: $primary;
min-height: 4rem;
margin: 0;
z-index: 32;
@extend .navbar;
@extend .navbar-expand;
@include media-breakpoint-up(md) {
position: fixed;
top: 0;
width: 100%;
background: $primary;
min-height: 4rem;
margin: 0;
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 {
text-transform: none;
text-align: middle;
&__name {
font-weight: $font-weight-bold;
}
svg {
display: inline-block;
margin: 0 10px;
height: 30px;
}
margin-right: 0;
}
.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-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;
}
}
.navbar-nav {
padding-bottom: 2rem;
overflow-x: auto;
}
}
}
// Icons
#main_navbar {
li i {
li i {
padding-right: 0.5em;
&:before {
display: inline-block;
text-align: center;
min-width: 1em;
}
&:before {
display: inline-block;
text-align: center;
min-width: 1em;
}
}
.alert {
background-color: inherit;
padding:0;
padding: 0;
color: $secondary;
border: 0;
font-weight: inherit;
&: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: "\f0d9";
padding-left: 0.5em;
padding-right: 0.5em;
}
&: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: "\f0d9";
padding-left: 0.5em;
padding-right: 0.5em;
}
}
}
// Foldable sidebar menu
nav.foldable-nav {
&#td-section-nav {
position: relative;
}
&#td-section-nav {
position: relative;
&#td-section-nav label {
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 {
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);
}
}
.ul-1 .with-child > input:checked ~ label:before {
color: $primary;
transform: rotate(90deg);
transition: transform 0.5s;
}
.with-child ul { margin-top: 0.1em; }
.ul-1 .with-child > input:checked ~ label:before {
color: $primary;
transform: rotate(90deg);
transition: transform 0.5s;
}
.with-child ul {
margin-top: 0.1em;
}
}
@media (hover: hover) and (pointer: fine) {
nav.foldable-nav {
.ul-1 .with-child > label:hover:before {
color: $primary;
transition: color 0.3s;
}
.ul-1 .with-child > input:checked ~ label:hover:before {
color: $primary;
transition: color 0.3s;
}
nav.foldable-nav {
.ul-1 .with-child > 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 {
font-weight: $font-weight-medium;
background: $gray-100;
color: inherit;
border-radius: 0;
margin: 2rem;
padding: 1.5rem;
padding-bottom: 0.5rem;
font-weight: $font-weight-medium;
background: $gray-100;
color: inherit;
border-radius: 0;
margin: 2rem;
padding: 1.5rem;
padding-bottom: 0.5rem;
@each $color, $value in $theme-colors {
&-#{$color} {
border-style: solid;
border-color: $value;
}
@each $color, $value in $theme-colors {
&-#{$color} {
border-style: solid;
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
.td-search {
background: transparent;
position: relative;
width: 90%;
background: transparent;
position: relative;
width: 100%;
// Search icon
&__icon {
// Vertically center the content.
display: flex;
align-items: center;
height: 100%;
// Search icon
&__icon {
// Vertically center the content.
display: flex;
align-items: center;
height: 100%;
// Position this on the left of the input.
position: absolute;
left: 0.75em;
// Position this on the left of the input.
position: absolute;
left: 0.75em;
// Click-through to the underlying input.
pointer-events: none;
// Click-through to the underlying input.
pointer-events: none;
&:before {
@extend .fa;
content: fa-content($fa-var-search);
}
// Styling adjustments for the navbar
@at-root {
.td-navbar & {
color: $navbar-dark-color;
}
}
&:before {
@extend .fa;
content: fa-content($fa-var-search);
}
// Search input element
&__input {
width: 100%;
text-indent: 1.25em;
// Styling adjustments for the navbar
@at-root {
.td-navbar & {
color: $navbar-dark-color;
}
}
}
@if $enable-rounded {
border-radius: 1rem;
}
&: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;
}
}
}
// Search input element
&__input {
width: 100%;
text-indent: 1.25em;
&:not(:focus) {
background: transparent;
}
// Hide icon on focus
&:focus-within {
.td-search__icon {
display: none;
}
.td-search-input {
text-indent: 0px;
}
&.form-control:focus {
border-color: tint-color($primary, 95%);
box-shadow: 0 0 0 2px tint-color($primary, 40%);
color: inherit;
}
&:not(:focus-within) {
color: $input-placeholder-color;
// Styling adjustments for the navbar
@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
.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 {
// Don't hide the search icon on focus: this gives better UX when user
// explores content of search-results popup and focus is lost.
.td-search__icon {
display: flex;
color: $input-placeholder-color;
}
.td-search__icon {
display: flex;
color: $input-placeholder-color;
}
}
}
.td-offline-search-results {
max-width: 90%;
max-width: 90%;
.card {
margin-bottom: $spacer * .5;
.card {
margin-bottom: $spacer * 0.5;
.card-header {
font-weight: bold;
}
.card-header {
font-weight: bold;
}
}
&__close-button {
// cursor: pointer;
float: right;
&__close-button {
// cursor: pointer;
float: right;
&:after {
@extend .fas;
content: fa-content($fa-var-times);
}
&:after {
@extend .fas;
content: fa-content($fa-var-times);
}
}
}

View File

@ -2,61 +2,60 @@
// Right side toc
//
.td-sidebar-toc {
border-left: 1px solid $border-color;
@include link-decoration;
@supports (position: sticky) {
position: sticky;
top: 4rem;
height: calc(100vh - 4rem);
overflow-y: auto;
}
border-left: 1px solid $border-color;
order: 2;
padding-top: 0.75rem;
padding-bottom: 1.5rem;
vertical-align: top;
@supports (position: sticky) {
position: sticky;
top: 4rem;
height: calc(100vh - 4rem);
overflow-y: auto;
}
}
order: 2;
padding-top: 0.75rem;
padding-bottom: 1.5rem;
vertical-align: top;
.td-page-meta {
a {
display: block;
font-weight: $font-weight-medium;
}
.td-page-meta a {
display: block;
font-weight: $font-weight-medium;
}
}
.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 {
display: block;
font-weight: $font-weight-light;
padding-bottom: .25rem;
color: $gray-600;
&:focus,
&:hover {
color: initial;
}
}
}
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 {
color: $gray-600;
&:hover {
color: $blue;
text-decoration: none;
}
}
}
ul {
padding-left: 0;
}
ul {
padding-left: 0;
}
}

View File

@ -2,161 +2,179 @@
// Left side navigation
//
.td-sidebar-nav {
padding-right: 0.5rem;
margin-right: -15px;
margin-left: -15px;
$_max-height: calc(100vh - 8.5rem);
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) {
@supports (position: sticky) {
max-height: calc(100vh - 10rem);
overflow-y: auto;
}
& .ul-1 ul {
padding-left: 1.5em;
}
}
padding-left: 0;
}
@include media-breakpoint-up(md) {
display: block !important;
}
&__section-title {
display: block;
font-weight: $font-weight-medium;
&__section {
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;
}
.active {
font-weight: $font-weight-bold;
}
a {
&:hover {
color: $blue;
text-decoration: none;
}
color: $gray-900;
}
}
&.active {
font-weight: $font-weight-bold;
}
.td-sidebar-link {
display: block;
padding-bottom: 0.375rem;
&__page {
color: $gray-700;
font-weight: $font-weight-light;
}
}
a {
&:focus,
&:hover {
color: $link-color;
}
.dropdown {
a {
color: $gray-700;
}
&.active {
font-weight: $font-weight-bold;
}
}
.nav-link {
padding: 0 0 1rem;
}
.dropdown {
a {
color: $gray-700;
}
& > .td-sidebar-nav__section {
padding-top: .5rem;
padding-left: 1.5rem;
.nav-link {
padding: 0 0 1rem;
}
}
li i { // Layout of icons
padding-right: 0.5em;
&:before{
display: inline-block;
text-align: center;
min-width: 1em;
}
}
& > .td-sidebar-nav__section {
padding-left: 1.5rem;
}
.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;
li i {
// Layout of icons
padding-right: 0.5em;
&:before {
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 {
@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) {
padding-top: 4rem;
background-color: $td-sidebar-bg-color;
padding-right: 1rem;
border-right: 1px solid $td-sidebar-border-color;
@supports (position: sticky) {
position: sticky;
top: 4rem;
z-index: 10;
height: calc(100vh - 5rem);
}
}
padding-bottom: 1rem;
&__toggle {
line-height: 1;
color: $gray-900;
margin: 1rem;
@include media-breakpoint-up(xl) {
flex: 0 1 320px;
}
&__search {
padding: 1rem 15px;
margin-right: -15px;
margin-left: -15px;
.td-search-box {
width: 100%;
}
}
&__inner {
order: 0;
#content-desktop {
display: block;
}
#content-mobile {
display: none;
}
@include media-breakpoint-up(md) {
@supports (position: sticky) {
position: sticky;
top: 4rem;
z-index: 10;
height: calc(100vh - 6rem);
}
}
@include media-breakpoint-up(xl) {
flex: 0 1 320px;
}
.td-search-box {
width: 100%;
}
@include media-breakpoint-down(lg) {
#content-desktop {
display: none;
}
#content-desktop {display: block;}
#content-mobile {display: none;}
@include media-breakpoint-down(md) {
#content-desktop {display: none;}
#content-mobile {display: block;}
#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 {
li + li::before {
content: none;
}
}
.taxo-fruits {
.taxonomy-count,
.taxonomy-label {
display: inherit;
@ -125,15 +123,15 @@
margin: 0 0.5em 0.2em 0;
text-decoration: none;
-webkit-transition: color 0.2s;
-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);
-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);
&:hover {
background-color: $primary;
color: $white;
.taxonomy-count{
color: $dark!important;
.taxonomy-count {
color: $dark !important;
}
}
@ -144,7 +142,6 @@
// Example for simple tags layout
.taxo-text-tags {
.taxonomy-term {
background: none;
border-width: 0;
@ -165,8 +162,8 @@
background: none;
color: $link-color;
.taxonomy-count{
color: $dark!important;
.taxonomy-count {
color: $dark !important;
}
}
@ -201,7 +198,6 @@
// Example for icon tags
.taxo-fruits {
.taxonomy-term[data-taxonomy-term]::before {
font-style: normal;
font-variant: normal;
@ -254,8 +250,8 @@
background: none;
color: $link-color;
.taxonomy-count{
color: $dark!important;
.taxonomy-count {
color: $dark !important;
}
}
@ -333,16 +329,16 @@
.article-teaser {
&.card {
padding: 1.0em;
margin-bottom: 1.5em;
padding: 1em;
margin-bottom: 1.5em;
}
.breadcrumb {
margin-bottom: 0em;
font-size: 0.85rem;
margin-bottom: 0em;
font-size: 0.85rem;
}
.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-rounded: true !default;
$enable-shadows: true !default;
// Theme flags.
$td-enable-google-fonts: true !default;
// Theme colors
$primary: #30638E !default;
$primary-light: lighten($primary, 75%) !default;
$secondary: #FFA630 !default;
$success: #3772FF !default;
$info: #C0E0DE !default;
$warning: #ED6A5A !default;
$danger: #ED6A5A !default;
$white: #fff !default;
$light: #D3F3EE !default;
// TODO: consider moving all of these theme-color definitions into the User
// Guide SCSS, or declare theme here, but namespaced:
$dark: #403F4C !default;
$blue: #72A1E5 !default;
$orange: #BA5A31 !default;
$gray-100: #f8f9fa !default;
$gray-200: #eee !default;
$gray-300: #dee2e6 !default;
$gray-400: #ccc !default;
$gray-500: #adb5bd !default;
$gray-600: #797676 !default;
$gray-700: #495057 !default;
$gray-800: #333 !default;
$gray-900: #222 !default;
$black: #000 !default;
$primary: #30638e !default;
$secondary: #ffa630 !default;
$success: #3772ff !default;
$info: #c0e0de !default;
$warning: #ed6a5a !default;
$danger: #ed6a5a !default;
$light: #d3f3ee !default; // TODO: consider using BS value
$dark: #403f4c !default; // TODO: consider using BS value
$code-color: darken($secondary, 20%) !default;
$code-color: shade-color($secondary, 40%) !default;
// 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-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
// if not provided by the user.
// 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.
$td-box-colors: $dark, $primary, $secondary, $info, $primary-light, $gray-600, $success, $warning, $dark, $danger, $primary, $secondary, $primary-light, $info !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
// if not provided by the user. 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.
$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-decoration: none !default;
$link-hover-color: darken($link-color, 15%) !default;
$link-hover-decoration: none !default;
$link-color: $blue-500 !default;
$link-shade-percentage: 30% !default;
// Fonts
$td-enable-google-fonts: true !default;
$google_font_name: "Open Sans" !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";
$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 {
$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-base: $font-family-sans-serif !default;
$font-size-base: 1rem !default;
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
"Liberation Mono", "Courier New", monospace !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
$font-family-base: $font-family-sans-serif !default; // TODO: consider moving into UG SCSS or namespace the var (td-)
// Font weights
$font-weight-light: 300 !default;
$font-weight-normal: 400 !default;
$font-weight-medium: 500 !default;
$font-weight-bold: 700 !default;
$font-weight-medium: 500 !default; // TODO: move into var forward file after upgrading BS to v5.3+
$font-weight-body-text: $font-weight-normal !default;
$headings-font-weight: $font-weight-medium !default;
// Heading sizes
$h1-font-size: $font-size-base * 2.25 !default;
$h2-font-size: $font-size-base * 2 !default;
$h3-font-size: $font-size-base * 1.5 !default;
$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;
$h3-font-size: $font-size-base * 1.5 !default; // TODO: consider using BS default (* 1.75), or moving into UG SCSS
$h4-font-size: $font-size-base * 1.35 !default; // TODO: consider using BS default (* 1.5), or moving into UG SCSS
$h5-font-size: $font-size-base * 1.15 !default; // TODO: consider using BS default (* 1.25), or moving into UG SCSS
// Space
$spacer: 1rem;
$td-block-space-top-base: 4 * $spacer !default;
$td-block-space-bottom-base: 4 * $spacer !default;
// Pagination
$pagination-color: $gray-600 !default;
$pagination-border-color: rgba($black, 0.1) !default;
$pagination-active-border-color: darken($primary, 5%) !default;
$pagination-disabled-color: $gray-300 !default;
$pagination-color: $gray-600 !default; // TODO: consider using BS default
$pagination-disabled-color: $gray-300 !default; // TODO: consider using BS default
// Navbar
$navbar-dark-color: rgba($white, 0.75) !default;
$navbar-dark-hover-color: rgba($white, 0.5) !default;
$navbar-dark-active-color: $white !default;
$navbar-dark-disabled-color: rgba($white, 0.25) !default;
$navbar-dark-color: rgba($white, 0.75) !default; // TODO: consider moving into UG SCSS
$navbar-dark-hover-color: rgba($white, 0.5) !default; // TODO: consider moving into UG SCSS
// The yiq lightness value that determines when the lightness of color changes from "dark" to "light".
$yiq-contrasted-threshold: 200 !default;
// Footer
$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";
.td-bg-arrow {
&-wrapper {
position: relative;
}
}
&-wrapper {
position: relative;
}
}

View File

@ -3,22 +3,23 @@
@include td-box-height-modifiers(".td-cover-block");
.td-cover-logo {
margin-right: 0.5em;
margin-right: 0.5em;
}
.td-cover-block {
position: relative;
padding-top: 5rem;
padding-bottom: 5rem;
background: {
repeat: no-repeat;
position: 50% 0;
size: cover;
};
position: relative;
padding-top: 5rem;
padding-bottom: 5rem;
background: {
repeat: no-repeat;
position: 50% 0;
size: cover;
}
& > .byline {
position: absolute;
bottom: 2px;
right: 4px;
}
}
& > .byline {
@extend .small;
position: absolute;
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";
@import "support/mixins";
@import "../vendor/bootstrap/scss/bootstrap";
@import "support/bootstrap_vers_test";
@import "../vendor/Font-Awesome/scss/fontawesome.scss";
@import "../vendor/Font-Awesome/scss/solid.scss";
@ -11,13 +14,13 @@
@import "support/utilities";
@import "colors";
@import "table";
@import "boxes";
@import "blog";
@import "code";
@import "nav";
@import "sidebar-tree";
@import "sidebar-toc";
@import "buttons";
@import "breadcrumb";
@import "alerts";
@import "content";
@ -29,41 +32,83 @@
@import "taxonomy";
@import "drawio";
@import "shortcodes";
@import "swagger";
@if $td-enable-google-fonts {
@import url($web-font-path);
@import url($web-font-path);
}
footer {
min-height: 150px;
.td-footer {
@extend .td-box--dark;
@include media-breakpoint-down(md) {
min-height: 200px;
min-height: 150px;
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.
@include media-breakpoint-up(md) {
.td-offset-anchor:target {
display: block;
position: relative;
top: -4rem;
visibility: hidden;
}
.td-offset-anchor:target {
display: block;
position: relative;
top: -4rem;
visibility: hidden;
}
h2[id]:before,
h3[id]:before,
h4[id]:before,
h5[id]:before {
display: block;
content: " ";
margin-top: -5rem;
height: 5rem;
visibility: hidden;
}
h2[id]:before,
h3[id]:before,
h4[id]:before,
h5[id]:before {
display: block;
content: " ";
margin-top: -5rem;
height: 5rem;
visibility: hidden;
}
}
@import "rtl/main";
@import "styles_project";

View File

@ -5,47 +5,51 @@ body:lang(dv),
body:lang(he),
body:lang(ku),
body:lang(ur) {
@import "spacing";
@import 'spacing';
direction: rtl;
text-align: right;
direction: rtl;
.dropdown-menu {
text-align: right;
}
.dropdown-menu {
text-align: right;
}
.text-right {
text-align: left !important;
}
.text-right {
text-align: left !important;
}
pre {
text-align: left;
direction: ltr;
}
pre {
text-align: left;
direction: ltr;
}
.td-rss-button {
left: 1rem !important;
right: auto !important;
}
.td-rss-button {
left: 1rem !important;
right: auto !important;
}
}
body:lang(fa) {
@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";
@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";
}
body:lang(he) {
@if $td-enable-google-fonts {
@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";
@if $td-enable-google-fonts {
@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";
}
body:lang(ar) {
@if $td-enable-google-fonts {
@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";
@if $td-enable-google-fonts {
@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";
}

View File

@ -1,91 +1,87 @@
@each $breakpoint in map-keys($grid-breakpoints) {
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@include media-breakpoint-up($breakpoint) {
$infix: breakpoint-infix($breakpoint, $grid-breakpoints);
@each $prop,
$abbrev in (margin: m, padding: p) {
@each $size,
$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;
}
}
@each $prop, $abbrev in (margin: m, padding: p) {
@each $size, $length in $spacers {
.#{$abbrev}#{$infix}-#{$size} {
#{$prop}: $length !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;
}
}
.#{$abbrev}t#{$infix}-#{$size},
.#{$abbrev}y#{$infix}-#{$size} {
#{$prop}-top: $length !important;
}
// Some special margin utils
.m#{$infix}-auto {
margin: auto !important;
.#{$abbrev}r#{$infix}-#{$size},
.#{$abbrev}x#{$infix}-#{$size} {
#{$prop}-inline-end: $length !important;
}
.mt#{$infix}-auto,
.my#{$infix}-auto {
margin-top: auto !important;
.#{$abbrev}b#{$infix}-#{$size},
.#{$abbrev}y#{$infix}-#{$size} {
#{$prop}-bottom: $length !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;
.#{$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`)
@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 {
.entry {
padding: 0.75rem;
}
.entry {
padding: .75rem;
h5 {
margin-bottom: 0;
a {
font-weight: 700;
}
}
h5 {
margin-bottom: 0;
a {
font-weight: 700;
}
}
p {
margin-top: 0;
}
p {
margin-top: 0;
}
}

View File

@ -1,2 +1,2 @@
@import "shortcodes/tabbed-pane.scss";
@import "shortcodes/cards-pane.scss";
@import "shortcodes/tabbed-pane.scss";
@import "shortcodes/cards-pane.scss";

View File

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

View File

@ -1,21 +1,17 @@
.tab-content {
.tab-pane {
pre {
margin: 0rem 0 0rem 0;
}
}
// Only constrain max-width for top-level tabbed panes not, e.g., those in lists.
.td-content > .tab-content .tab-pane {
@extend .td-max-width-on-larger-screens;
}
.tab-content {
.tab-pane {
.highlight {
margin: 0rem 0 0rem 0;
margin: 0;
border: none;
max-width: 100%;
}
margin-top: 0rem;
margin-bottom: 1.5rem;
max-width: 80%;
border-left: 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);
@ -29,6 +25,15 @@
border-radius: 0;
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 {
&-#{$color} {
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) {
#{$parent} {
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
@mixin link-decoration($base: none, $focus_or_hover: initial) {
a {
text-decoration: $base;
&:focus,
&:hover {
text-decoration: $focus_or_hover;
}
}
.btn-link {
text-decoration: $base;
}
}
@mixin link-variant($parent, $color, $hover-color, $underline: false) {
#{$parent} {
color: $color;
#{$parent} {
color: $color;
&:hover {
color: $hover-color;
}
@if $underline {
text-decoration: underline;
}
&:hover {
color: $hover-color;
}
@if $underline {
text-decoration: underline;
}
}
}
@mixin optional-at-root($sel) {
@at-root #{if(not &, $sel, selector-append(&, $sel))} {
@content;
}
@at-root #{if(not &, $sel, selector-append(&, $sel))} {
@content;
}
}
// placeholder allows styling of the placeholder used in search input etc.
@mixin placeholder {
@include optional-at-root("::-webkit-input-placeholder") {
@content;
}
@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("::-moz-placeholder") {
@content;
}
@include optional-at-root("::-moz-placeholder") {
@content;
}
@include optional-at-root(":-ms-input-placeholder") {
@content;
}
@include optional-at-root(":-ms-input-placeholder") {
@content;
}
}

View File

@ -1,82 +1,52 @@
// Mixins
@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.
// Common utility classes
.td-border-top {
border: none;
border-top: 1px solid #eee;
border: none;
border-top: 1px solid #eee;
}
.td-border-none {
border: none;
border: none;
}
.td-block-padding {
padding-top: $td-block-space-top-base ;
padding-bottom: $td-block-space-bottom-base;
padding-top: $td-block-space-top-base;
padding-bottom: $td-block-space-bottom-base;
@include media-breakpoint-up(md) {
padding-top: $td-block-space-top-base * 1.25;
padding-bottom: $td-block-space-bottom-base * 1.25;
}
@include media-breakpoint-up(md) {
padding-top: $td-block-space-top-base * 1.25;
padding-bottom: $td-block-space-bottom-base * 1.25;
}
}
.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;
&::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;
}
z-index: 1;
}
}
.td-max-width-on-larger-screens {
@include media-breakpoint-up(lg) {
max-width: 80%;
}
}
@include media-breakpoint-up(lg) {
max-width: 80%;
}
}

View File

@ -6,8 +6,6 @@ params:
time_format_blog: Monday, January 02, 2006
time_format_default: January 2, 2006
rss_sections: [blog]
drawio:
enable: true
outputFormats:
PRINT:
@ -20,7 +18,7 @@ outputFormats:
module:
hugoVersion:
extended: true
min: 0.73.0
min: 0.110.0
mounts:
- source: assets
target: assets
@ -44,3 +42,22 @@ module:
target: assets/vendor/Font-Awesome
- source: ../../node_modules/@fortawesome/fontawesome-free/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"
[ui_in]
other = "في"
# Used in sentences such as "All Tags"
[ui_all]
other = "كل"
# Footer text
[footer_all_rights_reserved]
@ -33,6 +36,8 @@ other = "منشئة"
other = "اخر تعديل"
[post_edit_this]
other = "عدل هذه الصفحة"
[post_view_this]
other = "أنظر مصدر الصفحة"
[post_create_child_page]
other = " أنشئ صفحة فرعية"
[post_create_issue]
@ -42,9 +47,9 @@ other = "أنشئ مسألة حول المشروع"
[post_posts_in]
other = "منشور في"
[post_reading_time]
other = "minute read"
other = "دقيقة للقراءة"
[post_less_than_a_minute_read]
other = "less than a minute"
other = "أقل من دقيقة"
# Print support
[print_printable_section]
@ -58,18 +63,18 @@ other = "اطبع القسم كاملا"
# Community
[community_join]
other = "Join the {{ .Site.Title }} community"
other = "انضم الي مجتمع {{ .Site.Title }}"
[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]
other = "Learn and Connect"
other = "تعلم وتواصل"
[community_using]
other = "Using or want to use {{ .Site.Title }}? Find out more here:"
other = "تستخدام أو تريد استخدام {{ .Site.Title }}؟ اكتشف المزيد هنا:"
[community_develop]
other = "Develop and Contribute"
other = "طور و ساهم"
[community_contribute]
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:"
other = "إذا كنت ترغب في المشاركة بشكل أكبر من خلال المساهمة في {{ .Site.Title }}, انضم إلينا هنا:"
[community_how_to]
other = "You can find out how to contribute to {{ .Site.Title }} in our"
other = "يمكنك معرفة كيفية المساهمة في {{ .Site.Title }} من خلال"
[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"
[community_guideline]
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]
other = "Privacy Policy"
# Post (blog, articles etc.)
[post_byline_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"
[community_guideline]
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"
[ui_read_more]
other = "Contiuar leyendo"
other = "Continuar leyendo"
[ui_search]
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 = "最終更新"
[post_edit_this]
other = "ページの編集"
[post_view_this]
other = "ページのソースコードを見る"
[post_create_child_page]
other = "子ページを作成"
[post_create_issue]

View File

@ -18,6 +18,9 @@ other = "Doorzoek deze site"
[ui_in]
other = "in"
[ui_all]
other = "alle"
# Footer text
[footer_all_rights_reserved]
other = "Alle rechten voorbehouden"
@ -25,7 +28,6 @@ other = "Alle rechten voorbehouden"
[footer_privacy_policy]
other = "Privacy Policy"
# Post (blog, articles etc.)
[post_byline_by]
other = "Door"
@ -35,6 +37,8 @@ other = "Aangemaakt"
other = "Laatst gewijzigd"
[post_edit_this]
other = "Bewerk deze pagina"
[post_view_this]
other = "Bekijk paginabron"
[post_create_child_page]
other = "Maak sub pagina"
[post_create_issue]
@ -56,22 +60,22 @@ other = "Klik hier om te printen"
[print_show_regular]
other = "Terug naar normale view van deze pagina"
[print_entire_section]
other = "Print complete sectie"
other = "Print volledige sectie"
# Community
[community_join]
other = "Join the {{ .Site.Title }} community"
other = "Wordt lid van de {{ .Site.Title }} community"
[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]
other = "Learn and Connect"
other = "Leren en aansluiten"
[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]
other = "Develop and Contribute"
other = "Ontwikkel en draag bij"
[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]
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]
other = "Contribution Guidelines"
other = "Richtlijnen voor bijdrage"

View File

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

View File

@ -1,5 +1,3 @@
# UI strings. Buttons and similar.
[ui_pager_prev]
@ -18,14 +16,17 @@ other = "Bu sitede arayın…"
[ui_in]
other = "içinde"
# Used in sentences such as "All Tags"
[ui_all]
other = "tüm"
# Footer text
[footer_all_rights_reserved]
other = "Bütün haklar saklıdır"
other = "Tüm Hakları Saklıdır"
[footer_privacy_policy]
other = "Gizlilik Politikası"
# Post (blog, articles etc.)
[post_byline_by]
other = "by"
@ -35,6 +36,8 @@ other = "Oluşturuldu"
other = "Son düzenleme"
[post_edit_this]
other = "Bu sayfayı düzenle"
[post_view_this]
other = "Sayfa kaynağını görüntüle"
[post_create_child_page]
other = "Çocuk sayfası oluştur"
[post_create_issue]
@ -46,7 +49,7 @@ other = "Gönderiler in"
[post_reading_time]
other = "minute read"
[post_less_than_a_minute_read]
other = "less than a minute"
other = "1 dakikadan az"
# Print support
[print_printable_section]
@ -60,18 +63,28 @@ other = "Bütün bölümü yazıdırın"
# Community
[community_join]
other = "Join the {{ .Site.Title }} community"
other = "{{ .Site.Title }} topluluğuna katılın"
[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]
other = "Learn and Connect"
other = "Öğrenin ve Bağlanın"
[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]
other = "Develop and Contribute"
other = "Geliştirin ve Katkıda Bulunun"
[community_contribute]
other = "If you want to get more involved by contributing to {{ .Site.Title }}, join us here:"
[community_how_to]
other = "You can find out how to contribute to {{ .Site.Title }} in our"
[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]
other = "提交项目问题"
[post_posts_in]
other = "张贴在"
other = "撰写于"
[post_reading_time]
other = "分钟阅读"
[post_less_than_a_minute_read]

View File

@ -7,14 +7,14 @@ other = "上一頁"
other = "下一頁"
[ui_read_more]
other = "更多"
other = "閱讀全文"
[ui_search]
other = "站內搜…"
other = "站內搜…"
# Used in sentences such as "Posted in News"
[ui_in]
other = ""
other = ""
# Used in sentences such as "All Tags"
[ui_all]
@ -30,7 +30,7 @@ other = "隱私政策"
# Post (blog, articles etc.)
[post_byline_by]
other = "藉由"
other = "作者:"
[post_created]
other = "創建"
[post_last_mod]
@ -46,21 +46,21 @@ other = "創建文檔議題"
[post_create_project_issue]
other = "創建項目議題"
[post_posts_in]
other = "張貼"
other = "張貼"
[post_reading_time]
other = "分鐘閱讀"
other = " 分鐘左右可讀完"
[post_less_than_a_minute_read]
other = "少於1分鐘"
other = "1 分鐘內可讀完"
# Print support
[print_printable_section]
other = "這是本節的多頁可印視圖。"
other = "這是本節的多頁可印視圖。"
[print_click_to_print]
other = "點擊此處印"
other = "點擊此處印"
[print_show_regular]
other = "返回此頁面的常規視圖"
[print_entire_section]
other = "印整個章節"
other = "印整個章節"
# Community
[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 */}}
{{ $delimiter_left := "$$" }}
{{ $delimiter_right := "$$" }}
{{ .Page.Store.Set "hasKaTeX" true -}}
{{/* 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}}
{{/* 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 equation */}}
<p>{{ $delimiter_left }}
{{ .Inner | safeHTML }}
{{ $delimiter_right }}</p>
<div class="math">{{ $delimiter_left -}}
{{ .Inner | safeHTML -}}
{{ $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>
{{ with .Params.description }}<div class="lead">{{ . | markdownify }}</div>{{ end }}
<header class="article-meta">
{{ partial "taxonomy_terms_article_wrapper.html" . }}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }}
{{ partial "reading-time.html" . }}
{{ end }}
</header>
{{ partial "taxonomy_terms_article_wrapper.html" . -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{ partial "reading-time.html" . -}}
{{ end -}}
</header>
{{ .Content }}
{{ if (and (not .Params.hide_feedback) (.Site.Params.ui.feedback.enable) (.Site.GoogleAnalytics)) }}
{{ partial "feedback.html" .Site.Params.ui.feedback }}
{{ partial "feedback.html" . -}}
{{ if (.Site.Params.DisqusShortname) -}}
<br />
{{ end }}
{{ if (.Site.Params.DisqusShortname) }}
<br />
{{ partial "disqus-comment.html" . }}
{{ end }}
{{- partial "disqus-comment.html" . -}}
{{ end -}}
{{ partial "page-meta-lastmod.html" . }}
</div>
{{/**/ -}}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -18,9 +18,9 @@
{{ partial "toc.html" . }}
{{ partial "taxonomy_terms_clouds.html" . }}
</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" -}}
<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>
</a>
{{ end -}}

View File

@ -14,7 +14,7 @@
</div>
<div class="d-none d-xl-block col-xl-2 td-toc d-print-none">
</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 }}
</main>
</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>
</div>
<header class="article-meta">
{{ partial "taxonomy_terms_article_wrapper.html" . }}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) }}
{{ partial "reading-time.html" . }}
{{ end }}
{{ partial "taxonomy_terms_article_wrapper.html" . -}}
{{ if (and (not .Params.hide_readingtime) (.Site.Params.ui.readingtime.enable)) -}}
{{ partial "reading-time.html" . -}}
{{ end -}}
</header>
{{ .Content }}
{{ if (.Site.Params.DisqusShortname) }}
{{ if (.Site.Params.DisqusShortname) -}}
<br />
{{ partial "disqus-comment.html" . }}
{{- partial "disqus-comment.html" . -}}
<br />
{{ end }}
{{ end -}}
{{ partial "pager.html" . }}
{{ partial "page-meta-lastmod.html" . -}}
</div>

View File

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

View File

@ -1,19 +1,24 @@
{{ define "main" }}
{{ define "main" -}}
<a class="td-offset-anchor"></a>
<section class="row td-box td-box--1 position-relative td-box--gradient td-box--height-auto">
<div><a class="td-offset-anchor"></a></div>
<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">
<span class="h4 mb-0">
<h1>{{ T "community_join" . }}</h1>
<p>{{ T "community_introduce" . }}</p>
</span>
<span class="h4 mb-0">
<h1>{{ T "community_join" . }}</h1>
<p>{{ T "community_introduce" . }}</p>
</span>
</div>
</div>
</section>
{{ partial "community_links.html" . -}}
{{ partial "community_links.html" . }}
{{ with .Content -}}
<div class="td-content">
{{ .Content }}
{{ . }}
</div>
{{- end -}}
{{ end }}

View File

@ -18,7 +18,7 @@
{{ partial "toc.html" . }}
{{ partial "taxonomy_terms_clouds.html" . }}
</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" . }}
{{ if not .Site.Params.ui.breadcrumb_disable }}{{ partial "breadcrumb.html" . }}{{ end }}
{{ block "main" . }}{{ end }}

View File

@ -10,7 +10,7 @@
<div class="container-fluid td-outer">
<div class="td-main">
<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 }}
</main>
</div>

View File

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

View File

@ -20,10 +20,10 @@
{{ $isActive := eq .p1 .p2 }}
<li class="breadcrumb-item{{ if $isActive }} active{{ end }}"
{{- if $isActive }} aria-current="page"{{ end }}>
<a href="{{ .p1.Permalink }}"
{{- if $isActive }} aria-disabled="true" class="btn-link disabled"{{ end -}}
>
{{- .p1.LinkTitle -}}
</a>
{{ if $isActive -}}
{{ .p1.LinkTitle -}}
{{ else -}}
<a href="{{ .p1.RelPermalink }}">{{ .p1.LinkTitle }}</a>
{{- end -}}
</li>
{{- 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">
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<h2>{{ T "community_learn" }}</h2>
<p>{{ T "community_using" . }}</p>
{{ with index $links "user"}}
{{ template "community-links-list" . }}
{{ end }}
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<h2>{{ T "community_develop" }}</h2>
<p>{{ T "community_contribute" . }}</p>
{{ with index $links "developer"}}
{{ template "community-links-list" . }}
{{ end }}
<p>{{ T "community_how_to" . }} <a href="/docs/contribution-guidelines/">{{ T "community_guideline" }}</a>
</div>
<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">
<h2>{{ T "community_learn" }}</h2>
<p>{{ T "community_using" . }}</p>
{{ with index $links "user" -}}
{{ template "community-links-list" . -}}
{{ end }}
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-lg-6">
<h2>{{ T "community_develop" }}</h2>
<p>{{ T "community_contribute" . }}</p>
{{ with index $links "developer" -}}
{{ template "community-links-list" . -}}
{{ end }}
<p>
{{ T "community_how_to" . }}
<a href="{{ "docs/contribution-guidelines" | relURL }}">{{ T "community_guideline" }}</a>.
</p>
</div>
</section>
{{ define "community-links-list" }}
{{ define "community-links-list" -}}
<ul>
{{ range . }}
<li title="{{ .name }}">
<a target="_blank" rel="noopener" href="{{ .url }}"><i class="{{ .icon }}"></i> {{ .name }}:</a>
{{ .desc }}
</li>
{{ end }}
</ul>
{{ range . -}}
<li title="{{ .name }}">
<a target="_blank" rel="noopener" href="{{ .url }}"><i class="{{ .icon }}"></i> {{ .name }}</a>:
{{ .desc }}
</li>
{{ end }}
</ul>
{{- end }}

View File

@ -1,7 +1,7 @@
{{ $w := .w | default 480 }}
{{ $h := .h | default 180 }}
{{ $p := .p }}
{{ $class := .class | default "ml-3" }}
{{ $class := .class | default "ms-3" }}
{{ $image := ($p.Resources.ByType "image").GetMatch "**featured*" }}
{{ with $image }}
{{ $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>
.feedback--answer {
display: inline-block;
@ -14,10 +16,10 @@
}
</style>
<div class="d-print-none">
<h2 class="feedback--title">Feedback</h2>
<p class="feedback--question">Was this page helpful?</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-no">No</button>
<h2 class="feedback--title">{{- i18n "feedback_title" -}}</h2>
<p class="feedback--question">{{- i18n "feedback_question" -}}</p>
<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">{{- i18n "feedback_negative" -}}</button>
<p class="feedback--response feedback--response-yes">
{{ .yes | safeHTML }}
</p>
@ -35,21 +37,18 @@
noButton.disabled = true;
};
const sendFeedback = (value) => {
if (typeof ga !== 'function') return;
const args = {
command: 'send',
hitType: 'event',
category: 'Helpful',
action: 'click',
label: window.location.pathname,
value: value
};
ga(args.command, args.hitType, args.category, args.action, args.label, args.value);
if (typeof gtag !== 'function') return;
gtag('event', 'page_helpful', {
'event_category': 'Helpful',
'event_label': window.location.pathname,
'value': value
});
};
yesButton.addEventListener('click', () => {
yesResponse.classList.add('feedback--response__visible');
disableButtons();
sendFeedback(1);
{{ $maxValue := .max_value | default 100 -}}
sendFeedback({{ $maxValue }});
});
noButton.addEventListener('click', () => {
noResponse.classList.add('feedback--response__visible');
@ -57,3 +56,6 @@
sendFeedback(0);
});
</script>
{{ end -}}
<br />
{{ end -}}

View File

@ -1,39 +1,17 @@
{{ $links := .Site.Params.links }}
<footer class="bg-dark py-5 row d-print-none">
<div class="container-fluid mx-sm-5">
<div class="row">
<div class="col-6 col-sm-4 text-xs-center order-sm-2">
{{ with $links }}
{{ with index . "user"}}
{{ template "footer-links-block" . }}
{{ end }}
{{ end }}
<footer class="td-footer row d-print-none">
<div class="container-fluid">
<div class="row mx-md-2">
<div class="td-footer__left col-6 col-sm-4 order-sm-1">
{{ partial "footer/left.html" . }}
</div>
<div class="col-6 col-sm-4 text-right text-xs-center order-sm-3">
{{ with $links }}
{{ with index . "developer"}}
{{ template "footer-links-block" . }}
{{ end }}
{{ end }}
{{- /* Trim WS */ -}}
<div class="td-footer__right col-6 col-sm-4 order-sm-3">
{{ partial "footer/right.html" . }}
</div>
<div class="col-12 col-sm-4 text-center py-2 order-sm-2">
{{ with .Site.Params.copyright }}<small class="text-white">&copy; {{ now.Year}} {{ .}} {{ T "footer_all_rights_reserved" }}</small>{{ end }}
{{ with .Site.Params.privacy_policy }}<small class="ml-1"><a href="{{ . }}" target="_blank" rel="noopener">{{ T "footer_privacy_policy" }}</a></small>{{ end }}
{{ if not .Site.Params.ui.footer_about_disable }}
{{ with .Site.GetPage "about" }}<p class="mt-2"><a href="{{ .RelPermalink }}">{{ .Title }}</a></p>{{ end }}
{{ end }}
{{- /* Trim WS */ -}}
<div class="td-footer__center col-12 col-sm-4 py-2 order-sm-2">
{{ partial "footer/center.html" . }}
</div>
</div>
</div>
</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 name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{{ hugo.Generator }}
{{ range .AlternativeOutputFormats -}}
<link rel="{{ .Rel }}" type="{{ .MediaType.Type }}" href="{{ .Permalink | safeURL }}">
{{ end -}}
@ -27,8 +26,8 @@
{{ template "_internal/twitter_cards.html" . -}}
{{ partialCached "head-css.html" . "asdf" -}}
<script
src="https://code.jquery.com/jquery-3.6.0.min.js"
integrity="sha384-vtXRMe3mGCbOeY7l30aIg8H9p3GdeSe4IFlP6G8JMa7o7lXvnz3GFKzPxzJdPfGK"
src="https://code.jquery.com/jquery-3.6.3.min.js"
integrity="sha512-STof4xm1wgkfm7heWqFJVn58Hm3EtS31XFaagaa8VMReCXAkQnJZ+jEy8PCC/iT18dFy95WcExNHFTqLyp72eQ=="
crossorigin="anonymous"></script>
{{ if .Site.Params.offlineSearch -}}
<script defer
@ -41,6 +40,8 @@
<link rel="stylesheet" href="{{ "css/prism.css" | relURL }}"/>
{{ end -}}
{{ template "algolia/head" . -}}
{{ partial "hooks/head-end.html" . -}}
{{/* 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" . -}}
{{ 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. */}}
{{ $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">
{{ $langPage.Language.LanguageName }}
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
{{ range $langPage.Translations }}
<a class="dropdown-item" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a>
{{ end }}
{{/* Link directly to documentation etc., if possible. */ -}}
{{ $langPage := cond (gt (len .Translations) 0) . .Site.Home -}}
<div class="dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{- $langPage.Language.LanguageName -}}
</a>
<ul class="dropdown-menu">
{{ range $langPage.Translations -}}
<li><a class="dropdown-item" href="{{ .RelPermalink }}">{{ .Language.LanguageName }}</a></li>
{{ end -}}
</ul>
</div>

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