Compare commits
4 commits
eeaea42690
...
37c6366447
Author | SHA1 | Date | |
---|---|---|---|
37c6366447 | |||
783ce3f332 | |||
75a822112f | |||
063f84f1ad |
29 changed files with 2854 additions and 19 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
@ -4,3 +4,7 @@ resources/
|
|||
|
||||
# Jetbrains
|
||||
.idea/
|
||||
|
||||
# node modules
|
||||
**/node_modules/
|
||||
|
||||
|
|
|
@ -9,28 +9,28 @@ categories: ["recette"]
|
|||
tags: []
|
||||
---
|
||||
|
||||
{{% panel title="Ingrédients" %}}
|
||||
{{% panel status="recipe" title="Ingrédients" %}}
|
||||
|
||||
- ingredient 1
|
||||
- ingredient 2
|
||||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Matos" %}}
|
||||
{{% panel status="recipe" title="Matos" %}}
|
||||
|
||||
- matos 1
|
||||
- matos 2
|
||||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Instructions" %}}
|
||||
{{% panel status="recipe" title="Instructions" %}}
|
||||
|
||||
1. instruction 1
|
||||
2. instruction 2
|
||||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Source" %}}
|
||||
{{% panel status="recipe" title="Source" %}}
|
||||
|
||||
https://source.fr
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
---
|
||||
title: "Crêpes sucrées de froment"
|
||||
title: "Crêpes sucrées au froment"
|
||||
date: 2025-03-21T22:50:00+01:00
|
||||
lastmod: 2025-03-21T22:50:00+01:00
|
||||
publishdate: 2025-03-21T22:50:00+01:00
|
||||
description: "Recette"
|
||||
weight: 10
|
||||
tags: ["crêpes", "sucré", "bretagne"]
|
||||
categories: ["recette"]
|
||||
categories: ["recette", "dessert"]
|
||||
---
|
||||
|
||||
{{% panel title="Ingrédients" %}}
|
||||
{{% panel status="recipe" title="Ingrédients" %}}
|
||||
|
||||
- 300 g de farine de blé
|
||||
- 50 g de sucre
|
||||
|
@ -18,7 +18,7 @@ categories: ["recette"]
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Instructions" %}}
|
||||
{{% panel status="recipe" title="Instructions" %}}
|
||||
|
||||
1. Battez les œufs. Ajoutez la farine et le sucre, puis le lait petit à petit.
|
||||
2. Laissez reposer au frais si votre dîner n'est pas dans 5 minutes.
|
||||
|
@ -27,7 +27,7 @@ beurre fondu à la pâte.
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Source" %}}
|
||||
{{% panel status="recipe" title="Source" %}}
|
||||
|
||||
https://www.slate.fr/story/97483/vraie-recette-crepes-galettes
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ tags: ["crêpes", "salé", "sarrasin", "bretagne"]
|
|||
categories: ["recette"]
|
||||
---
|
||||
|
||||
{{% panel title="Ingrédients" %}}
|
||||
{{% panel status="recipe" title="Ingrédients" %}}
|
||||
|
||||
Pour 15 crêpes environ
|
||||
|
||||
|
@ -19,7 +19,7 @@ Pour 15 crêpes environ
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Instructions" %}}
|
||||
{{% panel status="recipe" title="Instructions" %}}
|
||||
|
||||
1. Mettez la farine et le sel dans un saladier. Ajoutez l’eau petit à petit en battant bien.
|
||||
2. Continuez à battre énergiquement (un batteur électrique vous facilitera considérablement la tâche) pendant cinq bonnes minutes.
|
||||
|
@ -30,7 +30,7 @@ Pour 15 crêpes environ
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Source" %}}
|
||||
{{% panel status="recipe" title="Source" %}}
|
||||
|
||||
https://www.slate.fr/story/97483/vraie-recette-crepes-galettes
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ tags: ["crêpes", "salé", "sarrasin", "bretagne"]
|
|||
categories: ["recette"]
|
||||
---
|
||||
|
||||
{{% panel title="Ingrédients" %}}
|
||||
{{% panel status="recipe" title="Ingrédients" %}}
|
||||
|
||||
- 300 g de farine de sarrasin
|
||||
- 60 g de farine de blé
|
||||
|
@ -20,7 +20,7 @@ categories: ["recette"]
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Instructions" %}}
|
||||
{{% panel status="recipe" title="Instructions" %}}
|
||||
|
||||
1. Mettez les farines et le sel dans un saladier.
|
||||
2. Ajoutez l’œuf, puis les liquides petit à petit en continuant de battre. 7
|
||||
|
@ -29,7 +29,7 @@ crêpes à la poêle (là aussi, n'oubliez pas le petit morceau de beurre avant
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Source" %}}
|
||||
{{% panel status="recipe" title="Source" %}}
|
||||
|
||||
https://www.slate.fr/story/97483/vraie-recette-crepes-galettes
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ Le moutabal est un genre de caviar d'aubergines que j'ai découvert lors d'un vo
|
|||
Jordanie.
|
||||
Troop bon !
|
||||
|
||||
{{% panel title="Ingrédients" %}}
|
||||
{{% panel status="recipe" title="Ingrédients" %}}
|
||||
|
||||
- 3 grosses aubergines
|
||||
- 3 cuillères à soupe d'huile d'olive extra vierge
|
||||
|
@ -30,14 +30,14 @@ Et pour la déco :
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Matos" %}}
|
||||
{{% panel status="recipe" title="Matos" %}}
|
||||
|
||||
- Pilon
|
||||
- De quoi faire (vraiment) cramer les aubergines, comme un barbec', un chalumeau, etc
|
||||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Instructions" %}}
|
||||
{{% panel status="recipe" title="Instructions" %}}
|
||||
|
||||
1. Griller les aubergines entières, avec la peau contact direct avec une flamme ou sur
|
||||
des braises jusqu'à ce que la peau devienne noire et se froisse et que la pulpe soit
|
||||
|
@ -56,7 +56,7 @@ l’assaisonnement si nécessaire.
|
|||
|
||||
{{% /panel %}}
|
||||
|
||||
{{% panel title="Source" %}}
|
||||
{{% panel status="recipe" title="Source" %}}
|
||||
|
||||
https://www.196flavors.com/fr/syrie-moutabal/
|
||||
|
||||
|
|
2
css-dist/theme.min.css
vendored
Normal file
2
css-dist/theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
7
layouts/partials/last-updated.html
Normal file
7
layouts/partials/last-updated.html
Normal file
|
@ -0,0 +1,7 @@
|
|||
{{ if ne ( .Lastmod.Format "2006-01-02" ) "0001-01-01" }}
|
||||
Mis à jour le {{ .Lastmod.Format ( $.Site.Params.dateformat | default "2 Jan 2006") }}
|
||||
{{ end }}
|
||||
{{ if ne ( .PublishDate.Format "2006-01-02" ) "0001-01-01" }}
|
||||
<br>
|
||||
Publié le {{ .PublishDate.Format ( $.Site.Params.dateformat | default "2 Jan 2006") -}}
|
||||
{{ end }}
|
1
layouts/partials/powered.html
Normal file
1
layouts/partials/powered.html
Normal file
|
@ -0,0 +1 @@
|
|||
<p class="powered">Site fait avec <a href="https://gohugo.io">Hugo</a>. Thème basé sur <a href="https://themes.gohugo.io/hugo-theme-techdoc/">TechDoc</a> mais revu à ma sauce.</p>
|
18
package-lock.json
generated
Normal file
18
package-lock.json
generated
Normal file
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"name": "accueil-jouf",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"devDependencies": {
|
||||
"flexbox-grid-mixins": "^0.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/flexbox-grid-mixins": {
|
||||
"version": "0.3.4",
|
||||
"resolved": "https://registry.npmjs.org/flexbox-grid-mixins/-/flexbox-grid-mixins-0.3.4.tgz",
|
||||
"integrity": "sha512-RjtmsfUD40vqTMhHZ5B5Aomxs9SqedKJTxixkkde972qMoIxxv1csdU3kJrdqGscbvBI53waS7Exwbu9TostCg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
5
package.json
Normal file
5
package.json
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"devDependencies": {
|
||||
"flexbox-grid-mixins": "^0.3.4"
|
||||
}
|
||||
}
|
346
src/scss/_component.scss
Normal file
346
src/scss/_component.scss
Normal file
|
@ -0,0 +1,346 @@
|
|||
// Built-In Modules
|
||||
@use 'sass:map';
|
||||
|
||||
// Custom Modules
|
||||
@use '../../node_modules/flexbox-grid-mixins/dart-sass/flexbox-grid-mixins';
|
||||
|
||||
// Included Modules
|
||||
@use 'variable';
|
||||
@use 'foundation/stack';
|
||||
|
||||
main * {
|
||||
@extend %first-stack;
|
||||
}
|
||||
|
||||
main {
|
||||
* {
|
||||
+ h1, + h2, + h3, + h4, + h5, + h6,
|
||||
+ p,
|
||||
+ hr,
|
||||
+ table,
|
||||
+ ul,
|
||||
+ ol,
|
||||
+ dl,
|
||||
+ blockquote,
|
||||
+ pre,
|
||||
+ figure {
|
||||
@extend %stack;
|
||||
}
|
||||
}
|
||||
|
||||
li > ul,
|
||||
li > ol {
|
||||
@extend %unset-stack;
|
||||
}
|
||||
}
|
||||
|
||||
figure > figcaption {
|
||||
@extend %none-stack;
|
||||
}
|
||||
|
||||
.table_of_contents,
|
||||
.edit-meta,
|
||||
.edit-page,
|
||||
.pagination,
|
||||
.highlight,
|
||||
.powered,
|
||||
.panel,
|
||||
.button,
|
||||
.gist,
|
||||
.twitter-tweet {
|
||||
@extend %stack;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
@include flexbox-grid-mixins.grid($flex-wrap: nowrap, $justify-content: space-between);
|
||||
font-weight: bold;
|
||||
> * {
|
||||
@extend %none-stack;
|
||||
}
|
||||
}
|
||||
.nav-prev {}
|
||||
.nav-next {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
@media screen and (max-width: #{map.get(variable.$default-breakpoints, xs )} ) {
|
||||
.pagination {
|
||||
@include flexbox-grid-mixins.grid($flex-flow: column nowrap, $justify-content: null, $align-items: center);
|
||||
}
|
||||
.nav-next {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.panel {
|
||||
--panel-font-color: #000;
|
||||
--panel-background-color: unset;
|
||||
--panel-border-color: transparent;
|
||||
|
||||
padding: variable.$default-layout-padding;
|
||||
color: var(--panel-font-color, #000);
|
||||
background: var(--panel-background-color, unset);
|
||||
border: 1px solid;
|
||||
border-color: var(--panel-border-color, transparent);
|
||||
|
||||
a {
|
||||
text-decoration: underline;
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.panel-primary {
|
||||
--panel-border-color: #{variable.$default-border-color};
|
||||
}
|
||||
.panel-notice {
|
||||
--panel-font-color: #fff;
|
||||
--panel-background-color: #b0b0b0;
|
||||
--custom-link-text-color: #fff;
|
||||
--custom-link-text-hover-color: #fff;
|
||||
}
|
||||
.panel-recipe {
|
||||
--panel-font-color: #000;
|
||||
--panel-background-color: #CDCCCC;
|
||||
--custom-link-text-color: #{variable.$default-link-text-color};
|
||||
--custom-link-text-hover-color: #{variable.$default-link-text-hover-color};
|
||||
}
|
||||
.panel-success {
|
||||
--panel-font-color: #fff;
|
||||
--panel-background-color: #609f43;
|
||||
--custom-link-text-color: #fff;
|
||||
--custom-link-text-hover-color: #fff;
|
||||
}
|
||||
.panel-caution {
|
||||
--panel-font-color: #fff;
|
||||
--panel-background-color: #de776d;
|
||||
--custom-link-text-color: #fff;
|
||||
--custom-link-text-hover-color: #fff;
|
||||
}
|
||||
.panel-warning {
|
||||
--panel-font-color: #fff;
|
||||
--panel-background-color: #e67e22;
|
||||
--custom-link-text-color: #fff;
|
||||
--custom-link-text-hover-color: #fff;
|
||||
}
|
||||
.panel-danger {
|
||||
--panel-font-color: #fff;
|
||||
--panel-background-color: #ce3426;
|
||||
--custom-link-text-color: #fff;
|
||||
--custom-link-text-hover-color: #fff;
|
||||
}
|
||||
|
||||
.panel-header {}
|
||||
.panel-body {}
|
||||
|
||||
.button {
|
||||
display: inline-block;
|
||||
font-size: 120%;
|
||||
padding: .5rem 1.2rem;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
border-radius: .8rem;
|
||||
|
||||
--button-font-color: #000;
|
||||
--button-font-hover-color: #000;
|
||||
--button-background-color: #{variable.$default-background-color};
|
||||
--button-background-hover-color: #f7f7f7;
|
||||
--button-border-color: #{variable.$default-border-color};
|
||||
|
||||
color: var(--button-font-color, #000);
|
||||
background: var(--button-background-color, unset);
|
||||
border: 2px solid ;
|
||||
border-color: var(--button-border-color, transparent);
|
||||
|
||||
&:hover {
|
||||
color: var(--button-font-hover-color, #000);
|
||||
text-decoration: none;
|
||||
background: var(--button-background-hover-color, unset);
|
||||
}
|
||||
}
|
||||
|
||||
.button-notice {
|
||||
--button-font-color: #fff;
|
||||
--button-font-hover-color: #fff;
|
||||
--button-background-color: #4ba0e1;
|
||||
--button-background-hover-color: #3b89c5;
|
||||
--button-border-color: transparent;
|
||||
}
|
||||
.button-success {
|
||||
--button-font-color: #fff;
|
||||
--button-font-hover-color: #fff;
|
||||
--button-background-color: #369b08;
|
||||
--button-background-hover-color: #256905;
|
||||
--button-border-color: transparent;
|
||||
}
|
||||
.button-caution {
|
||||
--button-font-color: #fff;
|
||||
--button-font-hover-color: #fff;
|
||||
--button-background-color: #f56558;
|
||||
--button-background-hover-color: #d45145;
|
||||
--button-border-color: transparent;
|
||||
}
|
||||
.button-warning {
|
||||
--button-font-color: #fff;
|
||||
--button-font-hover-color: #fff;
|
||||
--button-background-color: #f5811b;
|
||||
--button-background-hover-color: #db7012;
|
||||
--button-border-color: transparent;
|
||||
}
|
||||
.button-danger {
|
||||
--button-font-color: #fff;
|
||||
--button-font-hover-color: #fff;
|
||||
--button-background-color: #ce3426;
|
||||
--button-background-hover-color: #a0281d;
|
||||
--button-border-color: transparent;
|
||||
}
|
||||
|
||||
.notification {
|
||||
padding: .2rem variable.$default-layout-padding;
|
||||
text-align: center;
|
||||
background: variable.$sidebar-active-color;
|
||||
}
|
||||
|
||||
.backtothetop {
|
||||
display: none;
|
||||
font-size: 200%;
|
||||
}
|
||||
.fa-layers .fa-circle {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
figure > figcaption h4 {
|
||||
font-size: 80%;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.table_of_contents {
|
||||
font-size: 90%;
|
||||
padding: variable.$default-layout-padding;
|
||||
border: 4px solid variable.$default-border-color;
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
li {
|
||||
border-top: 1px solid variable.$default-border-color;
|
||||
}
|
||||
> nav > ul > li:first-child {
|
||||
border-top: unset;
|
||||
}
|
||||
|
||||
ul > li li a {
|
||||
margin-left: 2rem * 1;
|
||||
}
|
||||
ul ul > li li a {
|
||||
margin-left: 2rem * 2;
|
||||
}
|
||||
ul ul ul > li li a {
|
||||
margin-left: 2rem * 3;
|
||||
}
|
||||
ul ul ul ul > li li a {
|
||||
margin-left: 2rem * 4;
|
||||
}
|
||||
ul ul ul ul ul > li li a {
|
||||
margin-left: 2rem * 5;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.headerlink > .svg-inline--fa {
|
||||
margin-left: .4rem;
|
||||
width: .8rem;
|
||||
}
|
||||
|
||||
.ais-SearchBox {
|
||||
.ais-SearchBox-input {
|
||||
width: 70%;
|
||||
}
|
||||
button {
|
||||
margin-left: .2rem;
|
||||
padding: .4rem;
|
||||
}
|
||||
}
|
||||
.ais-Stats {
|
||||
font-size: 80%;
|
||||
color: #70757a;
|
||||
}
|
||||
.ais-Hits-item {
|
||||
@extend %stack;
|
||||
|
||||
h3 {
|
||||
font-size: 140%;
|
||||
font-weight: normal;
|
||||
}
|
||||
p {
|
||||
@extend %unset-stack;
|
||||
color: #3C4043;
|
||||
}
|
||||
.lastmod {
|
||||
font-size: 90%;
|
||||
color: #70757a;
|
||||
}
|
||||
}
|
||||
|
||||
.ais-Pagination {
|
||||
margin-top: 1em;
|
||||
}
|
||||
.ais-Pagination-list {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
@include flexbox-grid-mixins.grid($flex-wrap: wrap, $justify-content: center);
|
||||
}
|
||||
.ais-Pagination-item {
|
||||
padding: .6rem;
|
||||
}
|
||||
|
||||
.code {
|
||||
@include flexbox-grid-mixins.grid($flex-wrap: wrap);
|
||||
@extend %stack;
|
||||
|
||||
.filename {
|
||||
@include flexbox-grid-mixins.grid-col($col: 9, $flex-shrink: 0, $max-width: 75%);
|
||||
font-size: 80%;
|
||||
color: #666;
|
||||
}
|
||||
.copy-btn {
|
||||
margin-left: auto;
|
||||
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
|
||||
font-size: 80%;
|
||||
border: solid 1px #ccc;
|
||||
padding: .2rem .6rem;
|
||||
border-radius: .3rem;
|
||||
line-height: 1;
|
||||
margin-bottom: .2rem;
|
||||
outline: none;
|
||||
}
|
||||
.code-content {
|
||||
@include flexbox-grid-mixins.grid-col($col: 12, $flex-shrink: 0, $max-width: 100%);
|
||||
|
||||
.highlight {
|
||||
@extend %none-stack;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tooltipped::after {
|
||||
content: 'Copied!';
|
||||
background: #555;
|
||||
display: inline-block;
|
||||
color: #fff;
|
||||
border-radius: .4rem;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: -1.8rem;
|
||||
transform: translate(-50%, 0);
|
||||
font-size: .75rem;
|
||||
padding: 4px 10px 6px 10px;
|
||||
animation: fade-tooltip .5s 1s 1 forwards;
|
||||
}
|
||||
|
||||
@keyframes fade-tooltip {
|
||||
to { opacity: 0; }
|
||||
}
|
227
src/scss/_project.scss
Normal file
227
src/scss/_project.scss
Normal file
|
@ -0,0 +1,227 @@
|
|||
// Built-In Modules
|
||||
@use 'sass:map';
|
||||
|
||||
// Custom Modules
|
||||
@use '../../node_modules/flexbox-grid-mixins/dart-sass/flexbox-grid-mixins';
|
||||
|
||||
// Included Modules
|
||||
@use 'variable';
|
||||
|
||||
header {
|
||||
color: var(--custom-font-color, #fff);
|
||||
background: var(--custom-background-color, #000);
|
||||
padding: .5rem variable.$default-layout-padding;
|
||||
|
||||
h1 {
|
||||
font-size: 140%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.version {
|
||||
margin-left: .4rem;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
.github {
|
||||
color: currentColor;
|
||||
margin-left: .4rem;
|
||||
font-size: 180%;
|
||||
}
|
||||
}
|
||||
|
||||
.description {
|
||||
}
|
||||
|
||||
.global-menu {
|
||||
color: var(--custom-font-color, #fff);
|
||||
background: var(--custom-background-color, #000);
|
||||
padding: .2rem variable.$default-layout-padding;
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
li {
|
||||
display: inline-block;
|
||||
margin-right: 1.8rem;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
ul.sub-menu {
|
||||
display: none;
|
||||
margin: 0;
|
||||
position: absolute;
|
||||
top: 1.8rem;
|
||||
left: 0;
|
||||
z-index: 99999;
|
||||
|
||||
li {
|
||||
padding: .2rem variable.$default-layout-padding;
|
||||
background: var(--custom-background-color, #000);
|
||||
width: 140px;
|
||||
font-size: 80%;
|
||||
a {
|
||||
color: var(--custom-font-color, #fff);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.fa-angle-right {
|
||||
margin-left: .4rem;
|
||||
font-size: 80%;
|
||||
}
|
||||
li.parent:hover > ul.sub-menu {
|
||||
@include flexbox-grid-mixins.grid($flex-flow: column nowrap);
|
||||
}
|
||||
|
||||
@media screen and (max-width: #{map.get(variable.$default-breakpoints, xs )} ) {
|
||||
li {
|
||||
display: block;
|
||||
margin-right: 0;
|
||||
border-bottom: 1px solid currentColor;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
.fa-angle-right {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul.sub-menu {
|
||||
display: block;
|
||||
position: static;
|
||||
|
||||
li {
|
||||
width: auto;
|
||||
background: transparent;
|
||||
padding: 0 .4rem;
|
||||
+ li {
|
||||
padding-top: .2rem;
|
||||
}
|
||||
a {
|
||||
color: currentColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
color: currentColor;
|
||||
text-decoration: none;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main {
|
||||
padding: 3rem;
|
||||
}
|
||||
|
||||
@media screen and (max-width: #{map.get(variable.$default-breakpoints, xs )} ) {
|
||||
main {
|
||||
padding: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
font-size: 90%;
|
||||
line-height: 1.8;
|
||||
background: variable.$sidebar-background-color;
|
||||
border-right: 1px solid variable.$sidebar-active-color;
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
position: relative;
|
||||
display: block;
|
||||
color: #404040;
|
||||
text-decoration: none;
|
||||
padding: .2rem 1rem;
|
||||
border-left: solid 4px variable.$sidebar-background-color;
|
||||
border-bottom: solid 1px variable.$sidebar-active-color;
|
||||
|
||||
&:hover {
|
||||
color: #404040;
|
||||
background: variable.$sidebar-hover-color;
|
||||
border-left: solid 4px #ccc;
|
||||
}
|
||||
}
|
||||
|
||||
nav > ul > li li a {
|
||||
padding-left: 1rem + 1rem * 1;
|
||||
}
|
||||
nav > ul ul > li li a {
|
||||
padding-left: 1rem + 1rem * 2;
|
||||
}
|
||||
nav > ul ul ul > li li a {
|
||||
padding-left: 1rem + 1rem * 3;
|
||||
}
|
||||
nav > ul ul ul ul > li li a {
|
||||
padding-left: 1rem + 1rem * 4;
|
||||
}
|
||||
nav > ul ul ul ul ul > li li a {
|
||||
padding-left: 1rem + 1rem * 5;
|
||||
}
|
||||
|
||||
@media screen and (max-width: #{map.get(variable.$default-breakpoints, xs )} ) {
|
||||
nav > ul > li:first-child a {
|
||||
border-top: solid 1px variable.$sidebar-active-color;
|
||||
}
|
||||
}
|
||||
|
||||
.active > a {
|
||||
background: variable.$sidebar-active-color;
|
||||
border-left: solid 4px #ccc;
|
||||
}
|
||||
|
||||
.slide-menu {
|
||||
.has-sub-menu:not(.parent) ul {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.has-sub-menu > a span.mark {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
display: inline-block;
|
||||
height: 32px;
|
||||
width: 32px;
|
||||
line-height: 2;
|
||||
text-align: center;
|
||||
color: #979797;
|
||||
background: #f2f2f2;
|
||||
border-left: 1px solid #e7e7e7;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar-footer {
|
||||
padding: variable.$default-layout-padding;
|
||||
}
|
||||
|
||||
footer {
|
||||
}
|
||||
|
||||
.edit-meta {
|
||||
font-size: 80%;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.edit-page {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.powered {
|
||||
font-size: 80%;
|
||||
text-align: right;
|
||||
color: #999;
|
||||
}
|
57
src/scss/_structure.scss
Normal file
57
src/scss/_structure.scss
Normal file
|
@ -0,0 +1,57 @@
|
|||
// Built-In Modules
|
||||
@use 'sass:map';
|
||||
|
||||
// Custom Modules
|
||||
@use '../../node_modules/flexbox-grid-mixins/dart-sass/flexbox-grid-mixins';
|
||||
|
||||
// Included Modules
|
||||
@use 'variable';
|
||||
|
||||
/*-----------------------*
|
||||
Structure
|
||||
*-----------------------*/
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
@include flexbox-grid-mixins.grid($flex-flow: column nowrap);
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.content-container {
|
||||
@include flexbox-grid-mixins.grid-col($flex-grow: 1, $flex-shrink: 0, $flex-basis: auto);
|
||||
@include flexbox-grid-mixins.grid($justify-content: center);
|
||||
}
|
||||
|
||||
main {
|
||||
@include flexbox-grid-mixins.grid-col($col: 9, $flex-shrink: 0, $max-width: 75%);
|
||||
|
||||
&:only-child {
|
||||
@include flexbox-grid-mixins.grid-col($col: 12, $flex-shrink: 0, $max-width: 100%);
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
@include flexbox-grid-mixins.grid-col($col: 3, $order: -1);
|
||||
// position: fixed;
|
||||
// overflow-x: hidden;
|
||||
overflow-x: hidden;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
@media screen and (max-width: #{map.get(variable.$default-breakpoints, xs )} ) {
|
||||
.content-container {
|
||||
@include flexbox-grid-mixins.grid($flex-flow: column nowrap);
|
||||
}
|
||||
|
||||
main {
|
||||
@include flexbox-grid-mixins.grid-col($col: none, $flex-shrink: 0, $min-width: 100%);
|
||||
}
|
||||
.sidebar {
|
||||
@include flexbox-grid-mixins.grid-col($col: none, $order: 1);
|
||||
}
|
||||
}
|
46
src/scss/_variable.scss
Normal file
46
src/scss/_variable.scss
Normal file
|
@ -0,0 +1,46 @@
|
|||
@use 'function/calc-stack';
|
||||
|
||||
$default-layout-width: 1024px !default;
|
||||
|
||||
$default-base-font-size: 18px !default;
|
||||
$default-font-size: 18px !default;
|
||||
$default-line-space: 6px !default;
|
||||
$default-line-height: calc-stack.line-height($default-line-space, $default-font-size, $default-base-font-size) !default;
|
||||
$default-stack: calc-stack.stack($default-line-height, $default-font-size, $default-base-font-size) !default;
|
||||
|
||||
$default-layout-margin: 0 !default;
|
||||
$default-layout-padding: $default-stack !default;
|
||||
|
||||
$default-font-color: #000 !default;
|
||||
$default-font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", HelveticaNeue, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
|
||||
|
||||
// color
|
||||
$default-background-color: #fafafa !default;
|
||||
$default-border-color: #f0f0f0 !default;
|
||||
|
||||
$default-link-text-color: #2e7eb3 !default;
|
||||
$default-link-text-hover-color: #38a0e4 !default;
|
||||
|
||||
$sidebar-background-color: #f9f9f9 !default;
|
||||
$sidebar-hover-color: #eee !default;
|
||||
$sidebar-active-color: #eee !default;
|
||||
|
||||
// code
|
||||
$code-font-size: .95rem !default;
|
||||
$code-block-background-color: #f4f6f8 !default;
|
||||
$code-border-color: #f0f0f0 !default;
|
||||
$code-inline-background-color: #f0f0f0 !default;
|
||||
$code-font-family: Consolas,"Liberation Mono",Menlo,Courier,monospace !default;
|
||||
|
||||
// breakpoint
|
||||
$default-breakpoints: (
|
||||
xl: 1280px,
|
||||
lg: 1024px,
|
||||
md: 896px,
|
||||
sm: 768px,
|
||||
xs: 480px
|
||||
) !default;
|
||||
|
||||
// grid
|
||||
$flexbox-grid-mixins-box-sizing: null !default;
|
||||
$flexbox-grid-mixins-stack: margin-top !default;
|
59
src/scss/chroma.scss
Normal file
59
src/scss/chroma.scss
Normal file
|
@ -0,0 +1,59 @@
|
|||
/* Background */ .chroma { color: #f8f8f2; background-color: #272822 }
|
||||
/* Error */ .chroma .err { color: #960050; background-color: #1e0010 }
|
||||
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; width: 100%; overflow: auto; display: block; }
|
||||
/* LineHighlight */ .chroma .hl { background-color: #ffffcc; display: block; width: 100% }
|
||||
/* LineNumbersTable */ .chroma .lnt { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; display: block; }
|
||||
/* LineNumbers */ .chroma .ln { margin-right: 0.4em; padding: 0 0.4em 0 0.4em; }
|
||||
/* Keyword */ .chroma .k { color: #66d9ef }
|
||||
/* KeywordConstant */ .chroma .kc { color: #66d9ef }
|
||||
/* KeywordDeclaration */ .chroma .kd { color: #66d9ef }
|
||||
/* KeywordNamespace */ .chroma .kn { color: #f92672 }
|
||||
/* KeywordPseudo */ .chroma .kp { color: #66d9ef }
|
||||
/* KeywordReserved */ .chroma .kr { color: #66d9ef }
|
||||
/* KeywordType */ .chroma .kt { color: #66d9ef }
|
||||
/* NameAttribute */ .chroma .na { color: #a6e22e }
|
||||
/* NameClass */ .chroma .nc { color: #a6e22e }
|
||||
/* NameConstant */ .chroma .no { color: #66d9ef }
|
||||
/* NameDecorator */ .chroma .nd { color: #a6e22e }
|
||||
/* NameException */ .chroma .ne { color: #a6e22e }
|
||||
/* NameFunction */ .chroma .nf { color: #a6e22e }
|
||||
/* NameOther */ .chroma .nx { color: #a6e22e }
|
||||
/* NameTag */ .chroma .nt { color: #f92672 }
|
||||
/* Literal */ .chroma .l { color: #ae81ff }
|
||||
/* LiteralDate */ .chroma .ld { color: #e6db74 }
|
||||
/* LiteralString */ .chroma .s { color: #e6db74 }
|
||||
/* LiteralStringAffix */ .chroma .sa { color: #e6db74 }
|
||||
/* LiteralStringBacktick */ .chroma .sb { color: #e6db74 }
|
||||
/* LiteralStringChar */ .chroma .sc { color: #e6db74 }
|
||||
/* LiteralStringDelimiter */ .chroma .dl { color: #e6db74 }
|
||||
/* LiteralStringDoc */ .chroma .sd { color: #e6db74 }
|
||||
/* LiteralStringDouble */ .chroma .s2 { color: #e6db74 }
|
||||
/* LiteralStringEscape */ .chroma .se { color: #ae81ff }
|
||||
/* LiteralStringHeredoc */ .chroma .sh { color: #e6db74 }
|
||||
/* LiteralStringInterpol */ .chroma .si { color: #e6db74 }
|
||||
/* LiteralStringOther */ .chroma .sx { color: #e6db74 }
|
||||
/* LiteralStringRegex */ .chroma .sr { color: #e6db74 }
|
||||
/* LiteralStringSingle */ .chroma .s1 { color: #e6db74 }
|
||||
/* LiteralStringSymbol */ .chroma .ss { color: #e6db74 }
|
||||
/* LiteralNumber */ .chroma .m { color: #ae81ff }
|
||||
/* LiteralNumberBin */ .chroma .mb { color: #ae81ff }
|
||||
/* LiteralNumberFloat */ .chroma .mf { color: #ae81ff }
|
||||
/* LiteralNumberHex */ .chroma .mh { color: #ae81ff }
|
||||
/* LiteralNumberInteger */ .chroma .mi { color: #ae81ff }
|
||||
/* LiteralNumberIntegerLong */ .chroma .il { color: #ae81ff }
|
||||
/* LiteralNumberOct */ .chroma .mo { color: #ae81ff }
|
||||
/* Operator */ .chroma .o { color: #f92672 }
|
||||
/* OperatorWord */ .chroma .ow { color: #f92672 }
|
||||
/* Comment */ .chroma .c { color: #75715e }
|
||||
/* CommentHashbang */ .chroma .ch { color: #75715e }
|
||||
/* CommentMultiline */ .chroma .cm { color: #75715e }
|
||||
/* CommentSingle */ .chroma .c1 { color: #75715e }
|
||||
/* CommentSpecial */ .chroma .cs { color: #75715e }
|
||||
/* CommentPreproc */ .chroma .cp { color: #75715e }
|
||||
/* CommentPreprocFile */ .chroma .cpf { color: #75715e }
|
||||
/* GenericDeleted */ .chroma .gd { color: #f92672 }
|
||||
/* GenericEmph */ .chroma .ge { font-style: italic }
|
||||
/* GenericInserted */ .chroma .gi { color: #a6e22e }
|
||||
/* GenericStrong */ .chroma .gs { font-weight: bold }
|
||||
/* GenericSubheading */ .chroma .gu { color: #75715e }
|
199
src/scss/foundation/_element.scss
Normal file
199
src/scss/foundation/_element.scss
Normal file
|
@ -0,0 +1,199 @@
|
|||
@use '../variable';
|
||||
@use '../function/calc-stack';
|
||||
|
||||
/*-----------------------*
|
||||
Element v1.0.0-custom
|
||||
*-----------------------*/
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
:root {
|
||||
font-size: variable.$default-font-size;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, variable.$default-font-size);
|
||||
color: variable.$default-font-color;
|
||||
font-family: var(--custom-font-family-base, variable.$default-font-family);
|
||||
font-feature-settings : 'pwid';
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: variable.$default-background-color;
|
||||
margin: variable.$default-layout-margin;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: var(--custom-font-family-headings, variable.$default-font-family);
|
||||
font-weight: bold;
|
||||
line-height: variable.$default-line-height;
|
||||
|
||||
> small {
|
||||
font-size: 75%;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 240%;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, 240%);
|
||||
}
|
||||
h2 {
|
||||
font-size: 200%;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, 200%);
|
||||
}
|
||||
h3 {
|
||||
font-size: 160%;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, 160%);
|
||||
}
|
||||
h4 {
|
||||
font-size: 125%;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, 125%);
|
||||
}
|
||||
h5 {
|
||||
font-size: 100%;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, 100%);
|
||||
}
|
||||
h6 {
|
||||
font-size: 80%;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, 80%);
|
||||
}
|
||||
|
||||
a {
|
||||
color: var(--custom-link-text-color, variable.$default-link-text-color);
|
||||
text-decoration: none;
|
||||
|
||||
&:focus,
|
||||
&:active,
|
||||
&:hover {
|
||||
color: var(--custom-link-text-hover-color, variable.$default-link-text-hover-color);
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
background-color: #ccc;
|
||||
height: 2px;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: variable.$default-font-size;
|
||||
}
|
||||
|
||||
img {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
img,
|
||||
video {
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border: 1px solid variable.$default-border-color;
|
||||
width: 100%;
|
||||
}
|
||||
th,
|
||||
td {
|
||||
border-top: 1px solid variable.$default-border-color;
|
||||
border-right: 1px solid variable.$default-border-color;
|
||||
tr:nth-child(even) & {
|
||||
background: #f8f8f8;
|
||||
}
|
||||
padding: .6rem;
|
||||
}
|
||||
th {
|
||||
background: #eee;
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
ul {
|
||||
&.no-style {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
&.inline {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
li {
|
||||
display: inline;
|
||||
padding-right: 2rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
dd {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
color: #999;
|
||||
padding: variable.$default-layout-padding;
|
||||
background-color: #f4f4f4;
|
||||
border-left: 4px solid variable.$default-border-color;
|
||||
border-radius: .2rem;
|
||||
}
|
||||
|
||||
code,
|
||||
pre,
|
||||
kbd {
|
||||
font-family: Menlo, Monaco, "Courier New", monospace;
|
||||
}
|
||||
|
||||
code,
|
||||
kbd {
|
||||
padding: .2rem;
|
||||
border-radius: .2rem;
|
||||
}
|
||||
code {
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
kbd {
|
||||
color: #fff;
|
||||
background-color: #333;
|
||||
}
|
||||
|
||||
pre {
|
||||
background-color: #f4f4f4;
|
||||
padding: variable.$default-layout-padding;
|
||||
overflow: auto;
|
||||
white-space: pre-wrap;
|
||||
border-radius: .2rem;
|
||||
|
||||
code {
|
||||
padding: 0;
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
&.wrap {
|
||||
white-space: pre;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
&.scrollable {
|
||||
max-height: 240px;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
}
|
||||
|
||||
figcaption {
|
||||
color: #333;
|
||||
font-size: variable.$default-font-size;
|
||||
line-height: calc-stack.line-height(variable.$default-line-space, variable.$default-font-size);
|
||||
}
|
4
src/scss/foundation/_index.scss
Normal file
4
src/scss/foundation/_index.scss
Normal file
|
@ -0,0 +1,4 @@
|
|||
@use "normalize";
|
||||
@use "reset";
|
||||
@use "element";
|
||||
@use "stack";
|
355
src/scss/foundation/_normalize.scss
Normal file
355
src/scss/foundation/_normalize.scss
Normal file
|
@ -0,0 +1,355 @@
|
|||
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
|
||||
|
||||
/* Document
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in iOS.
|
||||
*/
|
||||
|
||||
html {
|
||||
line-height: 1.15; /* 1 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/* Sections
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Render the `main` element consistently in IE.
|
||||
*/
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Firefox, and Safari.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in Firefox.
|
||||
* 2. Show the overflow in Edge and IE.
|
||||
*/
|
||||
|
||||
hr {
|
||||
box-sizing: content-box; /* 1 */
|
||||
height: 0; /* 1 */
|
||||
overflow: visible; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
/* stylelint-disable */
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
/* stylelint-enable */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background on active links in IE 10.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Remove the bottom border in Chrome 57-
|
||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: none; /* 1 */
|
||||
/* stylelint-disable */
|
||||
text-decoration: underline; /* 2 */
|
||||
text-decoration: underline dotted; /* 2 */
|
||||
/* stylelint-enable */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
/* stylelint-disable */
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
/* stylelint-enable */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` elements from affecting the line height in
|
||||
* all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the border on images inside links in IE 10.
|
||||
*/
|
||||
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Change the font styles in all browsers.
|
||||
* 2. Remove the margin in Firefox and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: inherit; /* 1 */
|
||||
font-size: 100%; /* 1 */
|
||||
line-height: 1.15; /* 1 */
|
||||
margin: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in IE.
|
||||
* 1. Show the overflow in Edge.
|
||||
*/
|
||||
|
||||
button,
|
||||
input { /* 1 */
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||
* 1. Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select { /* 1 */
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the inability to style clickable types in iOS and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding in Firefox.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus styles unset by the previous rule.
|
||||
*/
|
||||
|
||||
button:-moz-focusring,
|
||||
[type="button"]:-moz-focusring,
|
||||
[type="reset"]:-moz-focusring,
|
||||
[type="submit"]:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the text wrapping in Edge and IE.
|
||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
* 3. Remove the padding so developers are not caught out when they zero out
|
||||
* `fieldset` elements in all browsers.
|
||||
*/
|
||||
|
||||
legend {
|
||||
box-sizing: border-box; /* 1 */
|
||||
color: inherit; /* 2 */
|
||||
display: table; /* 1 */
|
||||
max-width: 100%; /* 1 */
|
||||
padding: 0; /* 3 */
|
||||
white-space: normal; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the default vertical scrollbar in IE 10+.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in IE 10.
|
||||
* 2. Remove the padding in IE 10.
|
||||
*/
|
||||
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||
*/
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inner padding in Chrome and Safari on macOS.
|
||||
*/
|
||||
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/* Interactive
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in Edge, IE 10+, and Firefox.
|
||||
*/
|
||||
|
||||
details {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in all browsers.
|
||||
*/
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/* Misc
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10+.
|
||||
*/
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
72
src/scss/foundation/_reset.scss
Normal file
72
src/scss/foundation/_reset.scss
Normal file
|
@ -0,0 +1,72 @@
|
|||
/*-----------------------*
|
||||
Reset
|
||||
*-----------------------*/
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
p,
|
||||
ul,
|
||||
ol,
|
||||
li,
|
||||
figure,
|
||||
figcaption,
|
||||
blockquote,
|
||||
dl,
|
||||
dd {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
textarea,
|
||||
select {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
button {
|
||||
background-color: transparent;
|
||||
color: inherit;
|
||||
border-width: 0;
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-size: inherit;
|
||||
font-weight: inherit;
|
||||
}
|
||||
|
||||
cite {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
border-width: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
66
src/scss/foundation/_stack.scss
Normal file
66
src/scss/foundation/_stack.scss
Normal file
|
@ -0,0 +1,66 @@
|
|||
@use '../variable';
|
||||
|
||||
/*-----------------------*
|
||||
stack
|
||||
*-----------------------*/
|
||||
:root {
|
||||
--const-stack: #{variable.$default-stack};
|
||||
--stack-top: #{variable.$default-stack};
|
||||
--stack-bottom: 0;
|
||||
--first-stack-top: 0;
|
||||
--first-stack-bottom: 0;
|
||||
--last-stack-top: 0;
|
||||
--last-stack-bottom: 0;
|
||||
}
|
||||
|
||||
.first-stack,
|
||||
%first-stack {
|
||||
margin-top: var(--first-stack-top, unset);
|
||||
margin-bottom: var(--first-stack-bottom, unset);
|
||||
}
|
||||
|
||||
.stack,
|
||||
%stack {
|
||||
margin-top: var(--stack-top, unset);
|
||||
margin-bottom: var(--stack-bottom, unset);
|
||||
}
|
||||
|
||||
.last-stack,
|
||||
%last-stack {
|
||||
margin-top: var(--last-stack-top, unset);
|
||||
margin-bottom: var(--last-stack-bottom, unset);
|
||||
}
|
||||
|
||||
.stack-multi--by2,
|
||||
%stack-multi--by2 {
|
||||
margin-top: calc(var(--first-stack-top, unset) * 2);
|
||||
margin-bottom: calc(var(--first-stack-bottom, unset) * 2);
|
||||
}
|
||||
|
||||
.stack-multi--by4,
|
||||
%stack-multi--by4 {
|
||||
margin-top: calc(var(--first-stack-top, unset) * 4);
|
||||
margin-bottom: calc(var(--first-stack-bottom, unset) * 4);
|
||||
}
|
||||
|
||||
.stack-divi--by2,
|
||||
%stack-divi--by2 {
|
||||
margin-top: calc(var(--first-stack-top, unset) / 2);
|
||||
margin-bottom: calc(var(--first-stack-bottom, unset) / 2);
|
||||
}
|
||||
|
||||
.none-stack,
|
||||
%none-stack {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.unset-stack,
|
||||
%unset-stack {
|
||||
margin-top: unset;
|
||||
}
|
||||
|
||||
.reverse-stack
|
||||
%reverse-stack {
|
||||
margin-top: var(--stack-bottom, unset);
|
||||
margin-bottom: var(--stack-top, unset);
|
||||
}
|
52
src/scss/function/_calc-font-size.scss
Normal file
52
src/scss/function/_calc-font-size.scss
Normal file
|
@ -0,0 +1,52 @@
|
|||
@charset "utf-8";
|
||||
|
||||
// Built-In Modules
|
||||
@use 'sass:math';
|
||||
|
||||
// Included Modules
|
||||
@use 'strip-unit';
|
||||
|
||||
// ===================================================================
|
||||
// px to em
|
||||
// ===================================================================
|
||||
|
||||
@function px2em($px, $base: 16) {
|
||||
@return math.div(strip-unit.strip-unit($px), strip-unit.strip-unit($base)) * 1em;
|
||||
}
|
||||
|
||||
@function px2rem($px, $base: 16) {
|
||||
@return math.div(strip-unit.strip-unit($px), strip-unit.strip-unit($base)) * 1rem;
|
||||
}
|
||||
// ===================================================================
|
||||
// percent to px
|
||||
// ========================================================n===========
|
||||
|
||||
@function percent2px($percent, $base: 16) {
|
||||
@return strip-unit.strip-unit($base) * math.div(strip-unit.strip-unit($percent), 100) * 1px;
|
||||
}
|
||||
|
||||
// ===================================================================
|
||||
// percent to em
|
||||
// ===================================================================
|
||||
|
||||
@function percent2em($percent, $base: 16) {
|
||||
$ratio: math.div((strip-unit.strip-unit($percent), 100));
|
||||
@return math.div(strip-unit.strip-unit($base) * $ratio, strip-unit.strip-unit($base)) * 1em;
|
||||
}
|
||||
|
||||
@function percent2rem($percent, $base: 16) {
|
||||
$ratio: math.div((strip-unit.strip-unit($percent), 100));
|
||||
@return math.div((strip-unit.strip-unit($base) * $ratio), strip-unit.strip-unit($base)) * 1rem;
|
||||
}
|
||||
|
||||
// ===================================================================
|
||||
// em to px
|
||||
// ===================================================================
|
||||
|
||||
@function em2px($em, $base: 16) {
|
||||
@return strip-unit.strip-unit($em) * strip-unit.strip-unit($base) * 1px;
|
||||
}
|
||||
|
||||
@function rem2px($rem, $base: 16) {
|
||||
@return strip-unit.strip-unit($rem) * strip-unit.strip-unit($base) * 1px;
|
||||
}
|
40
src/scss/function/_calc-stack.scss
Normal file
40
src/scss/function/_calc-stack.scss
Normal file
|
@ -0,0 +1,40 @@
|
|||
@charset "utf-8";
|
||||
|
||||
// Built-In Modules
|
||||
@use 'sass:math';
|
||||
|
||||
// Included Modules
|
||||
@use 'calc-font-size';
|
||||
@use 'strip-unit';
|
||||
|
||||
@function stack($line-height: 1, $font-size: 16px, $base-size: 16px) {
|
||||
@if math.unit($font-size) == '%' {
|
||||
$font-size: calc-font-size.percent2px($font-size, $base-size);
|
||||
} @else if math.unit($font-size) == 'em' {
|
||||
$font-size: calc-font-size.em2px($font-size, $base-size);
|
||||
} @else if math.unit($font-size) == 'rem' {
|
||||
$font-size: calc-font-size.rem2px($font-size, $base-size);
|
||||
}
|
||||
|
||||
$line-height-px-unit: strip-unit.strip-unit($line-height) * strip-unit.strip-unit($font-size);
|
||||
|
||||
$stack: calc-font-size.px2rem($line-height-px-unit, $base-size);
|
||||
|
||||
@return $stack;
|
||||
}
|
||||
|
||||
@function line-height($line-space: 4px, $font-size: 16px, $base-size: 16px) {
|
||||
@if math.unit($font-size) == '%' {
|
||||
$font-size: calc-font-size.percent2px($font-size, $base-size);
|
||||
} @else if math.unit($font-size) == 'em' {
|
||||
$font-size: calc-font-size.em2px($font-size, $base-size);
|
||||
} @else if math.unit($font-size) == 'rem' {
|
||||
$font-size: calc-font-size.rem2px($font-size, $base-size);
|
||||
}
|
||||
|
||||
$font-size: strip-unit.strip-unit($font-size);
|
||||
$line-space: strip-unit.strip-unit($line-space);
|
||||
$line-height: math.div(($line-space * 2) + $font-size, $font-size);
|
||||
|
||||
@return $line-height;
|
||||
}
|
26
src/scss/function/_contrast-color.scss
Normal file
26
src/scss/function/_contrast-color.scss
Normal file
|
@ -0,0 +1,26 @@
|
|||
@charset "utf-8";
|
||||
|
||||
// Built-In Modules
|
||||
@use 'sass:math';
|
||||
@use 'sass:color';
|
||||
|
||||
// ===================================================================
|
||||
// contrast color
|
||||
// ===================================================================
|
||||
|
||||
@function contrast-color($color: null, $dark: #000, $light: #fff) {
|
||||
@if $color == null {
|
||||
@return null;
|
||||
}
|
||||
@else {
|
||||
$color-brightness: brightness($color);
|
||||
$light-color-brightness: brightness($light);
|
||||
$dark-color-brightness: brightness($dark);
|
||||
|
||||
@return if(math.abs($color-brightness - $light-color-brightness) > math.abs($color-brightness - $dark-color-brightness), $light, $dark);
|
||||
}
|
||||
}
|
||||
|
||||
@function brightness($color: null) {
|
||||
@return math.div((color.red($color) * 299) + (color.green($color) * 587) + (color.blue($color) * 114), 1000);
|
||||
}
|
17
src/scss/function/_strip-unit.scss
Normal file
17
src/scss/function/_strip-unit.scss
Normal file
|
@ -0,0 +1,17 @@
|
|||
@charset "utf-8";
|
||||
|
||||
// Built-In Modules
|
||||
@use 'sass:meta';
|
||||
@use 'sass:math';
|
||||
|
||||
@function strip-unit($value) {
|
||||
@if meta.type-of($value) == 'number' and math.is-unitless($value) == false {
|
||||
@return math.div($value, $value * 0 + 1);
|
||||
} @else if meta.type-of($value) == 'number' {
|
||||
@return $value;
|
||||
} @else {
|
||||
@warn $value;
|
||||
@warn meta.type-of($value);
|
||||
@error "error strip unit"
|
||||
}
|
||||
}
|
4
src/scss/theme.scss
Normal file
4
src/scss/theme.scss
Normal file
|
@ -0,0 +1,4 @@
|
|||
@use "foundation";
|
||||
@use "structure";
|
||||
@use "component";
|
||||
@use "project";
|
1225
static/css/theme.css
Normal file
1225
static/css/theme.css
Normal file
File diff suppressed because it is too large
Load diff
1
static/css/theme.css.map
Normal file
1
static/css/theme.css.map
Normal file
File diff suppressed because one or more lines are too long
2
static/css/theme.min.css
vendored
Normal file
2
static/css/theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue