mirror of
https://github.com/nunocoracao/blowfish.git
synced 2026-10-15 00:06:25 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f12b8d0d9 | ||
|
|
f2e224a042 | ||
|
|
560e927b87 | ||
|
|
485b641756 | ||
|
|
03f9c7d732 | ||
|
|
9aa6ec7e57 | ||
|
|
472a89c7a5 | ||
|
|
92229cfda9 | ||
|
|
8fef4e4424 | ||
|
|
fa6e9e122f | ||
|
|
3e52d26e30 | ||
|
|
e3e12fff5f | ||
|
|
250b39c40e | ||
|
|
c2ea4c27b6 | ||
|
|
da44c6e047 | ||
|
|
d97945d23b | ||
|
|
1c43a42adb | ||
|
|
c308942f0c | ||
|
|
771673c79a | ||
|
|
4c92836470 | ||
|
|
87f4f2529a | ||
|
|
7269b6642d | ||
|
|
f3ea173e21 | ||
|
|
86bc307033 | ||
|
|
ce88fc8b27 | ||
|
|
6d73dcc941 | ||
|
|
7524bbca7e | ||
|
|
e3994c650e | ||
|
|
f864a3da51 | ||
|
|
cee01113cd | ||
|
|
52b47665c8 | ||
|
|
64d8a6267b | ||
|
|
d97b1e5c38 | ||
|
|
de49717700 | ||
|
|
9f85c0566e | ||
|
|
9cb0db3e08 | ||
|
|
4ff3d07d30 | ||
|
|
37ab1055e7 | ||
|
|
07c897c3b9 | ||
|
|
c3fbfc9545 | ||
|
|
eee95cf5a7 | ||
|
|
72a6b84d04 | ||
|
|
a6739eb7d8 | ||
|
|
64e09b546b | ||
|
|
0b1f43373f | ||
|
|
bcf13c4dee | ||
|
|
8387c6ea0a | ||
|
|
397197a890 | ||
|
|
c9369d61e6 | ||
|
|
a1db31f370 | ||
|
|
0b5792987f | ||
|
|
1320d51586 | ||
|
|
58f0e30d65 | ||
|
|
e6f0522b60 | ||
|
|
018b6ece23 | ||
|
|
456f630dab | ||
|
|
73411d6865 | ||
|
|
eaceca84fb | ||
|
|
4ca31fadca | ||
|
|
7cc521bc1e | ||
|
|
850f987a68 | ||
|
|
3aabf55f89 | ||
|
|
9b6fffafc3 | ||
|
|
d10340d72c | ||
|
|
8fdd687640 | ||
|
|
dc36597427 | ||
|
|
80e9daaf67 | ||
|
|
9751a37436 | ||
|
|
90b798ec33 | ||
|
|
e26d1c7e74 | ||
|
|
e785f50575 | ||
|
|
d4ab6b1159 | ||
|
|
6be21955d5 | ||
|
|
fb2c7b88e2 | ||
|
|
287bb274eb | ||
|
|
87138e8ee0 | ||
|
|
533e7c5015 |
No files matched your search
@@ -0,0 +1,10 @@
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
@@ -16,28 +16,28 @@ jobs:
|
||||
- run: npm install
|
||||
- run: npm run assets
|
||||
- name: Commit and push Chart.js changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
file_pattern: "assets/lib/chart/*"
|
||||
commit_message: "📦 Update packaged ChartJS"
|
||||
- name: Commit Fuse changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
file_pattern: "assets/lib/fuse/*"
|
||||
commit_message: "📦 Update packaged FuseJS"
|
||||
- name: Commit KaTeX changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
file_pattern: "assets/lib/katex/*"
|
||||
commit_message: "📦 Update packaged KaTeX"
|
||||
- name: Commit Mermaid changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
@@ -45,10 +45,10 @@ jobs:
|
||||
commit_message: "📦 Update packaged Mermaid"
|
||||
- run: npm run build
|
||||
- name: Commit CSS changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v5
|
||||
uses: stefanzweifel/git-auto-commit-action@v6
|
||||
with:
|
||||
branch: "${{ github.head_ref }}"
|
||||
push_options: "--dry-run"
|
||||
file_pattern: "assets/css/compiled/main.css"
|
||||
commit_message: "💄 Rebuild CSS"
|
||||
- run: git push
|
||||
- run: git push
|
||||
@@ -9,8 +9,8 @@ jobs:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-message: "Thanks for contributing to Blowfish"
|
||||
pr-message: "Thanks for contributing to Blowfish"
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-message: "Thanks for contributing to Blowfish"
|
||||
pr-message: "Thanks for contributing to Blowfish"
|
||||
@@ -2,7 +2,7 @@ name: Update Hugo version
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 6 * * *'
|
||||
- cron: "0 6 * * *"
|
||||
|
||||
workflow_dispatch:
|
||||
|
||||
@@ -10,30 +10,31 @@ jobs:
|
||||
updateBlowfish:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: dev
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
- name: Fetch release version
|
||||
id: fetch-release
|
||||
run: |
|
||||
curl -sL https://api.github.com/repos/gohugoio/hugo/releases/latest | \
|
||||
jq -r ".tag_name" > release-versions/hugo-latest.txt
|
||||
jq -r ".tag_name" > release-versions/hugo-latest.txt
|
||||
|
||||
- name: Check for modified files
|
||||
id: git-check
|
||||
run: echo ::set-output name=modified::$([ -z "`git status --porcelain`" ] && echo "false" || echo "true")
|
||||
|
||||
run:
|
||||
echo ::set-output name=modified::$([ -z "`git status --porcelain`" ]
|
||||
&& echo "false" || echo "true")
|
||||
|
||||
- name: Update config.toml
|
||||
id: update-config
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
run: |
|
||||
cat release-versions/hugo-latest.txt | \
|
||||
while read version; do sed -i'' -E "s/(max = \")[0-9]+\.[0-9]+\.[0-9]+(\")/\1${version#v}\2/g" config.toml; done
|
||||
while read version; do sed -i'' -E "s/(max = \")[0-9]+\.[0-9]+\.[0-9]+(\")/\1${version#v}\2/g" config.toml; done
|
||||
|
||||
- name: Create Pull Request
|
||||
if: steps.git-check.outputs.modified == 'true'
|
||||
@@ -43,9 +44,9 @@ jobs:
|
||||
title: ⚙️ Update Hugo supported version
|
||||
body: |
|
||||
Updates [Hugo][1] support
|
||||
|
||||
|
||||
Auto-generated by [create-pull-request][2]
|
||||
|
||||
|
||||
[1]: https://github.com/gohugoio/hugo
|
||||
[2]: https://github.com/peter-evans/create-pull-request
|
||||
labels: dependencies, automated pr
|
||||
|
||||
+15
-13
@@ -7,26 +7,28 @@ name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 1 * * *'
|
||||
- cron: "0 1 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message: 'This issue will be closed since it has been stale for 60 days.'
|
||||
stale-pr-message: 'This pull request will be closed since it has been stale for 60 days.'
|
||||
stale-issue-label: 'no-issue-activity'
|
||||
stale-pr-label: 'no-pr-activity'
|
||||
days-before-stale: 60
|
||||
days-before-close: 0
|
||||
remove-stale-when-updated: true
|
||||
operations-per-run: 100
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
stale-issue-message:
|
||||
"This issue will be closed since it has been stale for 60 days."
|
||||
stale-pr-message:
|
||||
"This pull request will be closed since it has been stale for 60
|
||||
days."
|
||||
stale-issue-label: "no-issue-activity"
|
||||
stale-pr-label: "no-pr-activity"
|
||||
days-before-stale: 60
|
||||
days-before-close: 0
|
||||
remove-stale-when-updated: true
|
||||
operations-per-run: 100
|
||||
@@ -22,4 +22,6 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
working-directory: ./exampleSite
|
||||
run: hugo --minify --themesDir ../.. --baseURL https://nunocoracao.github.io/blowfish/
|
||||
run:
|
||||
hugo --minify --themesDir ../.. --baseURL
|
||||
https://nunocoracao.github.io/blowfish/
|
||||
@@ -0,0 +1,40 @@
|
||||
# https://github.com/gohugoio/hugo/blob/b39b24962350090122b5f3927456dde710cffb57/docs/.prettierignore
|
||||
# https://github.com/gohugoio/hugo/blob/b39b24962350090122b5f3927456dde710cffb57/docs/.prettierrc
|
||||
|
||||
# develop
|
||||
.vscode
|
||||
node_modules
|
||||
package.json
|
||||
|
||||
# Hugo
|
||||
assets/lib
|
||||
assets/css/compiled
|
||||
content
|
||||
themes
|
||||
public
|
||||
static
|
||||
*.md
|
||||
|
||||
# Invalid nodes and unexpected tokens, mostly caused by unmatched tags in Hugo statements.
|
||||
# For example:
|
||||
# {{ with .Params.externalUrl }}
|
||||
# <a href="{{ . }}">
|
||||
# {{ else }}
|
||||
# <a href="{{ .RelPermalink }}" class="min-w-full">
|
||||
# {{ end }}
|
||||
#
|
||||
# This create an unclose node
|
||||
|
||||
layouts/_default/_markup/render-heading.html
|
||||
layouts/_default/index.json
|
||||
layouts/_default/list.html
|
||||
layouts/partials/article-link/card-related.html
|
||||
layouts/partials/article-link/card.html
|
||||
layouts/partials/article-link/simple.html
|
||||
layouts/partials/header/basic.html
|
||||
layouts/partials/hero/background.html
|
||||
layouts/partials/head.html
|
||||
layouts/shortcodes/screenshot.html
|
||||
layouts/shortcodes/figure.html
|
||||
|
||||
assets/js/appearance.js
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"singleQuote": false,
|
||||
"tabWidth": 2,
|
||||
"useTabs": false,
|
||||
"semi": true,
|
||||
"trailingComma": "all",
|
||||
"proseWrap": "always",
|
||||
"plugins": [
|
||||
"prettier-plugin-go-template",
|
||||
"@awmottaz/prettier-plugin-void-html"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["*.html"],
|
||||
"options": {
|
||||
"useTabs": false,
|
||||
"parser": "go-template",
|
||||
"goTemplateBracketSpacing": true,
|
||||
"printWidth": 112,
|
||||
"bracketSameLine": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["*.js", "*.mjs", "*.mts", "*.ts"],
|
||||
"options": {
|
||||
"semi": true,
|
||||
"useTabs": false,
|
||||
"printWidth": 112,
|
||||
"singleQuote": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["*.yml", "*.yaml"],
|
||||
"options": {
|
||||
"singleQuote": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["*.json*"],
|
||||
"options": {
|
||||
"trailingComma": "none"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+2
-2
@@ -12,7 +12,7 @@
|
||||
|
||||
- Great! Open a new GitHub pull request with the patch.
|
||||
- All development occurs on the `dev` branch and new PRs should be forked from here.
|
||||
- The command `npm run example` can be used to test local changes using the example site.
|
||||
- The commands `npm run example`, `npm run example:core`, and `npm run example:production` can be used to test local changes using the example site.
|
||||
- Ensure the PR description clearly describes the problem and solution. Include the relevant issue number, if applicable.
|
||||
- **Before submitting**, check the [coding conventions](#coding-conventions) section below to learn more about coding and commit message expectations.
|
||||
|
||||
@@ -45,7 +45,7 @@ The project includes a Prettier config that helps to format code in line with th
|
||||
|
||||
#### Commit message guidelines
|
||||
|
||||
- Use [Gitmoji](https://gitmoji.dev) in commit messages to provide context.
|
||||
- Use [Gitmoji](https://gitmoji.dev) in PR messages to provide context.
|
||||
- Clearly describe the change with a short summary in the first 72 characters.
|
||||
- Place more detailed explanations in paragraphs below the summary, separated by a blank line.
|
||||
- Use imperative language (ie. "Fix bug", not "Fixed bug" or "Fixes bug").
|
||||
|
||||
+5
-1
@@ -1,2 +1,6 @@
|
||||
github: [nunocoracao]
|
||||
custom: ["https://www.paypal.me/nunocoracao", "https://www.buymeacoffee.com/nunocoracao"]
|
||||
custom:
|
||||
[
|
||||
"https://www.paypal.me/nunocoracao",
|
||||
"https://www.buymeacoffee.com/nunocoracao",
|
||||
]
|
||||
@@ -1,4 +1,4 @@
|
||||
/*! tailwindcss v4.1.7 | MIT License | https://tailwindcss.com */
|
||||
/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */
|
||||
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||
@layer properties;
|
||||
#zen-mode-button {
|
||||
@@ -3698,6 +3698,42 @@ pre {
|
||||
height: 0px;
|
||||
visibility: hidden;
|
||||
}
|
||||
.center-relative-left {
|
||||
left: calc(max(-50vw,-800px) + 50%);
|
||||
}
|
||||
.margin-0 {
|
||||
margin: 0;
|
||||
}
|
||||
.margin-top-\[-15px\] {
|
||||
margin-top: -15px;
|
||||
}
|
||||
.margin-top-\[0\.5rem\] {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
.margin-right-\[10px\] {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.margin-left-\[0px\] {
|
||||
margin-left: 0px;
|
||||
}
|
||||
.padding-main-menu {
|
||||
padding: 2px 0 3px 0;
|
||||
}
|
||||
.padding-top-\[5px\] {
|
||||
padding-top: 5px;
|
||||
}
|
||||
.z-index-\[-10\] {
|
||||
z-index: -10;
|
||||
}
|
||||
.z-index-80 {
|
||||
z-index: 80;
|
||||
}
|
||||
.z-index-100 {
|
||||
z-index: 100;
|
||||
}
|
||||
.z-index-500 {
|
||||
z-index: 500;
|
||||
}
|
||||
[id^="fn"], [id^="fnref"] {
|
||||
scroll-margin-top: 145px;
|
||||
}
|
||||
|
||||
@@ -1,16 +1,14 @@
|
||||
#zen-mode-button {
|
||||
cursor:pointer
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.zen-mode {
|
||||
position: relative;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
body.zen-mode-enable {
|
||||
#bmc-wbtn, .author {
|
||||
display:none !important;
|
||||
}
|
||||
#bmc-wbtn,
|
||||
.author {
|
||||
display: none !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+650
-187
@@ -1,6 +1,6 @@
|
||||
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||
|
||||
@import './components/zen-mode.css';
|
||||
@import "./components/zen-mode.css";
|
||||
|
||||
@import "tailwindcss";
|
||||
@config "../../tailwind.config.js";
|
||||
@@ -38,13 +38,13 @@ button,
|
||||
@apply rtl:pr-4 rtl:border-l-0 rtl:border-r-4;
|
||||
}
|
||||
|
||||
.prose ul>li,
|
||||
.prose ol>li {
|
||||
.prose ul > li,
|
||||
.prose ol > li {
|
||||
@apply rtl:pl-0 rtl:pr-2 rtl:mr-7;
|
||||
}
|
||||
|
||||
.prose ol>li:before,
|
||||
.prose ul>li:before {
|
||||
.prose ol > li:before,
|
||||
.prose ul > li:before {
|
||||
@apply rtl:left-auto rtl:right-1;
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ button,
|
||||
}
|
||||
|
||||
/* Adjust first child within prose */
|
||||
.prose div.min-w-0.max-w-prose>*:first-child {
|
||||
.prose div.min-w-0.max-w-prose > *:first-child {
|
||||
@apply mt-3;
|
||||
}
|
||||
|
||||
@@ -69,9 +69,9 @@ button,
|
||||
}
|
||||
|
||||
#TOCView {
|
||||
max-height: calc(100vh - 150px);
|
||||
min-height: 0;
|
||||
overflow-x: hidden;
|
||||
max-height: calc(100vh - 150px);
|
||||
min-height: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.toc ul,
|
||||
@@ -87,7 +87,7 @@ button,
|
||||
@apply font-normal text-neutral-700 dark:text-neutral-400;
|
||||
}
|
||||
|
||||
.toc ul>li {
|
||||
.toc ul > li {
|
||||
@apply rtl:mr-0;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ button,
|
||||
@apply relative z-0;
|
||||
}
|
||||
|
||||
.highlight:hover>.copy-button {
|
||||
.highlight:hover > .copy-button {
|
||||
@apply visible;
|
||||
}
|
||||
|
||||
@@ -122,7 +122,9 @@ button,
|
||||
}
|
||||
|
||||
/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
|
||||
.katex-display { overflow: auto hidden }
|
||||
.katex-display {
|
||||
overflow: auto hidden;
|
||||
}
|
||||
|
||||
/* Fix katex overflow https://github.com/nunocoracao/blowfish/issues/2138 */
|
||||
.katex-display {
|
||||
@@ -132,21 +134,21 @@ button,
|
||||
|
||||
/* Fix long tables breaking out of article on mobile */
|
||||
table {
|
||||
display: block;
|
||||
overflow: auto;
|
||||
display: block;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* Fix long inline code sections breaking out of article on mobile */
|
||||
code {
|
||||
word-wrap: break-word; /* All browsers since IE 5.5+ */
|
||||
overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */
|
||||
word-wrap: break-word; /* All browsers since IE 5.5+ */
|
||||
overflow-wrap: break-word; /* Renamed property in CSS3 draft spec */
|
||||
}
|
||||
|
||||
/* Fix long URLs breaking out of article bounds on mobile */
|
||||
a {
|
||||
word-break: break-word;
|
||||
word-wrap: break-word;
|
||||
overflow-wrap: break-word;
|
||||
word-break: break-word;
|
||||
word-wrap: break-word;
|
||||
overflow-wrap: break-word;
|
||||
}
|
||||
|
||||
/* -- Chroma Highlight -- */
|
||||
@@ -156,7 +158,7 @@ a {
|
||||
}
|
||||
|
||||
.prose-invert .highlight pre > code {
|
||||
background-color: unset;
|
||||
background-color: unset;
|
||||
}
|
||||
|
||||
/* LineTableTD */
|
||||
@@ -388,36 +390,36 @@ pre {
|
||||
.thumbnail {
|
||||
min-width: 300px;
|
||||
height: 180px;
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.thumbnail_card {
|
||||
height: 200px;
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.thumbnail_card_related {
|
||||
height: 150px;
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.thumbnail_card_term {
|
||||
height: 150px;
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.single_hero_basic {
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.single_hero_round {
|
||||
@@ -426,9 +428,9 @@ pre {
|
||||
}
|
||||
|
||||
.single_hero_background {
|
||||
background-repeat:no-repeat;
|
||||
background-size:cover;
|
||||
background-position:center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
width: calc(100% + 40px);
|
||||
z-index: -10;
|
||||
margin-left: -20px;
|
||||
@@ -451,8 +453,49 @@ pre {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.center-relative-left {
|
||||
left: calc(max(-50vw, -800px) + 50%);
|
||||
}
|
||||
|
||||
.margin-0 {
|
||||
margin: 0;
|
||||
}
|
||||
.margin-top-\[-15px\] {
|
||||
margin-top: -15px;
|
||||
}
|
||||
.margin-top-\[0\.5rem\] {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
.margin-right-\[10px\] {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.margin-left-\[0px\] {
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.padding-main-menu {
|
||||
padding: 2px 0 3px 0;
|
||||
}
|
||||
.padding-top-\[5px\] {
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
.z-index-\[-10\] {
|
||||
z-index: -10;
|
||||
}
|
||||
.z-index-80 {
|
||||
z-index: 80;
|
||||
}
|
||||
.z-index-100 {
|
||||
z-index: 100;
|
||||
}
|
||||
.z-index-500 {
|
||||
z-index: 500;
|
||||
}
|
||||
|
||||
/* Offset scroll position to avoid header overlap */
|
||||
[id^="fn"], [id^="fnref"] {
|
||||
[id^="fn"],
|
||||
[id^="fnref"] {
|
||||
scroll-margin-top: 145px;
|
||||
}
|
||||
|
||||
@@ -484,19 +527,25 @@ pre {
|
||||
.nested-menu:hover + .menuhide {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition: visibility 0.3s, opacity 0.3s ease-in-out ;
|
||||
transition:
|
||||
visibility 0.3s,
|
||||
opacity 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
.menuhide:hover {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
transition: visibility 0.3s, opacity 0.3s ease-in-out ;
|
||||
transition:
|
||||
visibility 0.3s,
|
||||
opacity 0.3s ease-in-out;
|
||||
}
|
||||
|
||||
.menuhide {
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
transition: visibility 0.3s, opacity 0.3s ease-in-out ;
|
||||
transition:
|
||||
visibility 0.3s,
|
||||
opacity 0.3s ease-in-out;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
@@ -507,179 +556,593 @@ pre {
|
||||
}
|
||||
|
||||
/* Gallery Specific Styles */
|
||||
.grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
|
||||
.grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
|
||||
.grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
|
||||
.grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
|
||||
.grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
|
||||
.grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
|
||||
.grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
|
||||
.grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
|
||||
.grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
|
||||
.grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
|
||||
.grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
|
||||
.grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
|
||||
.grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
|
||||
.grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
|
||||
.grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
|
||||
.grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
|
||||
.grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
|
||||
.grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
|
||||
.grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
|
||||
.grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
|
||||
.grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
|
||||
.grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
|
||||
@screen sm {
|
||||
.sm\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
|
||||
.sm\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.sm\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@screen md {
|
||||
.md\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
|
||||
.md\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.md\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@screen lg {
|
||||
.lg\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
|
||||
.lg\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.lg\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@screen xl {
|
||||
.xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
|
||||
.xl\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.xl\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@screen 2xl {
|
||||
.2xl\:grid-w10 { width: calc(10% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w15 { width: calc(15% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w20 { width: calc(20% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w25 { width: calc(25% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w30 { width: calc(30% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w33 { width: calc(33% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w35 { width: calc(35% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w40 { width: calc(40% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w45 { width: calc(45% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w50 { width: calc(50% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w55 { width: calc(55% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w60 { width: calc(60% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w65 { width: calc(65% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w66 { width: calc(66% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w70 { width: calc(70% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w75 { width: calc(75% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w80 { width: calc(80% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w85 { width: calc(85% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w90 { width: calc(90% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w95 { width: calc(95% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w100 { width: calc(100% - 5px); margin: 0px !important; }
|
||||
.2xl\:grid-w10 {
|
||||
width: calc(10% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w15 {
|
||||
width: calc(15% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w20 {
|
||||
width: calc(20% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w25 {
|
||||
width: calc(25% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w30 {
|
||||
width: calc(30% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w33 {
|
||||
width: calc(33% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w35 {
|
||||
width: calc(35% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w40 {
|
||||
width: calc(40% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w45 {
|
||||
width: calc(45% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w50 {
|
||||
width: calc(50% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w55 {
|
||||
width: calc(55% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w60 {
|
||||
width: calc(60% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w65 {
|
||||
width: calc(65% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w66 {
|
||||
width: calc(66% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w70 {
|
||||
width: calc(70% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w75 {
|
||||
width: calc(75% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w80 {
|
||||
width: calc(80% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w85 {
|
||||
width: calc(85% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w90 {
|
||||
width: calc(90% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w95 {
|
||||
width: calc(95% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
.2xl\:grid-w100 {
|
||||
width: calc(100% - 5px);
|
||||
margin: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* Carousel Specific Styles */
|
||||
.ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
|
||||
.ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
|
||||
.ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
|
||||
.ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
} /* 16:9 Aspect Ratio */
|
||||
.ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
} /* 21:9 Aspect Ratio */
|
||||
.ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
} /* 32:9 Aspect Ratio */
|
||||
|
||||
@screen sm {
|
||||
.sm\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
|
||||
.sm\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
|
||||
.sm\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
|
||||
.sm\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
} /* 16:9 Aspect Ratio */
|
||||
.sm\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
} /* 21:9 Aspect Ratio */
|
||||
.sm\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
} /* 32:9 Aspect Ratio */
|
||||
}
|
||||
|
||||
@screen md {
|
||||
.md\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
|
||||
.md\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
|
||||
.md\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
|
||||
.md\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
} /* 16:9 Aspect Ratio */
|
||||
.md\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
} /* 21:9 Aspect Ratio */
|
||||
.md\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
} /* 32:9 Aspect Ratio */
|
||||
}
|
||||
|
||||
@screen lg {
|
||||
.lg\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
|
||||
.lg\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
|
||||
.lg\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
|
||||
.lg\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
} /* 16:9 Aspect Ratio */
|
||||
.lg\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
} /* 21:9 Aspect Ratio */
|
||||
.lg\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
} /* 32:9 Aspect Ratio */
|
||||
}
|
||||
|
||||
@screen xl {
|
||||
.xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
|
||||
.xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
|
||||
.xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
|
||||
.xl\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
} /* 16:9 Aspect Ratio */
|
||||
.xl\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
} /* 21:9 Aspect Ratio */
|
||||
.xl\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
} /* 32:9 Aspect Ratio */
|
||||
}
|
||||
|
||||
@screen 2xl {
|
||||
.2xl\:ratio-16-9 { padding-top: 56.25%; } /* 16:9 Aspect Ratio */
|
||||
.2xl\:ratio-21-9 { padding-top: 42.85%; } /* 21:9 Aspect Ratio */
|
||||
.2xl\:ratio-32-9 { padding-top: 28.125%; } /* 32:9 Aspect Ratio */
|
||||
}
|
||||
.2xl\:ratio-16-9 {
|
||||
padding-top: 56.25%;
|
||||
} /* 16:9 Aspect Ratio */
|
||||
.2xl\:ratio-21-9 {
|
||||
padding-top: 42.85%;
|
||||
} /* 21:9 Aspect Ratio */
|
||||
.2xl\:ratio-32-9 {
|
||||
padding-top: 28.125%;
|
||||
} /* 32:9 Aspect Ratio */
|
||||
}
|
||||
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255,255,255;
|
||||
--color-neutral-100: 214,251,252;
|
||||
--color-neutral-200: 142,245,247;
|
||||
--color-neutral-300: 70,239,243;
|
||||
--color-neutral-400: 15,217,222;
|
||||
--color-neutral-500: 10,147,150;
|
||||
--color-neutral-600: 7,110,112;
|
||||
--color-neutral-700: 5,72,74;
|
||||
--color-neutral-800: 2,35,35;
|
||||
--color-neutral-900: 0,0,0;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 255,255,255;
|
||||
--color-primary-200: 255,240,212;
|
||||
--color-primary-300: 255,213,136;
|
||||
--color-primary-400: 255,187,59;
|
||||
--color-primary-500: 238,155,0;
|
||||
--color-primary-600: 197,128,0;
|
||||
--color-primary-700: 156,102,0;
|
||||
--color-primary-800: 116,75,0;
|
||||
--color-primary-900: 75,49,0;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 255,246,241;
|
||||
--color-secondary-200: 254,194,166;
|
||||
--color-secondary-300: 252,142,91;
|
||||
--color-secondary-400: 251,91,15;
|
||||
--color-secondary-500: 187,62,3;
|
||||
--color-secondary-600: 147,49,2;
|
||||
--color-secondary-700: 107,35,2;
|
||||
--color-secondary-800: 67,22,1;
|
||||
--color-secondary-900: 26,9,0;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255, 255, 255;
|
||||
--color-neutral-100: 214, 251, 252;
|
||||
--color-neutral-200: 142, 245, 247;
|
||||
--color-neutral-300: 70, 239, 243;
|
||||
--color-neutral-400: 15, 217, 222;
|
||||
--color-neutral-500: 10, 147, 150;
|
||||
--color-neutral-600: 7, 110, 112;
|
||||
--color-neutral-700: 5, 72, 74;
|
||||
--color-neutral-800: 2, 35, 35;
|
||||
--color-neutral-900: 0, 0, 0;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 255, 255, 255;
|
||||
--color-primary-200: 255, 240, 212;
|
||||
--color-primary-300: 255, 213, 136;
|
||||
--color-primary-400: 255, 187, 59;
|
||||
--color-primary-500: 238, 155, 0;
|
||||
--color-primary-600: 197, 128, 0;
|
||||
--color-primary-700: 156, 102, 0;
|
||||
--color-primary-800: 116, 75, 0;
|
||||
--color-primary-900: 75, 49, 0;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 255, 246, 241;
|
||||
--color-secondary-200: 254, 194, 166;
|
||||
--color-secondary-300: 252, 142, 91;
|
||||
--color-secondary-400: 251, 91, 15;
|
||||
--color-secondary-500: 187, 62, 3;
|
||||
--color-secondary-600: 147, 49, 2;
|
||||
--color-secondary-700: 107, 35, 2;
|
||||
--color-secondary-800: 67, 22, 1;
|
||||
--color-secondary-900: 26, 9, 0;
|
||||
}
|
||||
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255,255,255;
|
||||
--color-neutral-100: 254,197,207;
|
||||
--color-neutral-200: 253,121,144;
|
||||
--color-neutral-300: 251,46,82;
|
||||
--color-neutral-400: 217,4,41;
|
||||
--color-neutral-500: 177,3,33;
|
||||
--color-neutral-600: 137,3,26;
|
||||
--color-neutral-700: 97,2,18;
|
||||
--color-neutral-800: 57,1,11;
|
||||
--color-neutral-900: 17,0,3;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 255,255,255;
|
||||
--color-primary-200: 230,233,238;
|
||||
--color-primary-300: 186,193,206;
|
||||
--color-primary-400: 141,153,174;
|
||||
--color-primary-500: 117,132,157;
|
||||
--color-primary-600: 97,111,136;
|
||||
--color-primary-700: 80,92,113;
|
||||
--color-primary-800: 63,72,89;
|
||||
--color-primary-900: 46,53,65;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 217,230,238;
|
||||
--color-secondary-200: 164,195,215;
|
||||
--color-secondary-300: 111,160,192;
|
||||
--color-secondary-400: 69,123,157;
|
||||
--color-secondary-500: 57,101,129;
|
||||
--color-secondary-600: 44,79,100;
|
||||
--color-secondary-700: 32,56,72;
|
||||
--color-secondary-800: 19,34,44;
|
||||
--color-secondary-900: 7,12,15;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255, 255, 255;
|
||||
--color-neutral-100: 254, 197, 207;
|
||||
--color-neutral-200: 253, 121, 144;
|
||||
--color-neutral-300: 251, 46, 82;
|
||||
--color-neutral-400: 217, 4, 41;
|
||||
--color-neutral-500: 177, 3, 33;
|
||||
--color-neutral-600: 137, 3, 26;
|
||||
--color-neutral-700: 97, 2, 18;
|
||||
--color-neutral-800: 57, 1, 11;
|
||||
--color-neutral-900: 17, 0, 3;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 255, 255, 255;
|
||||
--color-primary-200: 230, 233, 238;
|
||||
--color-primary-300: 186, 193, 206;
|
||||
--color-primary-400: 141, 153, 174;
|
||||
--color-primary-500: 117, 132, 157;
|
||||
--color-primary-600: 97, 111, 136;
|
||||
--color-primary-700: 80, 92, 113;
|
||||
--color-primary-800: 63, 72, 89;
|
||||
--color-primary-900: 46, 53, 65;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 217, 230, 238;
|
||||
--color-secondary-200: 164, 195, 215;
|
||||
--color-secondary-300: 111, 160, 192;
|
||||
--color-secondary-400: 69, 123, 157;
|
||||
--color-secondary-500: 57, 101, 129;
|
||||
--color-secondary-600: 44, 79, 100;
|
||||
--color-secondary-700: 32, 56, 72;
|
||||
--color-secondary-800: 19, 34, 44;
|
||||
--color-secondary-900: 7, 12, 15;
|
||||
}
|
||||
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255,255,255;
|
||||
--color-neutral-100: 232,238,237;
|
||||
--color-neutral-200: 188,206,203;
|
||||
--color-neutral-300: 143,174,170;
|
||||
--color-neutral-400: 101,140,134;
|
||||
--color-neutral-500: 84,116,111;
|
||||
--color-neutral-600: 67,93,89;
|
||||
--color-neutral-700: 50,69,66;
|
||||
--color-neutral-800: 33,45,43;
|
||||
--color-neutral-900: 16,21,21;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 255,255,255;
|
||||
--color-primary-200: 205,252,247;
|
||||
--color-primary-300: 132,249,235;
|
||||
--color-primary-400: 59,245,223;
|
||||
--color-primary-500: 20,243,217;
|
||||
--color-primary-600: 11,212,188;
|
||||
--color-primary-700: 9,173,153;
|
||||
--color-primary-800: 7,134,119;
|
||||
--color-primary-900: 5,95,84;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 194,253,219;
|
||||
--color-secondary-200: 120,251,175;
|
||||
--color-secondary-300: 45,249,130;
|
||||
--color-secondary-400: 6,212,92;
|
||||
--color-secondary-500: 5,172,75;
|
||||
--color-secondary-600: 4,133,58;
|
||||
--color-secondary-700: 3,93,40;
|
||||
--color-secondary-800: 2,53,23;
|
||||
--color-secondary-900: 0,14,6;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255, 255, 255;
|
||||
--color-neutral-100: 232, 238, 237;
|
||||
--color-neutral-200: 188, 206, 203;
|
||||
--color-neutral-300: 143, 174, 170;
|
||||
--color-neutral-400: 101, 140, 134;
|
||||
--color-neutral-500: 84, 116, 111;
|
||||
--color-neutral-600: 67, 93, 89;
|
||||
--color-neutral-700: 50, 69, 66;
|
||||
--color-neutral-800: 33, 45, 43;
|
||||
--color-neutral-900: 16, 21, 21;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 255, 255, 255;
|
||||
--color-primary-200: 205, 252, 247;
|
||||
--color-primary-300: 132, 249, 235;
|
||||
--color-primary-400: 59, 245, 223;
|
||||
--color-primary-500: 20, 243, 217;
|
||||
--color-primary-600: 11, 212, 188;
|
||||
--color-primary-700: 9, 173, 153;
|
||||
--color-primary-800: 7, 134, 119;
|
||||
--color-primary-900: 5, 95, 84;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 194, 253, 219;
|
||||
--color-secondary-200: 120, 251, 175;
|
||||
--color-secondary-300: 45, 249, 130;
|
||||
--color-secondary-400: 6, 212, 92;
|
||||
--color-secondary-500: 5, 172, 75;
|
||||
--color-secondary-600: 4, 133, 58;
|
||||
--color-secondary-700: 3, 93, 40;
|
||||
--color-secondary-800: 2, 53, 23;
|
||||
--color-secondary-900: 0, 14, 6;
|
||||
}
|
||||
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255,255,255;
|
||||
--color-neutral-100: 255,255,255;
|
||||
--color-neutral-200: 201,209,244;
|
||||
--color-neutral-300: 137,156,231;
|
||||
--color-neutral-400: 74,103,217;
|
||||
--color-neutral-500: 37,65,178;
|
||||
--color-neutral-600: 30,53,144;
|
||||
--color-neutral-700: 23,40,110;
|
||||
--color-neutral-800: 16,28,77;
|
||||
--color-neutral-900: 9,16,43;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 255,255,255;
|
||||
--color-primary-200: 252,211,226;
|
||||
--color-primary-300: 246,140,178;
|
||||
--color-primary-400: 240,69,131;
|
||||
--color-primary-500: 216,17,89;
|
||||
--color-primary-600: 178,14,73;
|
||||
--color-primary-700: 140,11,58;
|
||||
--color-primary-800: 103,8,42;
|
||||
--color-primary-900: 65,5,27;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 255,255,255;
|
||||
--color-secondary-200: 255,255,255;
|
||||
--color-secondary-300: 255,242,219;
|
||||
--color-secondary-400: 255,215,143;
|
||||
--color-secondary-500: 255,188,66;
|
||||
--color-secondary-600: 255,174,25;
|
||||
--color-secondary-700: 239,155,0;
|
||||
--color-secondary-800: 199,128,0;
|
||||
--color-secondary-900: 158,102,0;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255, 255, 255;
|
||||
--color-neutral-100: 255, 255, 255;
|
||||
--color-neutral-200: 201, 209, 244;
|
||||
--color-neutral-300: 137, 156, 231;
|
||||
--color-neutral-400: 74, 103, 217;
|
||||
--color-neutral-500: 37, 65, 178;
|
||||
--color-neutral-600: 30, 53, 144;
|
||||
--color-neutral-700: 23, 40, 110;
|
||||
--color-neutral-800: 16, 28, 77;
|
||||
--color-neutral-900: 9, 16, 43;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 255, 255, 255;
|
||||
--color-primary-200: 252, 211, 226;
|
||||
--color-primary-300: 246, 140, 178;
|
||||
--color-primary-400: 240, 69, 131;
|
||||
--color-primary-500: 216, 17, 89;
|
||||
--color-primary-600: 178, 14, 73;
|
||||
--color-primary-700: 140, 11, 58;
|
||||
--color-primary-800: 103, 8, 42;
|
||||
--color-primary-900: 65, 5, 27;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 255, 255, 255;
|
||||
--color-secondary-200: 255, 255, 255;
|
||||
--color-secondary-300: 255, 242, 219;
|
||||
--color-secondary-400: 255, 215, 143;
|
||||
--color-secondary-500: 255, 188, 66;
|
||||
--color-secondary-600: 255, 174, 25;
|
||||
--color-secondary-700: 239, 155, 0;
|
||||
--color-secondary-800: 199, 128, 0;
|
||||
--color-secondary-900: 158, 102, 0;
|
||||
}
|
||||
+33
-32
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255,255,255;
|
||||
--color-neutral-100: 255,255,255;
|
||||
--color-neutral-200: 218,196,249;
|
||||
--color-neutral-300: 175,126,243;
|
||||
--color-neutral-400: 131,56,236;
|
||||
--color-neutral-500: 108,22,229;
|
||||
--color-neutral-600: 91,18,192;
|
||||
--color-neutral-700: 73,15,155;
|
||||
--color-neutral-800: 56,11,118;
|
||||
--color-neutral-900: 38,8,80;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 255,230,241;
|
||||
--color-primary-200: 255,153,197;
|
||||
--color-primary-300: 255,77,154;
|
||||
--color-primary-400: 255,0,110;
|
||||
--color-primary-500: 214,0,92;
|
||||
--color-primary-600: 173,0,75;
|
||||
--color-primary-700: 133,0,57;
|
||||
--color-primary-800: 92,0,40;
|
||||
--color-primary-900: 51,0,22;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 255,255,255;
|
||||
--color-secondary-200: 211,228,255;
|
||||
--color-secondary-300: 135,181,255;
|
||||
--color-secondary-400: 58,134,255;
|
||||
--color-secondary-500: 17,109,255;
|
||||
--color-secondary-600: 0,89,231;
|
||||
--color-secondary-700: 0,74,191;
|
||||
--color-secondary-800: 0,58,150;
|
||||
--color-secondary-900: 0,42,109;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255, 255, 255;
|
||||
--color-neutral-100: 255, 255, 255;
|
||||
--color-neutral-200: 218, 196, 249;
|
||||
--color-neutral-300: 175, 126, 243;
|
||||
--color-neutral-400: 131, 56, 236;
|
||||
--color-neutral-500: 108, 22, 229;
|
||||
--color-neutral-600: 91, 18, 192;
|
||||
--color-neutral-700: 73, 15, 155;
|
||||
--color-neutral-800: 56, 11, 118;
|
||||
--color-neutral-900: 38, 8, 80;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 255, 230, 241;
|
||||
--color-primary-200: 255, 153, 197;
|
||||
--color-primary-300: 255, 77, 154;
|
||||
--color-primary-400: 255, 0, 110;
|
||||
--color-primary-500: 214, 0, 92;
|
||||
--color-primary-600: 173, 0, 75;
|
||||
--color-primary-700: 133, 0, 57;
|
||||
--color-primary-800: 92, 0, 40;
|
||||
--color-primary-900: 51, 0, 22;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 255, 255, 255;
|
||||
--color-secondary-200: 211, 228, 255;
|
||||
--color-secondary-300: 135, 181, 255;
|
||||
--color-secondary-400: 58, 134, 255;
|
||||
--color-secondary-500: 17, 109, 255;
|
||||
--color-secondary-600: 0, 89, 231;
|
||||
--color-secondary-700: 0, 74, 191;
|
||||
--color-secondary-800: 0, 58, 150;
|
||||
--color-secondary-900: 0, 42, 109;
|
||||
}
|
||||
+33
-32
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255,255,255;
|
||||
--color-neutral-100: 255,255,255;
|
||||
--color-neutral-200: 214,219,222;
|
||||
--color-neutral-300: 172,183,188;
|
||||
--color-neutral-400: 129,146,154;
|
||||
--color-neutral-500: 92,107,115;
|
||||
--color-neutral-600: 74,86,92;
|
||||
--color-neutral-700: 56,65,70;
|
||||
--color-neutral-800: 38,44,47;
|
||||
--color-neutral-900: 19,23,24;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 255,255,255;
|
||||
--color-primary-200: 255,255,255;
|
||||
--color-primary-300: 250,251,252;
|
||||
--color-primary-400: 204,216,222;
|
||||
--color-primary-500: 157,180,192;
|
||||
--color-primary-600: 132,161,176;
|
||||
--color-primary-700: 107,142,160;
|
||||
--color-primary-800: 89,121,138;
|
||||
--color-primary-900: 73,99,113;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 255,255,255;
|
||||
--color-secondary-200: 182,240,255;
|
||||
--color-secondary-300: 105,225,255;
|
||||
--color-secondary-400: 28,209,255;
|
||||
--color-secondary-500: 0,165,207;
|
||||
--color-secondary-600: 0,132,166;
|
||||
--color-secondary-700: 0,100,125;
|
||||
--color-secondary-800: 0,67,85;
|
||||
--color-secondary-900: 0,35,44;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255, 255, 255;
|
||||
--color-neutral-100: 255, 255, 255;
|
||||
--color-neutral-200: 214, 219, 222;
|
||||
--color-neutral-300: 172, 183, 188;
|
||||
--color-neutral-400: 129, 146, 154;
|
||||
--color-neutral-500: 92, 107, 115;
|
||||
--color-neutral-600: 74, 86, 92;
|
||||
--color-neutral-700: 56, 65, 70;
|
||||
--color-neutral-800: 38, 44, 47;
|
||||
--color-neutral-900: 19, 23, 24;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 255, 255, 255;
|
||||
--color-primary-200: 255, 255, 255;
|
||||
--color-primary-300: 250, 251, 252;
|
||||
--color-primary-400: 204, 216, 222;
|
||||
--color-primary-500: 157, 180, 192;
|
||||
--color-primary-600: 132, 161, 176;
|
||||
--color-primary-700: 107, 142, 160;
|
||||
--color-primary-800: 89, 121, 138;
|
||||
--color-primary-900: 73, 99, 113;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 255, 255, 255;
|
||||
--color-secondary-200: 182, 240, 255;
|
||||
--color-secondary-300: 105, 225, 255;
|
||||
--color-secondary-400: 28, 209, 255;
|
||||
--color-secondary-500: 0, 165, 207;
|
||||
--color-secondary-600: 0, 132, 166;
|
||||
--color-secondary-700: 0, 100, 125;
|
||||
--color-secondary-800: 0, 67, 85;
|
||||
--color-secondary-900: 0, 35, 44;
|
||||
}
|
||||
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255,255,255;
|
||||
--color-neutral-100: 238,232,238;
|
||||
--color-neutral-200: 206,188,206;
|
||||
--color-neutral-300: 174,143,174;
|
||||
--color-neutral-400: 140,101,140;
|
||||
--color-neutral-500: 116,84,116;
|
||||
--color-neutral-600: 93,67,93;
|
||||
--color-neutral-700: 69,50,69;
|
||||
--color-neutral-800: 45,33,45;
|
||||
--color-neutral-900: 21,16,21;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 255,255,255;
|
||||
--color-primary-200: 252,205,252;
|
||||
--color-primary-300: 249,132,247;
|
||||
--color-primary-400: 245,59,242;
|
||||
--color-primary-500: 243,20,239;
|
||||
--color-primary-600: 212,11,208;
|
||||
--color-primary-700: 173,9,170;
|
||||
--color-primary-800: 134,7,132;
|
||||
--color-primary-900: 95,5,94;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 227,194,253;
|
||||
--color-secondary-200: 192,120,251;
|
||||
--color-secondary-300: 157,45,249;
|
||||
--color-secondary-400: 119,6,212;
|
||||
--color-secondary-500: 97,5,172;
|
||||
--color-secondary-600: 74,4,133;
|
||||
--color-secondary-700: 52,3,93;
|
||||
--color-secondary-800: 30,2,53;
|
||||
--color-secondary-900: 8,0,14;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 255, 255, 255;
|
||||
--color-neutral-100: 238, 232, 238;
|
||||
--color-neutral-200: 206, 188, 206;
|
||||
--color-neutral-300: 174, 143, 174;
|
||||
--color-neutral-400: 140, 101, 140;
|
||||
--color-neutral-500: 116, 84, 116;
|
||||
--color-neutral-600: 93, 67, 93;
|
||||
--color-neutral-700: 69, 50, 69;
|
||||
--color-neutral-800: 45, 33, 45;
|
||||
--color-neutral-900: 21, 16, 21;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 255, 255, 255;
|
||||
--color-primary-200: 252, 205, 252;
|
||||
--color-primary-300: 249, 132, 247;
|
||||
--color-primary-400: 245, 59, 242;
|
||||
--color-primary-500: 243, 20, 239;
|
||||
--color-primary-600: 212, 11, 208;
|
||||
--color-primary-700: 173, 9, 170;
|
||||
--color-primary-800: 134, 7, 132;
|
||||
--color-primary-900: 95, 5, 94;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 227, 194, 253;
|
||||
--color-secondary-200: 192, 120, 251;
|
||||
--color-secondary-300: 157, 45, 249;
|
||||
--color-secondary-400: 119, 6, 212;
|
||||
--color-secondary-500: 97, 5, 172;
|
||||
--color-secondary-600: 74, 4, 133;
|
||||
--color-secondary-700: 52, 3, 93;
|
||||
--color-secondary-800: 30, 2, 53;
|
||||
--color-secondary-900: 8, 0, 14;
|
||||
}
|
||||
@@ -1,32 +1,33 @@
|
||||
:root { --color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 203,255,227;
|
||||
--color-neutral-100: 126,255,186;
|
||||
--color-neutral-200: 49,255,145;
|
||||
--color-neutral-300: 0,228,106;
|
||||
--color-neutral-400: 0,152,71;
|
||||
--color-neutral-500: 0,75,35;
|
||||
--color-neutral-600: 0,50,23;
|
||||
--color-neutral-700: 0,24,11;
|
||||
--color-neutral-800: 0,24,11;
|
||||
--color-neutral-900: 0,0,0;
|
||||
--color-primary-50: 255,255,255;
|
||||
--color-primary-100: 236,255,227;
|
||||
--color-primary-200: 184,255,150;
|
||||
--color-primary-300: 132,255,74;
|
||||
--color-primary-400: 80,252,0;
|
||||
--color-primary-500: 56,176,0;
|
||||
--color-primary-600: 48,151,0;
|
||||
--color-primary-700: 40,125,0;
|
||||
--color-primary-800: 40,125,0;
|
||||
--color-primary-900: 7,23,0;
|
||||
--color-secondary-50: 255,255,255;
|
||||
--color-secondary-100: 239,248,252;
|
||||
--color-secondary-200: 173,220,242;
|
||||
--color-secondary-300: 107,192,231;
|
||||
--color-secondary-400: 41,164,220;
|
||||
--color-secondary-500: 26,117,159;
|
||||
--color-secondary-600: 22,101,137;
|
||||
--color-secondary-700: 19,85,115;
|
||||
--color-secondary-800: 19,85,115;
|
||||
--color-secondary-900: 4,20,28;
|
||||
}
|
||||
:root {
|
||||
--color-neutral: 255, 255, 255;
|
||||
--color-neutral-50: 203, 255, 227;
|
||||
--color-neutral-100: 126, 255, 186;
|
||||
--color-neutral-200: 49, 255, 145;
|
||||
--color-neutral-300: 0, 228, 106;
|
||||
--color-neutral-400: 0, 152, 71;
|
||||
--color-neutral-500: 0, 75, 35;
|
||||
--color-neutral-600: 0, 50, 23;
|
||||
--color-neutral-700: 0, 24, 11;
|
||||
--color-neutral-800: 0, 24, 11;
|
||||
--color-neutral-900: 0, 0, 0;
|
||||
--color-primary-50: 255, 255, 255;
|
||||
--color-primary-100: 236, 255, 227;
|
||||
--color-primary-200: 184, 255, 150;
|
||||
--color-primary-300: 132, 255, 74;
|
||||
--color-primary-400: 80, 252, 0;
|
||||
--color-primary-500: 56, 176, 0;
|
||||
--color-primary-600: 48, 151, 0;
|
||||
--color-primary-700: 40, 125, 0;
|
||||
--color-primary-800: 40, 125, 0;
|
||||
--color-primary-900: 7, 23, 0;
|
||||
--color-secondary-50: 255, 255, 255;
|
||||
--color-secondary-100: 239, 248, 252;
|
||||
--color-secondary-200: 173, 220, 242;
|
||||
--color-secondary-300: 107, 192, 231;
|
||||
--color-secondary-400: 41, 164, 220;
|
||||
--color-secondary-500: 26, 117, 159;
|
||||
--color-secondary-600: 22, 101, 137;
|
||||
--color-secondary-700: 19, 85, 115;
|
||||
--color-secondary-800: 19, 85, 115;
|
||||
--color-secondary-900: 4, 20, 28;
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Pro 6.4.2 by @fontawesome - https://fontawesome.com License -https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M311 196.8v81.3c0 2.1-1.6 3.7-3.7 3.7h-13c-1.3 0-2.4-.7-3-1.5l-37.3-50.3v48.2c0 2.1-1.6 3.7-3.7 3.7h-13c-2.1 0-3.7-1.6-3.7-3.7V196.9c0-2.1 1.6-3.7 3.7-3.7h12.9c1.1 0 2.4 .6 3 1.6l37.3 50.3V196.9c0-2.1 1.6-3.7 3.7-3.7h13c2.1-.1 3.8 1.6 3.8 3.5zm-93.7-3.7h-13c-2.1 0-3.7 1.6-3.7 3.7v81.3c0 2.1 1.6 3.7 3.7 3.7h13c2.1 0 3.7-1.6 3.7-3.7V196.8c0-1.9-1.6-3.7-3.7-3.7zm-31.4 68.1H150.3V196.8c0-2.1-1.6-3.7-3.7-3.7h-13c-2.1 0-3.7 1.6-3.7 3.7v81.3c0 1 .3 1.8 1 2.5c.7 .6 1.5 1 2.5 1h52.2c2.1 0 3.7-1.6 3.7-3.7v-13c0-1.9-1.6-3.7-3.5-3.7zm193.7-68.1H327.3c-1.9 0-3.7 1.6-3.7 3.7v81.3c0 1.9 1.6 3.7 3.7 3.7h52.2c2.1 0 3.7-1.6 3.7-3.7V265c0-2.1-1.6-3.7-3.7-3.7H344V247.7h35.5c2.1 0 3.7-1.6 3.7-3.7V230.9c0-2.1-1.6-3.7-3.7-3.7H344V213.5h35.5c2.1 0 3.7-1.6 3.7-3.7v-13c-.1-1.9-1.7-3.7-3.7-3.7zM512 93.4V419.4c-.1 51.2-42.1 92.7-93.4 92.6H92.6C41.4 511.9-.1 469.8 0 418.6V92.6C.1 41.4 42.2-.1 93.4 0H419.4c51.2 .1 92.7 42.1 92.6 93.4zM441.6 233.5c0-83.4-83.7-151.3-186.4-151.3s-186.4 67.9-186.4 151.3c0 74.7 66.3 137.4 155.9 149.3c21.8 4.7 19.3 12.7 14.4 42.1c-.8 4.7-3.8 18.4 16.1 10.1s107.3-63.2 146.5-108.2c27-29.7 39.9-59.8 39.9-93.1z" /></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,5 @@
|
||||
<svg width="592" height="592" viewBox="0 0 592 592" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M46 260.286L292.269 46L546 260.286" stroke="currentColor" stroke-width="91" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M46 447.786L292.269 233.5L546 447.786" stroke="currentColor" stroke-width="91" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M293.619 407.607V546" stroke="currentColor" stroke-width="91" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 486 B |
@@ -0,0 +1,15 @@
|
||||
function setBackgroundBlur() {
|
||||
const scriptElement = document.currentScript;
|
||||
const targetId =
|
||||
scriptElement && scriptElement.getAttribute("data-target-id")
|
||||
? scriptElement.getAttribute("data-target-id")
|
||||
: (console.error("data-target-id is null"), null);
|
||||
|
||||
window.addEventListener("scroll", () => {
|
||||
const scroll = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
|
||||
const backgroundBlur = document.getElementById(targetId);
|
||||
backgroundBlur.style.opacity = scroll / 300;
|
||||
});
|
||||
}
|
||||
|
||||
setBackgroundBlur();
|
||||
+6
-2
@@ -1,6 +1,10 @@
|
||||
var scriptBundle = document.getElementById("script-bundle");
|
||||
var copyText = scriptBundle && scriptBundle.getAttribute("data-copy")? scriptBundle.getAttribute("data-copy") : "Copy";
|
||||
var copiedText = scriptBundle && scriptBundle.getAttribute("data-copied")? scriptBundle.getAttribute("data-copied") : "Copied";
|
||||
var copyText =
|
||||
scriptBundle && scriptBundle.getAttribute("data-copy") ? scriptBundle.getAttribute("data-copy") : "Copy";
|
||||
var copiedText =
|
||||
scriptBundle && scriptBundle.getAttribute("data-copied")
|
||||
? scriptBundle.getAttribute("data-copied")
|
||||
: "Copied";
|
||||
|
||||
function createCopyButton(highlightDiv) {
|
||||
const button = document.createElement("button");
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
function fetchRepo() {
|
||||
const scriptElement = document.currentScript;
|
||||
const repoURL =
|
||||
scriptElement && scriptElement.getAttribute("data-repo-url")
|
||||
? scriptElement.getAttribute("data-repo-url")
|
||||
: (console.error("data-repo-url is null"), null);
|
||||
const repoId =
|
||||
scriptElement && scriptElement.getAttribute("data-repo-id")
|
||||
? scriptElement.getAttribute("data-repo-id")
|
||||
: (console.error("data-repo-id is null"), null);
|
||||
const requestObjects = repoId.startsWith("github")
|
||||
? ["full_name", "description", "stargazers_count", "forks"]
|
||||
: repoId.startsWith("gitlab")
|
||||
? ["name_with_namespace", "description", "star_count", "forks_count"]
|
||||
: ["full_name", "description", "stars_count", "forks_count"];
|
||||
fetch(repoURL, {
|
||||
headers: new Headers({
|
||||
"User-agent": "Mozilla/4.0 Custom User Agent",
|
||||
}),
|
||||
})
|
||||
.then((response) => response.json())
|
||||
.then((data) => {
|
||||
requestObjects.forEach((requestObject) => {
|
||||
let element = document.getElementById(`${repoId}-${requestObject}`);
|
||||
if (requestObject === "stargazers_count" && repoId.startsWith("github")) {
|
||||
element = document.getElementById(`${repoId}-stargazers`);
|
||||
}
|
||||
element
|
||||
? (element.innerHTML = data[requestObject])
|
||||
: (console.error(`Element '${repoId}-${requestObject}' not found`), null);
|
||||
});
|
||||
})
|
||||
.catch((error) => console.error(error));
|
||||
}
|
||||
|
||||
fetchRepo();
|
||||
@@ -4,16 +4,16 @@ var menuWrapper = document.getElementById("menu-wrapper");
|
||||
|
||||
var menuOpen = false;
|
||||
|
||||
var openMenu = function (e) {
|
||||
var openMenu = function () {
|
||||
if (!menuOpen) {
|
||||
menuOpen = true;
|
||||
document.body.style.overflowY = "hidden";
|
||||
menuButton.style.visibility = "hidden";
|
||||
menuWrapper.style.visibility = "visible";
|
||||
menuWrapper.style.opacity = "1";
|
||||
window.onbeforeunload = function (event) {
|
||||
closeMenu()
|
||||
}
|
||||
window.onbeforeunload = function () {
|
||||
closeMenu();
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
@@ -24,10 +24,10 @@ var closeMenu = function (e) {
|
||||
menuButton.style.visibility = "visible";
|
||||
menuWrapper.style.visibility = "hidden";
|
||||
menuWrapper.style.opacity = "0";
|
||||
window.onbeforeunload = function (event) { }
|
||||
window.onbeforeunload = function () {};
|
||||
e.stopPropagation();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
menuButton.addEventListener("click", openMenu);
|
||||
menuCloseButton.addEventListener("click", closeMenu);
|
||||
menuButton && menuButton.addEventListener("click", openMenu);
|
||||
menuCloseButton && menuCloseButton.addEventListener("click", closeMenu);
|
||||
+111
-86
@@ -1,106 +1,131 @@
|
||||
var liked_page = false
|
||||
var id = oid ? oid.replaceAll("/", "-") : oid
|
||||
var id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes
|
||||
const pageScriptElement = document.currentScript;
|
||||
const oid =
|
||||
pageScriptElement && pageScriptElement.getAttribute("data-oid")
|
||||
? pageScriptElement.getAttribute("data-oid")
|
||||
: (console.error("data-oid is null"), null);
|
||||
const oid_likes =
|
||||
pageScriptElement && pageScriptElement.getAttribute("data-oid-likes")
|
||||
? pageScriptElement.getAttribute("data-oid-likes")
|
||||
: (console.error("data-oid-likes is null"), null);
|
||||
const liked_page = false;
|
||||
const id = oid ? oid.replaceAll("/", "-") : oid;
|
||||
const id_likes = oid_likes ? oid_likes.replaceAll("/", "-") : oid_likes;
|
||||
|
||||
if (typeof auth !== 'undefined') {
|
||||
|
||||
var viewed = localStorage.getItem(id);
|
||||
if (typeof auth !== "undefined") {
|
||||
const viewed = localStorage.getItem(id);
|
||||
|
||||
if (!viewed) {
|
||||
auth.signInAnonymously()
|
||||
.then(() => {
|
||||
var docRef = db.collection('views').doc(id)
|
||||
localStorage.setItem(id, true);
|
||||
docRef.get().then((doc) => {
|
||||
if (doc.exists) {
|
||||
db.collection('views').doc(id).update({
|
||||
views: firebase.firestore.FieldValue.increment(1)
|
||||
});
|
||||
} else {
|
||||
db.collection('views').doc(id).set({ views: 1 })
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.log("Error getting document:", error);
|
||||
if (!viewed) {
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
const docRef = db.collection("views").doc(id);
|
||||
localStorage.setItem(id, true);
|
||||
docRef
|
||||
.get()
|
||||
.then((doc) => {
|
||||
if (doc.exists) {
|
||||
db.collection("views")
|
||||
.doc(id)
|
||||
.update({
|
||||
views: firebase.firestore.FieldValue.increment(1),
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
var errorCode = error.code;
|
||||
var errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage)
|
||||
});
|
||||
}
|
||||
} else {
|
||||
db.collection("views").doc(id).set({ views: 1 });
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
const errorCode = error.code;
|
||||
const errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
|
||||
var liked = localStorage.getItem(id_likes);
|
||||
|
||||
if (liked) {
|
||||
liked_page = true
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = ""
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none"
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = ""
|
||||
}
|
||||
const liked = localStorage.getItem(id_likes);
|
||||
|
||||
if (liked) {
|
||||
liked_page = true;
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "";
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none";
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "";
|
||||
}
|
||||
}
|
||||
|
||||
function like_article(id_likes) {
|
||||
auth.signInAnonymously()
|
||||
.then(() => {
|
||||
var docRef = db.collection('likes').doc(id_likes)
|
||||
docRef.get().then((doc) => {
|
||||
liked_page = true
|
||||
localStorage.setItem(id_likes, true);
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = ""
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none"
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = ""
|
||||
if (doc.exists) {
|
||||
db.collection('likes').doc(id_likes).update({
|
||||
likes: firebase.firestore.FieldValue.increment(1)
|
||||
});
|
||||
} else {
|
||||
db.collection('likes').doc(id_likes).set({ likes: 1 })
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
const docRef = db.collection("likes").doc(id_likes);
|
||||
docRef
|
||||
.get()
|
||||
.then((doc) => {
|
||||
liked_page = true;
|
||||
localStorage.setItem(id_likes, true);
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "";
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "none";
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "";
|
||||
if (doc.exists) {
|
||||
db.collection("likes")
|
||||
.doc(id_likes)
|
||||
.update({
|
||||
likes: firebase.firestore.FieldValue.increment(1),
|
||||
});
|
||||
} else {
|
||||
db.collection("likes").doc(id_likes).set({ likes: 1 });
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
var errorCode = error.code;
|
||||
var errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage)
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
const errorCode = error.code;
|
||||
const errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
|
||||
function remove_like_article(id_likes) {
|
||||
auth.signInAnonymously()
|
||||
.then(() => {
|
||||
var docRef = db.collection('likes').doc(id_likes)
|
||||
docRef.get().then((doc) => {
|
||||
liked_page = false
|
||||
localStorage.removeItem(id_likes);
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "none"
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = ""
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "\xa0Like"
|
||||
if (doc.exists) {
|
||||
db.collection('likes').doc(id_likes).update({
|
||||
likes: firebase.firestore.FieldValue.increment(-1)
|
||||
});
|
||||
} else {
|
||||
db.collection('likes').doc(id_likes).set({ likes: 0 })
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
const docRef = db.collection("likes").doc(id_likes);
|
||||
docRef
|
||||
.get()
|
||||
.then((doc) => {
|
||||
liked_page = false;
|
||||
localStorage.removeItem(id_likes);
|
||||
document.querySelectorAll("span[id='button_likes_heart']")[0].style.display = "none";
|
||||
document.querySelectorAll("span[id='button_likes_emtpty_heart']")[0].style.display = "";
|
||||
document.querySelectorAll("span[id='button_likes_text']")[0].innerText = "\xa0Like";
|
||||
if (doc.exists) {
|
||||
db.collection("likes")
|
||||
.doc(id_likes)
|
||||
.update({
|
||||
likes: firebase.firestore.FieldValue.increment(-1),
|
||||
});
|
||||
} else {
|
||||
db.collection("likes").doc(id_likes).set({ likes: 0 });
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
var errorCode = error.code;
|
||||
var errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage)
|
||||
console.log("Error getting document:", error);
|
||||
});
|
||||
})
|
||||
.catch((error) => {
|
||||
const errorCode = error.code;
|
||||
const errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
|
||||
function process_article() {
|
||||
if (!liked_page) {
|
||||
like_article(id_likes)
|
||||
} else {
|
||||
remove_like_article(id_likes)
|
||||
}
|
||||
}
|
||||
if (!liked_page) {
|
||||
like_article(id_likes);
|
||||
} else {
|
||||
remove_like_article(id_likes);
|
||||
}
|
||||
}
|
||||
+64
-65
@@ -1,71 +1,70 @@
|
||||
if (typeof auth !== 'undefined') {
|
||||
var viewsCollection = db.collection('views');
|
||||
var likesCollection = db.collection('likes');
|
||||
if (typeof auth !== "undefined") {
|
||||
var viewsCollection = db.collection("views");
|
||||
var likesCollection = db.collection("likes");
|
||||
|
||||
function numberWithCommas(x) {
|
||||
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||||
function numberWithCommas(x) {
|
||||
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
function toggleLoaders(node) {
|
||||
var classesString = node.className;
|
||||
if (classesString == "") return;
|
||||
var classes = classesString.split(" ");
|
||||
for (var i in classes) {
|
||||
node.classList.toggle(classes[i]);
|
||||
}
|
||||
}
|
||||
|
||||
function toggleLoaders(node){
|
||||
var classesString = node.className;
|
||||
if(classesString == "") return
|
||||
var classes = classesString.split(" ");
|
||||
for(var i in classes){
|
||||
node.classList.toggle(classes[i])
|
||||
var update_views = function (node, id) {
|
||||
viewsCollection.doc(id).onSnapshot((doc) => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
node.innerText = numberWithCommas(data.views);
|
||||
} else {
|
||||
node.innerText = 0;
|
||||
}
|
||||
toggleLoaders(node);
|
||||
});
|
||||
};
|
||||
|
||||
var update_likes = function (node, id) {
|
||||
likesCollection.doc(id).onSnapshot((doc) => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
node.innerText = numberWithCommas(data.likes);
|
||||
} else {
|
||||
node.innerText = 0;
|
||||
}
|
||||
toggleLoaders(node);
|
||||
});
|
||||
};
|
||||
|
||||
auth
|
||||
.signInAnonymously()
|
||||
.then(() => {
|
||||
var views_nodes = document.querySelectorAll("span[id^='views_']");
|
||||
|
||||
for (var i in views_nodes) {
|
||||
var node = views_nodes[i];
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id;
|
||||
if (id) {
|
||||
update_views(node, id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var update_views = function (node, id) {
|
||||
viewsCollection.doc(id).onSnapshot(doc => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
node.innerText = numberWithCommas(data.views)
|
||||
} else {
|
||||
node.innerText = 0
|
||||
}
|
||||
toggleLoaders(node)
|
||||
})
|
||||
}
|
||||
var likes_nodes = document.querySelectorAll("span[id^='likes_']");
|
||||
|
||||
var update_likes = function (node, id) {
|
||||
likesCollection.doc(id).onSnapshot(doc => {
|
||||
var data = doc.data();
|
||||
if (data) {
|
||||
node.innerText = numberWithCommas(data.likes)
|
||||
} else {
|
||||
node.innerText = 0
|
||||
}
|
||||
toggleLoaders(node)
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
auth.signInAnonymously()
|
||||
.then(() => {
|
||||
var views_nodes = document.querySelectorAll("span[id^='views_']")
|
||||
|
||||
for (var i in views_nodes) {
|
||||
var node = views_nodes[i]
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id
|
||||
if (id) {
|
||||
update_views(node, id)
|
||||
}
|
||||
}
|
||||
|
||||
var likes_nodes = document.querySelectorAll("span[id^='likes_']")
|
||||
|
||||
for (var i in likes_nodes) {
|
||||
var node = likes_nodes[i]
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id
|
||||
if (id) {
|
||||
update_likes(node, id)
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
var errorCode = error.code;
|
||||
var errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage)
|
||||
});
|
||||
}
|
||||
for (var i in likes_nodes) {
|
||||
var node = likes_nodes[i];
|
||||
var id = node.id ? node.id.replaceAll("/", "-") : node.id;
|
||||
if (id) {
|
||||
update_likes(node, id);
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
var errorCode = error.code;
|
||||
var errorMessage = error.message;
|
||||
console.error(errorCode, errorMessage);
|
||||
});
|
||||
}
|
||||
+16
-13
@@ -13,8 +13,8 @@ var indexed = false;
|
||||
var hasResults = false;
|
||||
|
||||
// Listen for events
|
||||
showButton? showButton.addEventListener("click", displaySearch) : null;
|
||||
showButtonMobile? showButtonMobile.addEventListener("click", displaySearch) : null;
|
||||
showButton ? showButton.addEventListener("click", displaySearch) : null;
|
||||
showButtonMobile ? showButtonMobile.addEventListener("click", displaySearch) : null;
|
||||
hideButton.addEventListener("click", hideSearch);
|
||||
wrapper.addEventListener("click", hideSearch);
|
||||
modal.addEventListener("click", function (event) {
|
||||
@@ -25,12 +25,9 @@ modal.addEventListener("click", function (event) {
|
||||
document.addEventListener("keydown", function (event) {
|
||||
// Forward slash to open search wrapper
|
||||
if (event.key == "/") {
|
||||
const active = document.activeElement
|
||||
const tag = active.tagName
|
||||
const isInputField =
|
||||
tag === "INPUT" ||
|
||||
tag === "TEXTAREA" ||
|
||||
active.isContentEditable
|
||||
const active = document.activeElement;
|
||||
const tag = active.tagName;
|
||||
const isInputField = tag === "INPUT" || tag === "TEXTAREA" || active.isContentEditable;
|
||||
|
||||
if (!searchVisible && !isInputField) {
|
||||
event.preventDefault();
|
||||
@@ -82,7 +79,6 @@ document.addEventListener("keydown", function (event) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// Update search on each keypress
|
||||
@@ -129,7 +125,7 @@ function fetchJSON(path, callback) {
|
||||
|
||||
function buildIndex() {
|
||||
var baseURL = wrapper.getAttribute("data-url");
|
||||
baseURL = baseURL.replace(/\/?$/, '/');
|
||||
baseURL = baseURL.replace(/\/?$/, "/");
|
||||
fetchJSON(baseURL + "index.json", function (data) {
|
||||
var options = {
|
||||
shouldSort: true,
|
||||
@@ -165,8 +161,15 @@ function executeQuery(term) {
|
||||
var div = document.createElement("div");
|
||||
div.innerHTML = html;
|
||||
value.item.summary = div.textContent || div.innerText || "";
|
||||
var title = value.item.externalUrl? value.item.title + '<span class="text-xs ml-2 align-center cursor-default text-neutral-400 dark:text-neutral-500">'+value.item.externalUrl+'</span>' : value.item.title;
|
||||
var linkconfig = value.item.externalUrl? 'target="_blank" rel="noopener" href="'+value.item.externalUrl+'"' : 'href="'+value.item.permalink+'"';
|
||||
var title = value.item.externalUrl
|
||||
? value.item.title +
|
||||
'<span class="text-xs ml-2 align-center cursor-default text-neutral-400 dark:text-neutral-500">' +
|
||||
value.item.externalUrl +
|
||||
"</span>"
|
||||
: value.item.title;
|
||||
var linkconfig = value.item.externalUrl
|
||||
? 'target="_blank" rel="noopener" href="' + value.item.externalUrl + '"'
|
||||
: 'href="' + value.item.permalink + '"';
|
||||
resultsHTML =
|
||||
resultsHTML +
|
||||
`<li class="mb-2">
|
||||
@@ -176,7 +179,7 @@ function executeQuery(term) {
|
||||
<div class="-mb-1 text-lg font-bold">
|
||||
${title}
|
||||
</div>
|
||||
<div class="text-sm text-neutral-500 dark:text-neutral-400">${value.item.section}<span class="px-2 text-primary-500">·</span>${value.item.date? value.item.date : ""}</span></div>
|
||||
<div class="text-sm text-neutral-500 dark:text-neutral-400">${value.item.section}<span class="px-2 text-primary-500">·</span>${value.item.date ? value.item.date : ""}</span></div>
|
||||
<div class="text-sm italic">${value.item.summary}</div>
|
||||
</div>
|
||||
<div class="ml-2 ltr:block rtl:hidden text-neutral-500">→</div>
|
||||
|
||||
@@ -1,22 +1,21 @@
|
||||
function _getDefaultPackeryOptions() {
|
||||
return {
|
||||
percentPosition: true,
|
||||
gutter: 5,
|
||||
resize: true
|
||||
};
|
||||
return {
|
||||
percentPosition: true,
|
||||
gutter: 5,
|
||||
resize: true,
|
||||
};
|
||||
}
|
||||
|
||||
(function init() {
|
||||
$(window).on("load", function () {
|
||||
let packeries = [];
|
||||
let nodeGalleries = document.querySelectorAll(".gallery");
|
||||
|
||||
$(window).on("load", function () {
|
||||
let packeries = [];
|
||||
let nodeGalleries = document.querySelectorAll('.gallery');
|
||||
|
||||
nodeGalleries.forEach(nodeGallery => {
|
||||
// TODO : implement a reader of Packery configuration _getPackeryOptions; for example by reading data-attribute
|
||||
let packery = new Packery(nodeGallery, _getDefaultPackeryOptions());
|
||||
packeries.push(packery);
|
||||
});
|
||||
console.groupEnd();
|
||||
nodeGalleries.forEach((nodeGallery) => {
|
||||
// TODO : implement a reader of Packery configuration _getPackeryOptions; for example by reading data-attribute
|
||||
let packery = new Packery(nodeGallery, _getDefaultPackeryOptions());
|
||||
packeries.push(packery);
|
||||
});
|
||||
})();
|
||||
console.groupEnd();
|
||||
});
|
||||
})();
|
||||
+24
-27
@@ -1,53 +1,50 @@
|
||||
function _toogleZenMode(zendModeButton) {
|
||||
// Nodes selection
|
||||
const body = document.querySelector('body');
|
||||
const footer = document.querySelector('footer');
|
||||
const tocRight = document.querySelector('.toc-right');
|
||||
const tocInside = document.querySelector('.toc-inside');
|
||||
const articleContent = document.querySelector('.article-content');
|
||||
const header = document.querySelector('#single_header');
|
||||
|
||||
const body = document.querySelector("body");
|
||||
const footer = document.querySelector("footer");
|
||||
const tocRight = document.querySelector(".toc-right");
|
||||
const tocInside = document.querySelector(".toc-inside");
|
||||
const articleContent = document.querySelector(".article-content");
|
||||
const header = document.querySelector("#single_header");
|
||||
|
||||
// Add semantic class into body tag
|
||||
body.classList.toggle('zen-mode-enable');
|
||||
body.classList.toggle("zen-mode-enable");
|
||||
|
||||
// Show/Hide 'toc right' and 'toc inside'
|
||||
if (tocRight)
|
||||
tocRight.classList.toggle('lg:block');
|
||||
if (tocInside)
|
||||
tocInside.classList.toggle('lg:hidden');
|
||||
if (tocRight) tocRight.classList.toggle("lg:block");
|
||||
if (tocInside) tocInside.classList.toggle("lg:hidden");
|
||||
|
||||
// Change width of article content
|
||||
articleContent.classList.toggle('max-w-fit');
|
||||
articleContent.classList.toggle('max-w-prose');
|
||||
articleContent.classList.toggle("max-w-fit");
|
||||
articleContent.classList.toggle("max-w-prose");
|
||||
|
||||
// Change width of article title and footer
|
||||
header.classList.toggle('max-w-full');
|
||||
header.classList.toggle('max-w-prose');
|
||||
footer.classList.toggle('max-w-full');
|
||||
footer.classList.toggle('max-w-prose');
|
||||
header.classList.toggle("max-w-full");
|
||||
header.classList.toggle("max-w-prose");
|
||||
footer.classList.toggle("max-w-full");
|
||||
footer.classList.toggle("max-w-prose");
|
||||
|
||||
// Read i18n title from data-attributes
|
||||
const titleI18nDisable = zendModeButton.getAttribute('data-title-i18n-disable');
|
||||
const titleI18nEnable = zendModeButton.getAttribute('data-title-i18n-enable');
|
||||
const titleI18nDisable = zendModeButton.getAttribute("data-title-i18n-disable");
|
||||
const titleI18nEnable = zendModeButton.getAttribute("data-title-i18n-enable");
|
||||
|
||||
if (body.classList.contains('zen-mode-enable')) {
|
||||
if (body.classList.contains("zen-mode-enable")) {
|
||||
// Persist configuration
|
||||
//localStorage.setItem('blowfish-zen-mode-enabled', 'true');
|
||||
|
||||
// Change title to enable
|
||||
zendModeButton.setAttribute('title', titleI18nEnable)
|
||||
zendModeButton.setAttribute("title", titleI18nEnable);
|
||||
// Auto-scroll to title article
|
||||
window.scrollTo(window.scrollX, header.getBoundingClientRect().top - 90);
|
||||
} else {
|
||||
//localStorage.setItem('blowfish-zen-mode-enabled', 'false');
|
||||
zendModeButton.setAttribute('title', titleI18nDisable);
|
||||
document.querySelector('body').scrollIntoView();
|
||||
zendModeButton.setAttribute("title", titleI18nDisable);
|
||||
document.querySelector("body").scrollIntoView();
|
||||
}
|
||||
}
|
||||
|
||||
function _registerZendModeButtonClick(zendModeButton) {
|
||||
zendModeButton.addEventListener('click', function (event) {
|
||||
zendModeButton.addEventListener("click", function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
// Toggle zen-mode
|
||||
@@ -58,9 +55,9 @@ function _registerZendModeButtonClick(zendModeButton) {
|
||||
(function init() {
|
||||
window.addEventListener("DOMContentLoaded", (event) => {
|
||||
// Register click on 'zen-mode-button' node element
|
||||
const zendModeButton = document.getElementById('zen-mode-button');
|
||||
const zendModeButton = document.getElementById("zen-mode-button");
|
||||
if (zendModeButton !== null && zendModeButton !== undefined) {
|
||||
_registerZendModeButtonClick(zendModeButton);
|
||||
}
|
||||
});
|
||||
})();
|
||||
})();
|
||||
+1
-1
@@ -2,4 +2,4 @@
|
||||
[module.hugoVersion]
|
||||
extended = true
|
||||
min = "0.137.0"
|
||||
max = "0.147.5"
|
||||
max = "0.147.8"
|
||||
@@ -67,12 +67,3 @@ enableEmoji = true
|
||||
name = 'fragmentrefs'
|
||||
type = 'fragments'
|
||||
weight = 10
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
[markup.goldmark.extensions]
|
||||
[markup.goldmark.extensions.passthrough]
|
||||
enable = true
|
||||
[markup.goldmark.extensions.passthrough.delimiters]
|
||||
block = [['\[', '\]'], ['$$', '$$']]
|
||||
inline = [['\(', '\)']]
|
||||
@@ -2,8 +2,15 @@
|
||||
# These settings are required for the theme to function.
|
||||
|
||||
[goldmark]
|
||||
[goldmark.renderer]
|
||||
unsafe = true
|
||||
[goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
[goldmark.extensions]
|
||||
[goldmark.extensions.passthrough]
|
||||
enable = true
|
||||
[goldmark.extensions.passthrough.delimiters]
|
||||
block = [['\[', '\]'], ['$$', '$$']]
|
||||
inline = [['\(', '\)']]
|
||||
|
||||
[highlight]
|
||||
noClasses = false
|
||||
|
||||
@@ -18,6 +18,7 @@ replyByEmail = false
|
||||
# robots = ""
|
||||
|
||||
disableImageOptimization = false
|
||||
disableImageOptimizationMD = false
|
||||
disableTextInHeader = false
|
||||
# backgroundImageWidth = 1200
|
||||
|
||||
@@ -29,6 +30,8 @@ disableTextInHeader = false
|
||||
# smartTOC = true
|
||||
# smartTOCHideUnfocusedChildren = true
|
||||
|
||||
fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256"
|
||||
|
||||
giteaDefaultServer = "https://git.fsfe.org"
|
||||
forgejoDefaultServer = "https://v8.next.forgejo.org"
|
||||
|
||||
@@ -52,6 +55,7 @@ forgejoDefaultServer = "https://v8.next.forgejo.org"
|
||||
cardView = false
|
||||
cardViewScreenWidth = false
|
||||
layoutBackgroundBlur = false # only used when layout equals background
|
||||
disableHeroImageFilter = false # only used when layout equals hero
|
||||
|
||||
[article]
|
||||
showDate = true
|
||||
@@ -82,7 +86,7 @@ forgejoDefaultServer = "https://v8.next.forgejo.org"
|
||||
showCategoryOnly = false # use showTaxonomies OR showCategoryOnly, not both
|
||||
showAuthorsBadges = false
|
||||
showWordCount = true
|
||||
# sharingLinks = [ "linkedin", "twitter", "bluesky", "mastodon", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram"]
|
||||
# sharingLinks = [ "linkedin", "twitter", "bluesky", "mastodon", "reddit", "pinterest", "facebook", "email", "whatsapp", "telegram", "line"]
|
||||
showZenMode = false
|
||||
|
||||
[list]
|
||||
@@ -167,3 +171,6 @@ forgejoDefaultServer = "https://v8.next.forgejo.org"
|
||||
[rssnext]
|
||||
# feedId = ""
|
||||
# userId = ""
|
||||
|
||||
[advertisement]
|
||||
# adsense = ""
|
||||
+532
-532
File diff suppressed because it is too large.
Load diff
+532
-532
File diff suppressed because it is too large.
Load diff
+532
-532
File diff suppressed because it is too large.
Load diff
+532
-532
File diff suppressed because it is too large.
Load diff
+6
-1
@@ -9,6 +9,11 @@
|
||||
"title": "sharing.facebook",
|
||||
"url": "https://www.facebook.com/sharer/sharer.php?u=%s"e=%s"
|
||||
},
|
||||
"line": {
|
||||
"icon": "line",
|
||||
"title": "sharing.line",
|
||||
"url": "https://line.me/R/share?text=%s%%20%s"
|
||||
},
|
||||
"linkedin": {
|
||||
"icon": "linkedin",
|
||||
"title": "sharing.linkedin",
|
||||
@@ -48,5 +53,5 @@
|
||||
"icon": "mastodon",
|
||||
"title": "sharing.mastodon",
|
||||
"url": "https://s2f.kytta.dev/?text=%[2]s %[1]s"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,20 +1,13 @@
|
||||
var layouts = [
|
||||
"background",
|
||||
"hero",
|
||||
"profile",
|
||||
"page",
|
||||
"card"
|
||||
]
|
||||
var layouts = ["background", "hero", "profile", "page", "card"];
|
||||
|
||||
var currentLayout = 0
|
||||
var currentLayout = 0;
|
||||
|
||||
function switchHomeLayout() {
|
||||
var old = currentLayout;
|
||||
currentLayout = currentLayout == layouts.length - 1 ? 0 : currentLayout + 1;
|
||||
|
||||
var old = currentLayout
|
||||
currentLayout = currentLayout == layouts.length - 1 ? 0 : currentLayout + 1
|
||||
|
||||
var oldDiv = document.getElementById(layouts[old])
|
||||
var currentDiv = document.getElementById(layouts[currentLayout])
|
||||
var oldDiv = document.getElementById(layouts[old]);
|
||||
var currentDiv = document.getElementById(layouts[currentLayout]);
|
||||
const layoutCode = document.querySelectorAll("code[id=layout]");
|
||||
|
||||
currentDiv.style.display = "block";
|
||||
@@ -22,7 +15,6 @@ function switchHomeLayout() {
|
||||
layoutCode.forEach(function (el) {
|
||||
el.innerText = layouts[currentLayout];
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
window.addEventListener("DOMContentLoaded", (event) => {
|
||||
@@ -30,31 +22,26 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
button.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
switchHomeLayout();
|
||||
})
|
||||
}),
|
||||
);
|
||||
});
|
||||
|
||||
var list_config = [
|
||||
"CardViewProse",
|
||||
"CardViewScreenWidth",
|
||||
"NormalView"
|
||||
]
|
||||
var list_config = ["CardViewProse", "CardViewScreenWidth", "NormalView"];
|
||||
|
||||
var titles = {
|
||||
"CardViewProse" : "card view with constrained width",
|
||||
"CardViewScreenWidth" : "card view with full width",
|
||||
"NormalView" : "standard list view"
|
||||
}
|
||||
CardViewProse: "card view with constrained width",
|
||||
CardViewScreenWidth: "card view with full width",
|
||||
NormalView: "standard list view",
|
||||
};
|
||||
|
||||
var currentConfig = 0
|
||||
var currentConfig = 0;
|
||||
|
||||
function switchList() {
|
||||
var old = currentConfig;
|
||||
currentConfig = currentConfig == list_config.length - 1 ? 0 : currentConfig + 1;
|
||||
|
||||
var old = currentConfig
|
||||
currentConfig = currentConfig == list_config.length - 1 ? 0 : currentConfig + 1
|
||||
|
||||
var oldDiv = document.getElementById(list_config[old])
|
||||
var currentDiv = document.getElementById(list_config[currentConfig])
|
||||
var oldDiv = document.getElementById(list_config[old]);
|
||||
var currentDiv = document.getElementById(list_config[currentConfig]);
|
||||
const configCode = document.querySelectorAll("code[id=config]");
|
||||
|
||||
currentDiv.style.display = "block";
|
||||
@@ -63,7 +50,6 @@ function switchList() {
|
||||
configCode.forEach(function (el) {
|
||||
el.innerText = titles[list_config[currentConfig]];
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
window.addEventListener("DOMContentLoaded", (event) => {
|
||||
@@ -71,6 +57,6 @@ window.addEventListener("DOMContentLoaded", (event) => {
|
||||
button.addEventListener("click", function (e) {
|
||||
e.preventDefault();
|
||||
switchList();
|
||||
})
|
||||
}),
|
||||
);
|
||||
});
|
||||
@@ -70,11 +70,19 @@ googleAnalytics = "G-PEDMYR1V0K"
|
||||
type = 'fragments'
|
||||
weight = 10
|
||||
|
||||
# Render only specific parts of the site for faster development. Use: hugo --renderSegments site_core
|
||||
# Render only specific parts of the site for faster development.
|
||||
# Note that there are more files are ignored in development/hugo.toml
|
||||
#
|
||||
# Usage: `hugo --renderSegments core` or `hugo --renderSegments core,en_only`
|
||||
[segments]
|
||||
[segments.site_core]
|
||||
[[segments.site_core.includes]]
|
||||
[segments.core]
|
||||
[[segments.core.includes]]
|
||||
# Debug core pages
|
||||
path = '{/,/docs,/docs/**,/samples,/samples/**}'
|
||||
[segments.en_only]
|
||||
[[segments.en_only.includes]]
|
||||
# Alternatively, you can use environment variable
|
||||
# - UNIX: HUGO_DISABLELANGUAGES='it ja zh-cn' npm run example:core
|
||||
# - Windows CMD: set "HUGO_DISABLELANGUAGES=it ja zh-cn" && npm run example:core
|
||||
# - Windows PowerShell: $env:HUGO_DISABLELANGUAGES="it ja zh-cn"; npm run example:core
|
||||
lang = 'en'
|
||||
@@ -2,8 +2,15 @@
|
||||
# These settings are required for the theme to function.
|
||||
|
||||
[goldmark]
|
||||
[goldmark.renderer]
|
||||
unsafe = true
|
||||
[goldmark.renderer]
|
||||
unsafe = true
|
||||
|
||||
[goldmark.extensions]
|
||||
[goldmark.extensions.passthrough]
|
||||
enable = true
|
||||
[goldmark.extensions.passthrough.delimiters]
|
||||
block = [['\[', '\]'], ['$$', '$$']]
|
||||
inline = [['\(', '\)']]
|
||||
|
||||
[highlight]
|
||||
noClasses = false
|
||||
|
||||
@@ -30,6 +30,11 @@ highlightCurrentMenuArea = true
|
||||
smartTOC = true
|
||||
smartTOCHideUnfocusedChildren = false
|
||||
|
||||
# giteaDefaultServer = "https://git.fsfe.org"
|
||||
# forgejoDefaultServer = "https://v8.next.forgejo.org"
|
||||
|
||||
fingerprintAlgorithm = "sha512" # Valid values are "sha512" (default), "sha384", "sha256"
|
||||
|
||||
[header]
|
||||
layout = "fixed" # valid options: basic, fixed, fixed-fill, fixed-gradient, fixed-fill-blur
|
||||
|
||||
@@ -44,7 +49,7 @@ smartTOCHideUnfocusedChildren = false
|
||||
layout = "custom" # valid options: page, profile, hero, card, background, custom
|
||||
# homepageImage = "/img/iceland.jpg" # used in: hero, and card
|
||||
showRecent = false
|
||||
showRecentItems = 6
|
||||
showRecentItems = 12
|
||||
showMoreLink = true
|
||||
showMoreLinkDest = "docs"
|
||||
cardView = true
|
||||
@@ -63,6 +68,7 @@ smartTOCHideUnfocusedChildren = false
|
||||
showHero = true
|
||||
heroStyle = "background" # valid options: basic, big, background, thumbAndBackground
|
||||
layoutBackgroundBlur = true # only used when heroStyle equals background
|
||||
layoutBackgroundHeaderSpace = true # only used when heroStyle equals background
|
||||
showBreadcrumbs = true
|
||||
showDraftLabel = true
|
||||
showEdit = true
|
||||
@@ -75,11 +81,11 @@ smartTOCHideUnfocusedChildren = false
|
||||
showReadingTime = true
|
||||
showTableOfContents = true
|
||||
showRelatedContent = true
|
||||
relatedContentLimit = 6
|
||||
relatedContentLimit = 9
|
||||
showTaxonomies = true
|
||||
showAuthorsBadges = true
|
||||
showWordCount = false
|
||||
sharingLinks = [ "linkedin", "twitter", "bluesky", "reddit", "whatsapp", "telegram", "pinterest", "facebook", "email"]
|
||||
sharingLinks = [ "linkedin", "twitter", "bluesky", "reddit", "whatsapp", "telegram", "pinterest", "facebook", "email", "line"]
|
||||
showZenMode = true
|
||||
|
||||
[list]
|
||||
@@ -162,4 +168,7 @@ smartTOCHideUnfocusedChildren = false
|
||||
|
||||
[rssnext]
|
||||
# feedId = ""
|
||||
# userId = ""
|
||||
# userId = ""
|
||||
|
||||
[advertisement]
|
||||
# adsense = ""
|
||||
@@ -91,6 +91,7 @@ Il tema attualmente supporta le seguenti lingue per impostazione predefinita:
|
||||
| Portuguese (Portugal) | `pt-pt` |
|
||||
| Romanian | `ro` |
|
||||
| Russian | `ru` |
|
||||
| Thai | `th` |
|
||||
| Turkish | `tr` |
|
||||
| Vietnamese | `vi` |
|
||||
| Ukrainian | `uk` |
|
||||
@@ -186,6 +187,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected |
|
||||
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
|
||||
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` |
|
||||
|
||||
### Header
|
||||
|
||||
@@ -250,7 +252,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
|
||||
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
|
||||
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
|
||||
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "linkedin", "bluesky", "mastodon", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", and "telegram" |
|
||||
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "bluesky", "email", "facebook", "line", "linkedin", "mastodon", "pinterest", "reddit", "telegram", "twitter", and "whatsapp" |
|
||||
| `article.showZenMode` | `false` | Flag to activate Zen Mode reading feature for articles. |
|
||||
|
||||
### List
|
||||
|
||||
@@ -39,17 +39,17 @@ npx blowfish-tools
|
||||
この表で提供されている変数名は、TOML データ構造を簡素化するためにドット表記を使用していることに注意してください(つまり、 `outputs.home` は `[outputs] home` を指します)。
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `theme` | `"blowfish"` | Hugo Modules を使用している場合は、この設定値を削除する必要があります。 他のすべてのインストールタイプでは、テーマが機能するためにこれを `blowfish` に設定する必要があります。 |
|
||||
| `baseURL` | _未設定_ | ウェブサイトのルートへの URL です。 |
|
||||
| `defaultContentLanguage` | `"en"` | この値は、テーマコンポーネントとコンテンツのデフォルト言語を決定します。 サポートされている言語コードについては、以下の[言語と i18n](#言語と-i18n) セクションを参照してください。 |
|
||||
| `enableRobotsTXT` | `true` | 有効にすると、検索エンジンがサイト全体をクロールできるようにする `robots.txt` ファイルがサイトルートに作成されます。 あらかじめ作成した独自の `robots.txt` を提供する場合は、`false` に設定し、ファイルを `static` ディレクトリに配置します。 完全に制御するには、このファイルを生成するための[カスタムレイアウト]({{< ref "content-examples#カスタムレイアウト" >}})を提供できます。 |
|
||||
| `pagination.pagerSize` | `10` | 記事リストの各ページにリストされる記事の数です。 |
|
||||
| `summaryLength` | `0` | [フロントマター]({{< ref "front-matter" >}})で提供されていない場合に、記事の概要を生成するために使用される単語の数です。 値 `0` は最初の文を使用します。 概要が非表示になっている場合、この値は効果がありません。 |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | サイト用に生成される出力形式です。 Blowfish では、すべてのテーマコンポーネントが正しく機能するために HTML、RSS、JSON が必要です。 |
|
||||
| `permalinks` | _未設定_ | パーマリンクの設定については、[Hugo ドキュメント](https://gohugo.io/content-management/urls/#permalinks)を参照してください。 |
|
||||
| `taxonomies` | _未設定_ | 分類の設定については、[コンテンツの整理]({{< ref "getting-started#コンテンツの整理" >}})セクションを参照してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `theme` | `"blowfish"` | Hugo Modules を使用している場合は、この設定値を削除する必要があります。 他のすべてのインストールタイプでは、テーマが機能するためにこれを `blowfish` に設定する必要があります。 |
|
||||
| `baseURL` | _未設定_ | ウェブサイトのルートへの URL です。 |
|
||||
| `defaultContentLanguage` | `"en"` | この値は、テーマコンポーネントとコンテンツのデフォルト言語を決定します。 サポートされている言語コードについては、以下の[言語と i18n](#言語と-i18n) セクションを参照してください。 |
|
||||
| `enableRobotsTXT` | `true` | 有効にすると、検索エンジンがサイト全体をクロールできるようにする `robots.txt` ファイルがサイトルートに作成されます。 あらかじめ作成した独自の `robots.txt` を提供する場合は、`false` に設定し、ファイルを `static` ディレクトリに配置します。 完全に制御するには、このファイルを生成するための[カスタムレイアウト]({{< ref "content-examples#カスタムレイアウト" >}})を提供できます。 |
|
||||
| `pagination.pagerSize` | `10` | 記事リストの各ページにリストされる記事の数です。 |
|
||||
| `summaryLength` | `0` | [フロントマター]({{< ref "front-matter" >}})で提供されていない場合に、記事の概要を生成するために使用される単語の数です。 値 `0` は最初の文を使用します。 概要が非表示になっている場合、この値は効果がありません。 |
|
||||
| `outputs.home` | `["HTML", "RSS", "JSON"]` | サイト用に生成される出力形式です。 Blowfish では、すべてのテーマコンポーネントが正しく機能するために HTML、RSS、JSON が必要です。 |
|
||||
| `permalinks` | _未設定_ | パーマリンクの設定については、[Hugo ドキュメント](https://gohugo.io/content-management/urls/#permalinks)を参照してください。 |
|
||||
| `taxonomies` | _未設定_ | 分類の設定については、[コンテンツの整理]({{< ref "getting-started#コンテンツの整理" >}})セクションを参照してください。 |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
|
||||
@@ -65,36 +65,37 @@ Blowfish は多言語ウェブサイト向けに最適化されており、テ
|
||||
|
||||
このテーマは現在、デフォルトで次の言語をサポートしています:
|
||||
|
||||
| 言語 | コード |
|
||||
|---|---|
|
||||
| アラビア語 | `ar` |
|
||||
| ブルガリア語 | `bg` |
|
||||
| ベンガル語 | `bn` |
|
||||
| カタロニア語 | `ca` |
|
||||
| チェコ語 | `cs` |
|
||||
| ドイツ語 | `de` |
|
||||
| 英語 | `en` |
|
||||
| エスペラント語 | `eo` |
|
||||
| スペイン語(スペイン) | `es` |
|
||||
| フィンランド語 | `fi` |
|
||||
| フランス語 | `fr` |
|
||||
| ヘブライ語 | `he` |
|
||||
| クロアチア語 | `hr` |
|
||||
| ハンガリー語 | `hu` |
|
||||
| インドネシア語 | `id` |
|
||||
| イタリア語 | `it` |
|
||||
| 日本語 | `ja` |
|
||||
| 韓国語 | `ko` |
|
||||
| オランダ語 | `nl` |
|
||||
| ポーランド語 | `pl` |
|
||||
| ポルトガル語(ブラジル) | `pt-br` |
|
||||
| 言語 | コード |
|
||||
| -------------------------- | ------- |
|
||||
| アラビア語 | `ar` |
|
||||
| ブルガリア語 | `bg` |
|
||||
| ベンガル語 | `bn` |
|
||||
| カタロニア語 | `ca` |
|
||||
| チェコ語 | `cs` |
|
||||
| ドイツ語 | `de` |
|
||||
| 英語 | `en` |
|
||||
| エスペラント語 | `eo` |
|
||||
| スペイン語(スペイン) | `es` |
|
||||
| フィンランド語 | `fi` |
|
||||
| フランス語 | `fr` |
|
||||
| ヘブライ語 | `he` |
|
||||
| クロアチア語 | `hr` |
|
||||
| ハンガリー語 | `hu` |
|
||||
| インドネシア語 | `id` |
|
||||
| イタリア語 | `it` |
|
||||
| 日本語 | `ja` |
|
||||
| 韓国語 | `ko` |
|
||||
| オランダ語 | `nl` |
|
||||
| ポーランド語 | `pl` |
|
||||
| ポルトガル語(ブラジル) | `pt-br` |
|
||||
| ポルトガル語(ポルトガル) | `pt-pt` |
|
||||
| ルーマニア語 | `ro` |
|
||||
| ロシア語 | `ru` |
|
||||
| トルコ語 | `tr` |
|
||||
| ベトナム語 | `vi` |
|
||||
| 中国語(簡体字) | `zh-cn` |
|
||||
| 中国語(繁体字) | `zh-tw` |
|
||||
| ルーマニア語 | `ro` |
|
||||
| タイ人 | `th` |
|
||||
| ロシア語 | `ru` |
|
||||
| トルコ語 | `tr` |
|
||||
| ベトナム語 | `vi` |
|
||||
| 中国語(簡体字) | `zh-cn` |
|
||||
| 中国語(繁体字) | `zh-tw` |
|
||||
|
||||
デフォルトの翻訳は、翻訳文字列を含むカスタムファイル `i18n/[言語コード].yaml` を作成することでオーバーライドできます。 この方法を使用して新しい言語を追加することもできます。 新しい翻訳をコミュニティと共有したい場合は、[プルリクエストを開いて](https://github.com/nunocoracao/blowfish/pulls)ください。
|
||||
|
||||
@@ -111,40 +112,40 @@ Blowfish は多言語ウェブサイト向けに最適化されており、テ
|
||||
#### グローバル
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `languageCode` | `"en"` | このファイルの Hugo 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-au`)にすることができ、ファイル名の言語コードと一致する必要があります。Hugo はこの値が常に小文字であることを想定しています。適切な HTML 準拠のために、大文字と小文字を区別する `isoCode` パラメータを設定します。 |
|
||||
| `languageName` | `"English"` | 言語の名前です。 |
|
||||
| `weight` | `1` | 重みは、多言語サイトを構築するときの言語の順序を決定します。 |
|
||||
| `title` | `"Blowfish"` | ウェブサイトのタイトルです。これは、サイトのヘッダーとフッターに表示されます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| -------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `languageCode` | `"en"` | このファイルの Hugo 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-au`)にすることができ、ファイル名の言語コードと一致する必要があります。Hugo はこの値が常に小文字であることを想定しています。適切な HTML 準拠のために、大文字と小文字を区別する `isoCode` パラメータを設定します。 |
|
||||
| `languageName` | `"English"` | 言語の名前です。 |
|
||||
| `weight` | `1` | 重みは、多言語サイトを構築するときの言語の順序を決定します。 |
|
||||
| `title` | `"Blowfish"` | ウェブサイトのタイトルです。これは、サイトのヘッダーとフッターに表示されます。 |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### パラメーター
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `params.displayName` | `"EN"` | ウェブサイトに言語が表示されるときに使用される名前です。 |
|
||||
| `params.isoCode` | `"en"` | HTML メタデータ用の ISO 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-AU`)にすることができます。 |
|
||||
| `params.rtl` | `false` | これが RTL 言語かどうかです。`true` に設定すると、コンテンツが右から左に並べ替えられます。 Blowfish は RTL 言語と LTR 言語の同時使用を完全にサポートしており、両方に動的に調整されます。 |
|
||||
| `params.dateFormat` | `"2 January 2006"` | この言語での日付のフォーマット方法です。使用できる形式については、[Hugo ドキュメント](https://gohugo.io/functions/format/#gos-layout-string)を参照してください。 |
|
||||
| `params.logo` | _未設定_ | `assets/` フォルダ内のサイトロゴファイルへの相対パスです。ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 |
|
||||
| `params.secondaryLogo` | _未設定_ | `assets/` フォルダ内のセカンダリサイトロゴファイルへの相対パスです。 ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 これは、`logo` とは反転/対照的なカラースキームである必要があります。設定されている場合、このロゴは、ユーザーが `defaultAppearance` モードから切り替えたときに表示されます。 |
|
||||
| `params.description` | _未設定_ | ウェブサイトの説明です。これはサイトのメタデータで使用されます。 |
|
||||
| `params.copyright` | _未設定_ | サイトフッターの著作権メッセージの Markdown 文字列には、プレースホルダ { year } を含めて現在の年を動的に挿入できます。指定されていない場合、Blowfish はサイト `title` を使用して著作権文字列を自動的に生成します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `params.displayName` | `"EN"` | ウェブサイトに言語が表示されるときに使用される名前です。 |
|
||||
| `params.isoCode` | `"en"` | HTML メタデータ用の ISO 言語コードです。トップレベル言語(例: `en`)またはサブバリアント(例: `en-AU`)にすることができます。 |
|
||||
| `params.rtl` | `false` | これが RTL 言語かどうかです。`true` に設定すると、コンテンツが右から左に並べ替えられます。 Blowfish は RTL 言語と LTR 言語の同時使用を完全にサポートしており、両方に動的に調整されます。 |
|
||||
| `params.dateFormat` | `"2 January 2006"` | この言語での日付のフォーマット方法です。使用できる形式については、[Hugo ドキュメント](https://gohugo.io/functions/format/#gos-layout-string)を参照してください。 |
|
||||
| `params.logo` | _未設定_ | `assets/` フォルダ内のサイトロゴファイルへの相対パスです。ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 |
|
||||
| `params.secondaryLogo` | _未設定_ | `assets/` フォルダ内のセカンダリサイトロゴファイルへの相対パスです。 ロゴファイルは2倍の解像度で提供する必要があり、あらゆる画像サイズをサポートしています。 これは、`logo` とは反転/対照的なカラースキームである必要があります。設定されている場合、このロゴは、ユーザーが `defaultAppearance` モードから切り替えたときに表示されます。 |
|
||||
| `params.description` | _未設定_ | ウェブサイトの説明です。これはサイトのメタデータで使用されます。 |
|
||||
| `params.copyright` | _未設定_ | サイトフッターの著作権メッセージの Markdown 文字列には、プレースホルダ { year } を含めて現在の年を動的に挿入できます。指定されていない場合、Blowfish はサイト `title` を使用して著作権文字列を自動的に生成します。 |
|
||||
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
#### 著者(Author)
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `author.name` | _未設定_ | 著者の名前です。これは、記事のフッターと、プロフィールレイアウトが使用されている場合はホームページに表示されます。 |
|
||||
| `author.image` | _未設定_ | 著者の画像ファイルへのパスです。画像は縦横比 1:1 である必要があります。画像は、サイトの `assets/` フォルダに配置することも、外部 URL にすることもできます。 |
|
||||
| `author.headline` | _未設定_ | 著者の見出しを含む Markdown 文字列です。プロフィールホームページの著者の名前に下に表示されます。 |
|
||||
| `author.bio` | _未設定_ | 著者の略歴を含む Markdown 文字列です。記事のフッターに表示されます。 |
|
||||
| `author.links` | _未設定_ | 著者の詳細と一緒に表示するリンクです。設定ファイルには、コメントを外すだけで有効になるリンクの例が含まれています。リンクが表示される順序は、配列に表示される順序によって決まります。`assets/icons/` に対応する SVG アイコンアセットを提供することで、カスタムリンクを追加できます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `author.name` | _未設定_ | 著者の名前です。これは、記事のフッターと、プロフィールレイアウトが使用されている場合はホームページに表示されます。 |
|
||||
| `author.image` | _未設定_ | 著者の画像ファイルへのパスです。画像は縦横比 1:1 である必要があります。画像は、サイトの `assets/` フォルダに配置することも、外部 URL にすることもできます。 |
|
||||
| `author.headline` | _未設定_ | 著者の見出しを含む Markdown 文字列です。プロフィールホームページの著者の名前に下に表示されます。 |
|
||||
| `author.bio` | _未設定_ | 著者の略歴を含む Markdown 文字列です。記事のフッターに表示されます。 |
|
||||
| `author.links` | _未設定_ | 著者の詳細と一緒に表示するリンクです。設定ファイルには、コメントを外すだけで有効になるリンクの例が含まれています。リンクが表示される順序は、配列に表示される順序によって決まります。`assets/icons/` に対応する SVG アイコンアセットを提供することで、カスタムリンクを追加できます。 |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
### メニュー(Menus)
|
||||
@@ -165,210 +166,211 @@ Blowfish は、テーマの機能を制御する多数の設定パラメータ
|
||||
|
||||
### グローバル
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `colorScheme` | `"blowfish"` | 使用するテーマのカラースキームです。有効な値は、`blowfish`(デフォルト)、`avocado`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate` です。詳細については、[カラースキーム]({{< ref "getting-started#カラースキーム" >}})セクションを参照してください。 |
|
||||
| `defaultAppearance` | `"light"` | デフォルトのテーマの外観です。`light` または `dark` のいずれかです。 |
|
||||
| `autoSwitchAppearance` | `true` | 訪問者のオペレーティングシステムの設定に基づいてテーマの外観を自動的に切り替えるかどうかです。`false` に設定すると、サイトは常に `defaultAppearance` を使用します。 |
|
||||
| `enableSearch` | `false` | サイト内検索が有効かどうかです。`true` に設定すると、検索機能が有効になります。検索機能は、[サイト設定](#サイト設定)の `outputs.home` 設定が正しく設定されているかどうかに依存することに注意してください。 |
|
||||
| `enableCodeCopy` | `false` | `<code>` ブロックのクリップボードへのコピーボタンを有効にするかどうかです。コードコピーが正しく機能するには、`highlight.noClasses` パラメータを `false` に設定する必要があります。以下の[その他の設定ファイル](#その他の設定ファイル)について読んでください。 |
|
||||
| `mainSections` | _未設定_ | 最近の記事リストに表示するセクションです。指定しない場合は、記事数が最も多いセクションが使用されます。 |
|
||||
| `showViews` | _未設定_ | 記事とリストの表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `showLikes` | _未設定_ | 記事とリストのいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `robots` | _未設定_ | ロボットがサイトをどのように処理するかを示す文字列です。設定されている場合、ページヘッダーに出力されます。有効な値については、[Google のドキュメント](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)を参照してください。 |
|
||||
| `disableImageZoom` | `false` | サイト内のすべての画像の画像ズーム機能を無効にします。 |
|
||||
| `disableImageOptimization` | `false` | サイト内のすべての画像の画像サイズ変更と最適化機能を無効にします。Markdown 記法(例:``)の画像は対象外です。 |
|
||||
| `disableImageOptimizationMD` | `false` | Markdown 記法(例:``)の画像の画像サイズ変更と最適化機能のみを無効にします。他の画像には適用されます。 |
|
||||
| `disableTextInHeader` | `false` | ヘッダーのテキストを無効にします。ロゴベースのヘッダーに役立ちます。 |
|
||||
| `defaultBackgroundImage` | _未設定_ | `background` ホームページレイアウトと `background` ヒーロースタイルの両方のデフォルトの背景画像です。 |
|
||||
| `defaultFeaturedImage` | _未設定_ | 記事全体のすべての `featured` 画像のデフォルトの背景画像です。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `defaultSocialImage` | _未設定_ | ソーシャルメディア共有(Open Graph と Twitter)用のデフォルト画像。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `highlightCurrentMenuArea` | _未設定_ | メインメニューのメニュー項目が選択されているときにマークを付けます。 |
|
||||
| `smartTOC` | _未設定_ | スマート目次をアクティブにします。表示されている項目が強調表示されます。 |
|
||||
| `smartTOCHideUnfocusedChildren` | _未設定_ | スマート目次がオンになっている場合、フォーカスされていないときに、テーブルのより深いレベルが非表示になります。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `colorScheme` | `"blowfish"` | 使用するテーマのカラースキームです。有効な値は、`blowfish`(デフォルト)、`avocado`、`fire`、`ocean`、`forest`、`princess`、`neon`、`bloody`、`terminal`、`marvel`、`noir`、`autumn`、`congo`、`slate` です。詳細については、[カラースキーム]({{< ref "getting-started#カラースキーム" >}})セクションを参照してください。 |
|
||||
| `defaultAppearance` | `"light"` | デフォルトのテーマの外観です。`light` または `dark` のいずれかです。 |
|
||||
| `autoSwitchAppearance` | `true` | 訪問者のオペレーティングシステムの設定に基づいてテーマの外観を自動的に切り替えるかどうかです。`false` に設定すると、サイトは常に `defaultAppearance` を使用します。 |
|
||||
| `enableSearch` | `false` | サイト内検索が有効かどうかです。`true` に設定すると、検索機能が有効になります。検索機能は、[サイト設定](#サイト設定)の `outputs.home` 設定が正しく設定されているかどうかに依存することに注意してください。 |
|
||||
| `enableCodeCopy` | `false` | `<code>` ブロックのクリップボードへのコピーボタンを有効にするかどうかです。コードコピーが正しく機能するには、`highlight.noClasses` パラメータを `false` に設定する必要があります。以下の[その他の設定ファイル](#その他の設定ファイル)について読んでください。 |
|
||||
| `mainSections` | _未設定_ | 最近の記事リストに表示するセクションです。指定しない場合は、記事数が最も多いセクションが使用されます。 |
|
||||
| `showViews` | _未設定_ | 記事とリストの表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `showLikes` | _未設定_ | 記事とリストのいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `robots` | _未設定_ | ロボットがサイトをどのように処理するかを示す文字列です。設定されている場合、ページヘッダーに出力されます。有効な値については、[Google のドキュメント](https://developers.google.com/search/docs/advanced/robots/robots_meta_tag#directives)を参照してください。 |
|
||||
| `disableImageZoom` | `false` | サイト内のすべての画像の画像ズーム機能を無効にします。 |
|
||||
| `disableImageOptimization` | `false` | サイト内のすべての画像の画像サイズ変更と最適化機能を無効にします。Markdown 記法(例:``)の画像は対象外です。 |
|
||||
| `disableImageOptimizationMD` | `false` | Markdown 記法(例:``)の画像の画像サイズ変更と最適化機能のみを無効にします。他の画像には適用されます。 |
|
||||
| `disableTextInHeader` | `false` | ヘッダーのテキストを無効にします。ロゴベースのヘッダーに役立ちます。 |
|
||||
| `defaultBackgroundImage` | _未設定_ | `background` ホームページレイアウトと `background` ヒーロースタイルの両方のデフォルトの背景画像です。 |
|
||||
| `defaultFeaturedImage` | _未設定_ | 記事全体のすべての `featured` 画像のデフォルトの背景画像です。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `defaultSocialImage` | _未設定_ | ソーシャルメディア共有(Open Graph と Twitter)用のデフォルト画像。ローカルの `featured` 画像によってオーバーライドされます。 |
|
||||
| `highlightCurrentMenuArea` | _未設定_ | メインメニューのメニュー項目が選択されているときにマークを付けます。 |
|
||||
| `smartTOC` | _未設定_ | スマート目次をアクティブにします。表示されている項目が強調表示されます。 |
|
||||
| `smartTOCHideUnfocusedChildren` | _未設定_ | スマート目次がオンになっている場合、フォーカスされていないときに、テーブルのより深いレベルが非表示になります。 |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` |
|
||||
|
||||
### ヘッダー(Header)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `header.layout` | `"basic"` | サイト全体のヘッダーを定義します。サポートされている値は、`basic`、`fixed`、`fixed-fill`、`fixed-fill-blur` です。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --------------- | ---------- | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| `header.layout` | `"basic"` | サイト全体のヘッダーを定義します。サポートされている値は、`basic`、`fixed`、`fixed-fill`、`fixed-fill-blur` です。 |
|
||||
|
||||
### フッター(Footer)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `footer.showMenu` | `true` | フッターメニューを表示/非表示にします。これは、`config/_default/menus.en.toml` ファイルの `[[footer]]` セクションで設定できます。 |
|
||||
| `footer.showCopyright` | `true` | サイトのフッターに著作権文字列を表示するかどうかです。文字列自体は、[言語設定](#言語と-i18n) の `copyright` パラメータを使用してカスタマイズできることに注意してください。 |
|
||||
| `footer.showThemeAttribution` | `true` | サイトのフッターに「powered by」というテーマの帰属を表示するかどうかです。このメッセージを無効にする場合は、サイトの他の場所(たとえば、about ページ)でテーマの帰属を検討してください。 |
|
||||
| `footer.showAppearanceSwitcher` | `false` | サイトのフッターに外観スイッチャーを表示するかどうかです。 ブラウザのローカルストレージを使用して、訪問者の設定が保持されます。 |
|
||||
| `footer.showScrollToTop` | `true` | `true` に設定すると、トップへスクロールの矢印が表示されます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `footer.showMenu` | `true` | フッターメニューを表示/非表示にします。これは、`config/_default/menus.en.toml` ファイルの `[[footer]]` セクションで設定できます。 |
|
||||
| `footer.showCopyright` | `true` | サイトのフッターに著作権文字列を表示するかどうかです。文字列自体は、[言語設定](#言語と-i18n) の `copyright` パラメータを使用してカスタマイズできることに注意してください。 |
|
||||
| `footer.showThemeAttribution` | `true` | サイトのフッターに「powered by」というテーマの帰属を表示するかどうかです。このメッセージを無効にする場合は、サイトの他の場所(たとえば、about ページ)でテーマの帰属を検討してください。 |
|
||||
| `footer.showAppearanceSwitcher` | `false` | サイトのフッターに外観スイッチャーを表示するかどうかです。 ブラウザのローカルストレージを使用して、訪問者の設定が保持されます。 |
|
||||
| `footer.showScrollToTop` | `true` | `true` に設定すると、トップへスクロールの矢印が表示されます。 |
|
||||
|
||||
### ホームページ(Homepage)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `homepage.layout` | `"profile"` | ホームページのレイアウトです。有効な値は、`page`、`profile`、`hero`、`card`、`background`、`custom` です。`custom` に設定した場合、`/layouts/partials/home/custom.html` ファイルを作成して独自のレイアウトを提供する必要があります。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.homepageImage` | _未設定_ | `hero` レイアウトと `card` レイアウトで使用される画像です。アセットディレクトリからのローカル画像または外部画像 URL として設定できます。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.showRecent` | `false` | ホームページに最近の記事リストを表示するかどうかです。 |
|
||||
| `homepage.showRecentItems` | 5 | showRecent が true の場合に表示する記事の数です。変数が0に設定されている場合、または定義されていない場合は、システムはデフォルトで5つの記事に設定されます。 |
|
||||
| `homepage.showMoreLink` | `false` | ユーザーを事前に定義された場所に移動する「もっと見る」リンクを投稿の最後に表示するかどうかです。 |
|
||||
| `homepage.showMoreLinkDest` | `/posts` | 「もっと見る」ボタンの移動先です。 |
|
||||
| `homepage.cardView` | `false` | 最近の記事をカードのギャラリーとして表示します。 |
|
||||
| `homepage.cardViewScreenWidth` | `false` | 最近の記事カードギャラリーの幅を拡張して、利用可能な幅全体を使用します。 |
|
||||
| `homepage.layoutBackgroundBlur` | `false` | ホームページレイアウトの背景画像をスクロールに合わせてぼかします。 |
|
||||
| `homepage.disableHeroImageFilter` | `false` | ホームページの背景画像にフィルターを適用するかどうか。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --------------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| `homepage.layout` | `"profile"` | ホームページのレイアウトです。有効な値は、`page`、`profile`、`hero`、`card`、`background`、`custom` です。`custom` に設定した場合、`/layouts/partials/home/custom.html` ファイルを作成して独自のレイアウトを提供する必要があります。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.homepageImage` | _未設定_ | `hero` レイアウトと `card` レイアウトで使用される画像です。アセットディレクトリからのローカル画像または外部画像 URL として設定できます。詳細については、[ホームページレイアウト]({{< ref "homepage-layout" >}}) セクションを参照してください。 |
|
||||
| `homepage.showRecent` | `false` | ホームページに最近の記事リストを表示するかどうかです。 |
|
||||
| `homepage.showRecentItems` | 5 | showRecent が true の場合に表示する記事の数です。変数が0に設定されている場合、または定義されていない場合は、システムはデフォルトで5つの記事に設定されます。 |
|
||||
| `homepage.showMoreLink` | `false` | ユーザーを事前に定義された場所に移動する「もっと見る」リンクを投稿の最後に表示するかどうかです。 |
|
||||
| `homepage.showMoreLinkDest` | `/posts` | 「もっと見る」ボタンの移動先です。 |
|
||||
| `homepage.cardView` | `false` | 最近の記事をカードのギャラリーとして表示します。 |
|
||||
| `homepage.cardViewScreenWidth` | `false` | 最近の記事カードギャラリーの幅を拡張して、利用可能な幅全体を使用します。 |
|
||||
| `homepage.layoutBackgroundBlur` | `false` | ホームページレイアウトの背景画像をスクロールに合わせてぼかします。 |
|
||||
| `homepage.disableHeroImageFilter` | `false` | ホームページの背景画像にフィルターを適用するかどうか。 |
|
||||
|
||||
### 記事(Article)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `article.showDate` | `true` | 記事の日付を表示するかどうかです。 |
|
||||
| `article.showViews` | `false` | 記事の表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showLikes` | `false` | 記事のいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showDateOnlyInArticle` | `false` | 記事リスト/カードに表示されていない場合でも、記事内に日付を表示します。 |
|
||||
| `article.showDateUpdated` | `false` | 記事が更新された日付を表示するかどうかです。 |
|
||||
| `article.showAuthor` | `true` | 記事のフッターに著者ボックスを表示するかどうかです。 |
|
||||
| `article.showAuthorBottom` | `false` | 著者ボックスは、各ページの上部ではなく下部に表示されます。 |
|
||||
| `article.showHero` | `false` | サムネイル画像を各記事ページ内でヒーロー画像として表示するかどうかです。 |
|
||||
| `article.heroStyle` | _未設定_ | ヒーロー画像を表示するスタイルです。有効なオプションは、`basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `article.layoutBackgroundBlur` | `true` | 背景記事 heroStyle の背景画像をスクロールに合わせてぼかします。 |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `article.showBreadcrumbs` | `false` | 記事のヘッダーにパンくずリストを表示するかどうかです。 |
|
||||
| `article.showDraftLabel` | `true` | サイトが `--buildDrafts` でビルドされたときに、記事の横にドラフトインジケータを表示するかどうかです。 |
|
||||
| `article.showEdit` | `false` | 記事コンテンツを編集するためのリンクを表示するかどうかです。 |
|
||||
| `article.editURL` | _未設定_ | `article.showEdit` がアクティブな場合、編集リンクの URL です。 |
|
||||
| `article.editAppendPath` | `true` | `article.showEdit` がアクティブな場合、現在の記事へのパスを `article.editURL` で設定された URL に追加するかどうかです。 |
|
||||
| `article.seriesOpened` | `false` | シリーズモジュールがデフォルトで開いた状態で表示されるかどうかです。 |
|
||||
| `article.showHeadingAnchors` | `true` | 記事内の見出しの横にアンカーリンク見出しを表示するかどうかです。 |
|
||||
| `article.showPagination` | `true` | 記事のフッターに次/前の記事リンクを表示するかどうかです。 |
|
||||
| `article.invertPagination` | `false` | 次/前の記事リンクの方向を反転するかどうかです。 |
|
||||
| `article.showReadingTime` | `true` | 記事の読了時間を表示するかどうかです。 |
|
||||
| `article.showTableOfContents` | `false` | 記事に目次を表示するかどうかです。 |
|
||||
| `article.showRelatedContent` | `false` | 各投稿の関連記事を表示します。`config.toml` に追加の設定が必要になる場合があります。この機能を有効にする場合は、テーマの `config.toml` を確認し、関連するすべての _related_ エントリをコピーしてください。また、関連記事については [Hugo のドキュメント](https://gohugo.io/content-management/related/) も確認してください。 |
|
||||
| `article.relatedContentLimit` | `3` | `showRelatedContent` がオンになっている場合に表示する関連記事の上限です。 |
|
||||
| `article.showTaxonomies` | `false` | この記事に関連するタクソノミーを表示するかどうかです。 |
|
||||
| `article.showAuthorsBadges` | `false` | `authors` タクソノミーを記事またはリストのヘッダーに表示するかどうかです。これには、「複数の著者」と `authors` タクソノミーの設定が必要です。この機能の設定方法の詳細については、[このページ]({{< ref "multi-author" >}}) を確認してください。 |
|
||||
| `article.showWordCount` | `false` | 記事の単語数を表示するかどうかです。 |
|
||||
| `article.showComments` | `false` | 記事のフッターの後に [コメントパーシャル]({{< ref "partials#コメント" >}}) を含めるかどうかです。 |
|
||||
| `article.sharingLinks` | _未設定_ | 各記事の最後に表示する共有リンクです。指定されていないか、`false` に設定されている場合、リンクは表示されません。使用可能な値は、<br>"linkedin"、"bluesky"、<br>"mastodon"、"twitter"、"reddit"、<br>"pinterest"、"facebook"、"email"、<br>"whatsapp"、"telegram" です。 |
|
||||
| `article.showZenMode` | `false` | 記事のZenモードリーダー機能を有効にするフラグです。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `article.showDate` | `true` | 記事の日付を表示するかどうかです。 |
|
||||
| `article.showViews` | `false` | 記事の表示回数を表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showLikes` | `false` | 記事のいいねを表示するかどうかです。これには Firebase 統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `article.showDateOnlyInArticle` | `false` | 記事リスト/カードに表示されていない場合でも、記事内に日付を表示します。 |
|
||||
| `article.showDateUpdated` | `false` | 記事が更新された日付を表示するかどうかです。 |
|
||||
| `article.showAuthor` | `true` | 記事のフッターに著者ボックスを表示するかどうかです。 |
|
||||
| `article.showAuthorBottom` | `false` | 著者ボックスは、各ページの上部ではなく下部に表示されます。 |
|
||||
| `article.showHero` | `false` | サムネイル画像を各記事ページ内でヒーロー画像として表示するかどうかです。 |
|
||||
| `article.heroStyle` | _未設定_ | ヒーロー画像を表示するスタイルです。有効なオプションは、`basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `article.layoutBackgroundBlur` | `true` | 背景記事 heroStyle の背景画像をスクロールに合わせてぼかします。 |
|
||||
| `article.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `article.showBreadcrumbs` | `false` | 記事のヘッダーにパンくずリストを表示するかどうかです。 |
|
||||
| `article.showDraftLabel` | `true` | サイトが `--buildDrafts` でビルドされたときに、記事の横にドラフトインジケータを表示するかどうかです。 |
|
||||
| `article.showEdit` | `false` | 記事コンテンツを編集するためのリンクを表示するかどうかです。 |
|
||||
| `article.editURL` | _未設定_ | `article.showEdit` がアクティブな場合、編集リンクの URL です。 |
|
||||
| `article.editAppendPath` | `true` | `article.showEdit` がアクティブな場合、現在の記事へのパスを `article.editURL` で設定された URL に追加するかどうかです。 |
|
||||
| `article.seriesOpened` | `false` | シリーズモジュールがデフォルトで開いた状態で表示されるかどうかです。 |
|
||||
| `article.showHeadingAnchors` | `true` | 記事内の見出しの横にアンカーリンク見出しを表示するかどうかです。 |
|
||||
| `article.showPagination` | `true` | 記事のフッターに次/前の記事リンクを表示するかどうかです。 |
|
||||
| `article.invertPagination` | `false` | 次/前の記事リンクの方向を反転するかどうかです。 |
|
||||
| `article.showReadingTime` | `true` | 記事の読了時間を表示するかどうかです。 |
|
||||
| `article.showTableOfContents` | `false` | 記事に目次を表示するかどうかです。 |
|
||||
| `article.showRelatedContent` | `false` | 各投稿の関連記事を表示します。`config.toml` に追加の設定が必要になる場合があります。この機能を有効にする場合は、テーマの `config.toml` を確認し、関連するすべての _related_ エントリをコピーしてください。また、関連記事については [Hugo のドキュメント](https://gohugo.io/content-management/related/) も確認してください。 |
|
||||
| `article.relatedContentLimit` | `3` | `showRelatedContent` がオンになっている場合に表示する関連記事の上限です。 |
|
||||
| `article.showTaxonomies` | `false` | この記事に関連するタクソノミーを表示するかどうかです。 |
|
||||
| `article.showAuthorsBadges` | `false` | `authors` タクソノミーを記事またはリストのヘッダーに表示するかどうかです。これには、「複数の著者」と `authors` タクソノミーの設定が必要です。この機能の設定方法の詳細については、[このページ]({{< ref "multi-author" >}}) を確認してください。 |
|
||||
| `article.showWordCount` | `false` | 記事の単語数を表示するかどうかです。 |
|
||||
| `article.showComments` | `false` | 記事のフッターの後に [コメントパーシャル]({{< ref "partials#コメント" >}}) を含めるかどうかです。 |
|
||||
| `article.sharingLinks` | _未設定_ | 各記事の最後に表示する共有リンクです。指定されていないか、`false` に設定されている場合、リンクは表示されません。使用可能な値は、"bluesky"、"email"、"facebook"、"line"、"linkedin"、"mastodon"、"pinterest"、"reddit"、"telegram"、"twitter"、"whatsapp"です。 |
|
||||
| `article.showZenMode` | `false` | 記事のZenモードリーダー機能を有効にするフラグです。 |
|
||||
|
||||
### リスト(List)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `list.showHero` | `false` | 各リストページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `list.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `list.showBreadcrumbs` | `false` | リストページのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `list.layoutBackgroundBlur` | `true` | `background` リストの heroStyle の背景画像をスクロールでぼかします。 |
|
||||
| `list.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `list.showTableOfContents` | `false` | リストページに目次を表示するかどうか。 |
|
||||
| `list.showSummary` | `false` | リストページに記事の要約を表示するかどうか。[フロントマター]({{< ref "front-matter" >}}) で要約が提供されていない場合、[サイト設定](#サイト設定) の `summaryLength` パラメータを使用して自動的に生成されます。 |
|
||||
| `list.showViews` | `false` | リストの閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showLikes` | `false` | リストのいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showCards` | `false` | 各記事をカードとして表示するか、シンプルなインラインテキストとして表示するかどうか。 |
|
||||
| `list.orderByWeight` | `false` | 記事を[重み](https://gohugo.io/methods/page/weight/)で並べ替えるかどうか。 |
|
||||
| `list.groupByYear` | `true` | リストページで記事を年別にグループ化するかどうか。 |
|
||||
| `list.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `list.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
| `list.constrainItemsWidth` | `false` | 読みやすくするために、アイテムの幅を `prose` に制限します。フィーチャー画像が利用できない場合に役立ちます。 |
|
||||
| `list.showTableOfContents` | `false` | 記事に目次を表示するかどうか。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `list.showHero` | `false` | 各リストページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `list.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `list.showBreadcrumbs` | `false` | リストページのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `list.layoutBackgroundBlur` | `true` | `background` リストの heroStyle の背景画像をスクロールでぼかします。 |
|
||||
| `list.layoutBackgroundHeaderSpace` | `true` | ヘッダーと本文の間にスペースを追加します。 |
|
||||
| `list.showTableOfContents` | `false` | リストページに目次を表示するかどうか。 |
|
||||
| `list.showSummary` | `false` | リストページに記事の要約を表示するかどうか。[フロントマター]({{< ref "front-matter" >}}) で要約が提供されていない場合、[サイト設定](#サイト設定) の `summaryLength` パラメータを使用して自動的に生成されます。 |
|
||||
| `list.showViews` | `false` | リストの閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showLikes` | `false` | リストのいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `list.showCards` | `false` | 各記事をカードとして表示するか、シンプルなインラインテキストとして表示するかどうか。 |
|
||||
| `list.orderByWeight` | `false` | 記事を[重み](https://gohugo.io/methods/page/weight/)で並べ替えるかどうか。 |
|
||||
| `list.groupByYear` | `true` | リストページで記事を年別にグループ化するかどうか。 |
|
||||
| `list.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `list.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
| `list.constrainItemsWidth` | `false` | 読みやすくするために、アイテムの幅を `prose` に制限します。フィーチャー画像が利用できない場合に役立ちます。 |
|
||||
| `list.showTableOfContents` | `false` | 記事に目次を表示するかどうか。 |
|
||||
|
||||
### サイトマップ(Sitemap)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `sitemap.excludedKinds` | `["taxonomy", "term"]` | 生成された `/sitemap.xml` ファイルから除外するコンテンツの種類。許容される値については、[Hugo のドキュメント](https://gohugo.io/templates/section-templates/#page-kinds)を参照してください。 |
|
||||
|
||||
### タクソノミー(Taxonomy)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------ | --------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `taxonomy.showTermCount` | `true` | タクソノミーリストにタクソノミー用語内の記事数を表示するかどうか。 |
|
||||
| `taxonomy.showHero` | `false` | 各タクソノミーページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `taxonomy.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `taxonomy.showBreadcrumbs` | `false` | タクソノミーのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `taxonomy.showViews` | `false` | 記事の閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showLikes` | `false` | 記事のいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showTableOfContents` | `false` | タクソノミーに目次を表示するかどうか。 |
|
||||
| `taxonomy.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| `taxonomy.showTermCount` | `true` | タクソノミーリストにタクソノミー用語内の記事数を表示するかどうか。 |
|
||||
| `taxonomy.showHero` | `false` | 各タクソノミーページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `taxonomy.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `taxonomy.showBreadcrumbs` | `false` | タクソノミーのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `taxonomy.showViews` | `false` | 記事の閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showLikes` | `false` | 記事のいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `taxonomy.showTableOfContents` | `false` | タクソノミーに目次を表示するかどうか。 |
|
||||
| `taxonomy.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
|
||||
### ターム(Term)
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| -------------------------- | --------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| `term.showHero` | `false` | 各タームページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `term.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `term.showBreadcrumbs` | `false` | タームのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `term.showViews` | `false` | 記事の閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `term.showLikes` | `false` | 記事のいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `term.showTableOfContents` | `false` | タームに目次を表示するかどうか。 |
|
||||
| `term.groupByYear` | `false` | タームページで記事を年別にグループ化するかどうか。 |
|
||||
| `term.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `term.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| -------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------- |
|
||||
| `term.showHero` | `false` | 各タームページ内でサムネイル画像をヒーロー画像として表示するかどうか。 |
|
||||
| `term.heroStyle` | _未設定_ | ヒーロー画像の表示スタイル。有効なオプションは `basic`、`big`、`background`、`thumbAndBackground` です。 |
|
||||
| `term.showBreadcrumbs` | `false` | タームのヘッダーにパンくずリストを表示するかどうか。 |
|
||||
| `term.showViews` | `false` | 記事の閲覧数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `term.showLikes` | `false` | 記事のいいね数を表示するかどうか。これを有効にするには、Firebase の統合を有効にする必要があります。以下をご覧ください。 |
|
||||
| `term.showTableOfContents` | `false` | タームに目次を表示するかどうか。 |
|
||||
| `term.groupByYear` | `false` | タームページで記事を年別にグループ化するかどうか。 |
|
||||
| `term.cardView` | `false` | リストをカードのギャラリーとして表示します。 |
|
||||
| `term.cardViewScreenWidth` | `false` | リスト内のカードギャラリーの幅を、利用可能な全幅を使用するように拡張します。 |
|
||||
|
||||
### Firebase
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `firebase.apiKey` | _未設定_ | Firebase との統合に必要な Firebase API キー。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.authDomain` | _未設定_ | Firebase との統合に必要な Firebase 認証ドメイン。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.projectId` | _未設定_ | Firebase との統合に必要な Firebase プロジェクト ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.storageBucket` | _未設定_ | Firebase との統合に必要な Firebase ストレージバケット。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.messagingSenderId` | _未設定_ | Firebase との統合に必要な Firebase メッセージング送信者 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.appId` | _未設定_ | Firebase との統合に必要な Firebase アプリ ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.measurementId` | _未設定_ | Firebase との統合に必要な Firebase 測定 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `firebase.apiKey` | _未設定_ | Firebase との統合に必要な Firebase API キー。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.authDomain` | _未設定_ | Firebase との統合に必要な Firebase 認証ドメイン。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.projectId` | _未設定_ | Firebase との統合に必要な Firebase プロジェクト ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.storageBucket` | _未設定_ | Firebase との統合に必要な Firebase ストレージバケット。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.messagingSenderId` | _未設定_ | Firebase との統合に必要な Firebase メッセージング送信者 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.appId` | _未設定_ | Firebase との統合に必要な Firebase アプリ ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
| `firebase.measurementId` | _未設定_ | Firebase との統合に必要な Firebase 測定 ID。Firebase を Blowfish に統合する方法については、[このページ]({{< ref "firebase-views" >}})を参照してください。 |
|
||||
|
||||
### Fathom Analytics
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `fathomAnalytics.site` | _未設定_ | ウェブサイト用に Fathom Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `fathomAnalytics.domain` | _未設定_ | Fathom Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `fathomAnalytics.site` | _未設定_ | ウェブサイト用に Fathom Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `fathomAnalytics.domain` | _未設定_ | Fathom Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
|
||||
### Umami Analytics
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|---|---|---|
|
||||
| `umamiAnalytics.websiteid` | _未設定_ | ウェブサイト用に Umami Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `umamiAnalytics.domain` | _未設定_ | Umami Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
| `umamiAnalytics.dataDomains` | _未設定_ | トラッカーを特定のドメインでのみ実行したい場合は、トラッカースクリプトに指定します。これは、ドメイン名のカンマ区切りリストです。例えば "yoursite.com,yoursite2.com" のようになります。 |
|
||||
| `umamiAnalytics.scriptName` | script.js | アンチ広告ブロックに使用される `script.js` の名前は、環境変数 `TRACKER_SCRIPT_NAME` で設定されます。 |
|
||||
| `umamiAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| --------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `umamiAnalytics.websiteid` | _未設定_ | ウェブサイト用に Umami Analytics によって生成されたサイトコード。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `umamiAnalytics.domain` | _未設定_ | Umami Analytics でカスタムドメインを使用している場合、ここに指定して、`script.js` をカスタムドメインから配信します。 |
|
||||
| `umamiAnalytics.dataDomains` | _未設定_ | トラッカーを特定のドメインでのみ実行したい場合は、トラッカースクリプトに指定します。これは、ドメイン名のカンマ区切りリストです。例えば "yoursite.com,yoursite2.com" のようになります。 |
|
||||
| `umamiAnalytics.scriptName` | script.js | アンチ広告ブロックに使用される `script.js` の名前は、環境変数 `TRACKER_SCRIPT_NAME` で設定されます。 |
|
||||
| `umamiAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
|
||||
### Seline Analytics
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
|-----------------------------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
| `selineAnalytics.token` | _未設定_ | ウェブサイト用に Seline Analytics によって生成されたトークン。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `selineAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `selineAnalytics.token` | _未設定_ | ウェブサイト用に Seline Analytics によって生成されたトークン。詳細については、[Analytics のドキュメント]({{< ref "partials#アナリティクス" >}})を参照してください。 |
|
||||
| `selineAnalytics.enableTrackEvent` | `true` | `true` に設定すると、トラックイベントが自動的に追加されます。トラックイベントを追加したくない場合は、`false` に設定してください。 |
|
||||
|
||||
### BuyMeACoffee
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------------------------- | --------- | -------------------------------------------------------------------------------------- |
|
||||
| `buymeacoffee.identifier` | _未設定_ | ターゲットの buymeacoffee アカウントの識別子。 |
|
||||
| `buymeacoffee.globalWidget` | _未設定_ | グローバル buymeacoffee ウィジェットを有効にします。 |
|
||||
| `buymeacoffee.globalWidgetMessage` | _未設定_ | 新しいユーザーが初めてサイトにアクセスしたときに表示されるメッセージ。 |
|
||||
| `buymeacoffee.globalWidgetColor` | _未設定_ | ウィジェットの色(16進数形式)。 |
|
||||
| `buymeacoffee.globalWidgetPosition` | _未設定_ | ウィジェットの位置。例えば "Left" または "Right" |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ----------------------------------- | ---------- | ---------------------------------------------------------------------- |
|
||||
| `buymeacoffee.identifier` | _未設定_ | ターゲットの buymeacoffee アカウントの識別子。 |
|
||||
| `buymeacoffee.globalWidget` | _未設定_ | グローバル buymeacoffee ウィジェットを有効にします。 |
|
||||
| `buymeacoffee.globalWidgetMessage` | _未設定_ | 新しいユーザーが初めてサイトにアクセスしたときに表示されるメッセージ。 |
|
||||
| `buymeacoffee.globalWidgetColor` | _未設定_ | ウィジェットの色(16進数形式)。 |
|
||||
| `buymeacoffee.globalWidgetPosition` | _未設定_ | ウィジェットの位置。例えば "Left" または "Right" |
|
||||
|
||||
### verification
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | --------- | ------------------------------------------------------------------------------------------------------- |
|
||||
| `verification.google` | _未設定_ | サイトメタデータに含まれる、Google が提供するサイト確認文字列。 |
|
||||
| `verification.bing` | _未設定_ | サイトメタデータに含まれる、Bing が提供するサイト確認文字列。 |
|
||||
| `verification.pinterest` | _未設定_ | サイトメタデータに含まれる、Pinterest が提供するサイト確認文字列。 |
|
||||
| `verification.yandex` | _未設定_ | サイトメタデータに含まれる、Yandex が提供するサイト確認文字列。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | ---------- | ------------------------------------------------------------------ |
|
||||
| `verification.google` | _未設定_ | サイトメタデータに含まれる、Google が提供するサイト確認文字列。 |
|
||||
| `verification.bing` | _未設定_ | サイトメタデータに含まれる、Bing が提供するサイト確認文字列。 |
|
||||
| `verification.pinterest` | _未設定_ | サイトメタデータに含まれる、Pinterest が提供するサイト確認文字列。 |
|
||||
| `verification.yandex` | _未設定_ | サイトメタデータに含まれる、Yandex が提供するサイト確認文字列。 |
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
## RSSNext
|
||||
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ------------------------ | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `rssnext.feedId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `feedId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
| `rssnext.userId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `userId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
| 名前 | デフォルト | 説明 |
|
||||
| ---------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `rssnext.feedId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `feedId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
| `rssnext.userId` | _未設定_ | [RSSNext/Follow](https://follow.is/) によって提供される rss `userId` 文字列。`rss.xml` に含まれ、rss フィードを自身のものとしてクレームするのに役立ちます。 |
|
||||
|
||||
## その他の設定ファイル
|
||||
|
||||
|
||||
@@ -92,6 +92,7 @@ The theme currently supports the following languages by default:
|
||||
| Portuguese (Portugal) | `pt-pt` |
|
||||
| Romanian | `ro` |
|
||||
| Russian | `ru` |
|
||||
| Thai | `th` |
|
||||
| Turkish | `tr` |
|
||||
| Vietnamese | `vi` |
|
||||
| Simplified Chinese (China) | `zh-cn` |
|
||||
@@ -192,6 +193,7 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `highlightCurrentMenuArea` | _Not set_ | Marks menu entries in the main menu when selected |
|
||||
| `smartTOC` | _Not set_ | Activate smart Table of Contents, items in view will be highlighted. |
|
||||
| `smartTOCHideUnfocusedChildren` | _Not set_ | When smart Table of Contents is turned on, this will hide deeper levels of the table when they are not in focus. |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` |
|
||||
|
||||
### Header
|
||||
|
||||
@@ -252,11 +254,12 @@ Many of the article defaults here can be overridden on a per article basis by sp
|
||||
| `article.showTableOfContents` | `false` | Whether or not the table of contents is displayed on articles. |
|
||||
| `article.showRelatedContent` | `false` | Display related content for each post. Might required additional configuration to your `config.toml`. Please check the theme `config.toml` if you want to enable this feature and copy all the relevant _related_ entries. Also check [Hugo's docs](https://gohugo.io/content-management/related/) on related content. |
|
||||
| `article.relatedContentLimit` | `3` | Limit of related articles to display if `showRelatedContent` is turned on. |
|
||||
| `article.showTaxonomies` | `false` | Whether or not the taxonomies related to this article are displayed. |
|
||||
| `article.showTaxonomies` | `false` | Whether or not all the taxonomies related to this article are displayed. |
|
||||
| `article.showCategoryOnly` | `false` | Whether or not the "category" taxonomy is displayed. `showTaxonomies` should be `false` when this param is used, otherwise duplicates will appear. |
|
||||
| `article.showAuthorsBadges` | `false` | Whether the `authors` taxonomies are are displayed in the article or list header. This requires the setup of `multiple authors` and the `authors` taxonomy. Check [this page]({{< ref "multi-author" >}}) for more details on how to configure that feature. |
|
||||
| `article.showWordCount` | `false` | Whether or not article word counts are displayed. |
|
||||
| `article.showComments` | `false` | Whether or not the [comments partial]({{< ref "partials#comments" >}}) is included after the article footer. |
|
||||
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "linkedin", "bluesky", "mastodon", "twitter", "reddit", "pinterest", "facebook", "email", "whatsapp", and "telegram" |
|
||||
| `article.sharingLinks` | _Not set_ | Which sharing links to display at the end of each article. When not provided, or set to `false` no links will be displayed. Available values are: "bluesky", "email", "facebook", "line", "linkedin", "mastodon", "pinterest", "reddit", "telegram", "twitter", and "whatsapp" |
|
||||
| `article.showZenMode` | `false` | Flag to activate Zen Mode reading feature for articles. |
|
||||
|
||||
### List
|
||||
|
||||
@@ -90,6 +90,7 @@ Blowfish 主题目前默认支持了以下语言:
|
||||
| Portuguese (Portugal) | `pt-pt` |
|
||||
| Romanian | `ro` |
|
||||
| Russian | `ru` |
|
||||
| Thai | `th` |
|
||||
| Turkish | `tr` |
|
||||
| Vietnamese | `vi` |
|
||||
| Simplified Chinese (China) | `zh-cn` |
|
||||
@@ -190,6 +191,7 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
|
||||
| `highlightCurrentMenuArea` | 无 | 当菜单被选择时,标记主菜单中的菜单项。 |
|
||||
| `smartTOC` | 无 | 开启智能目录,视图中的项目将会被高亮显示。 |
|
||||
| `smartTOCHideUnfocusedChildren` | 无 | 当开启智能目录,如果目录级别不再被聚焦时,将会隐藏更深层次的目录。 |
|
||||
| `fingerprintAlgorithm` | `"sha512"` | This configures the fingerprint or resources.Fingerprint used in .Data.Integrity for files provided by the theme. Valid values are `sha512` (default), `sha384`, `sha256` |
|
||||
|
||||
### 页头
|
||||
|
||||
@@ -254,7 +256,7 @@ Blowfish 提供了大量控制主题功能的配置参数,下面的表格中
|
||||
| `article.showAuthorsBadges` | `false` | 是否在文章或列表中显示 `authors` 分类。这需要开启多个作者 `multiple authors` 和 `authors` 分类法。 请阅读 [这个网页]({{< ref "multi-author" >}}) 来获取更多内容。 |
|
||||
| `article.showWordCount` | `false` | 是否显示文章的字数。 如果你的语言属于 CJK 语言,需要在 `config.toml` 中开启 `hasCJKLanguage` 参数。 |
|
||||
| `article.showComments` | `false` | 是否在文章末尾添加 [评论部分]({{< ref "partials#comments" >}})。 |
|
||||
| `article.sharingLinks` | 无 | 在文章末尾显示的分享链接。如果没有提供或设置为 `false`,则不会显示任何分享链接。可用的值包括:"linkedin"、"bluesky"、"mastodon"、"twitter"、"reddit"、"pinterest"、"facebook"、"email"、"whatsapp" 和 "telegram" |
|
||||
| `article.sharingLinks` | _无_ | 在文章末尾显示的分享链接。如果没有提供或设置为 `false`,则不会显示任何分享链接。可用的值包括:"bluesky"、"email"、"facebook"、"line"、"linkedin"、"mastodon"、"pinterest"、"reddit"、"telegram"、"twitter"和"whatsapp" |
|
||||
| `article.showZenMode` | `false` | 指定是否激活文章阅读的禅模式,即隐藏常规的界面元素。 |
|
||||
|
||||
### 列表页
|
||||
|
||||
@@ -198,7 +198,7 @@ date: 2022-01-25
|
||||
externalUrl: "https://medium.com/"
|
||||
summary: "I wrote a post on Medium."
|
||||
showReadingTime: false
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
---
|
||||
@@ -206,7 +206,7 @@ _build:
|
||||
|
||||
Along with the normal front matter parameters like `title` and `summary`, the `externalUrl` parameter is used to tell Blowfish that this is not an ordinary article. The URL provided here will be where visitors are directed when they select this article.
|
||||
|
||||
Additionally, we use a special Hugo front matter parameter `_build` to prevent a normal page for this content being generated - there's no point generating a page since we're linking to an external URL!
|
||||
Additionally, we use a special Hugo front matter parameter `build` to prevent a normal page for this content being generated - there's no point generating a page since we're linking to an external URL!
|
||||
|
||||
The theme includes an archetype to make generating these external link articles simple. Just specify `-k external` when making new content.
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ date: 2022-01-25
|
||||
externalUrl: "https://medium.com/"
|
||||
summary: "Medium に記事を投稿しました。"
|
||||
showReadingTime: false
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
---
|
||||
@@ -206,7 +206,7 @@ _build:
|
||||
|
||||
`title` や `summary` などの通常の Front Matter パラメータに加えて、`externalUrl` パラメータは、これが通常の記事ではないことを Blowfish に伝えるために使用されます。ここに指定された URL は、訪問者がこの記事を選択した際にリダイレクトされる場所です。
|
||||
|
||||
さらに、特別な Hugo フロントマターパラメータ `_build` を使用して、このコンテンツの通常のページが生成されないようにします。外部リンクにリダイレクトするため、ページを生成する必要はありません。
|
||||
さらに、特別な Hugo フロントマターパラメータ `build` を使用して、このコンテンツの通常のページが生成されないようにします。外部リンクにリダイレクトするため、ページを生成する必要はありません。
|
||||
|
||||
テーマには、外部リンク記事を簡単に作成するためのアーキタイプが含まれています。新しいコンテンツを作成する際に、`-k external` を指定するだけです。
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ date: 2022-01-25
|
||||
externalUrl: "https://medium.com/"
|
||||
summary: "I wrote a post on Medium."
|
||||
showReadingTime: false
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
---
|
||||
@@ -206,7 +206,7 @@ _build:
|
||||
|
||||
Along with the normal front matter parameters like `title` and `summary`, the `externalUrl` parameter is used to tell Blowfish that this is not an ordinary article. The URL provided here will be where visitors are directed when they select this article.
|
||||
|
||||
Additionally, we use a special Hugo front matter parameter `_build` to prevent a normal page for this content being generated - there's no point generating a page since we're linking to an external URL!
|
||||
Additionally, we use a special Hugo front matter parameter `build` to prevent a normal page for this content being generated - there's no point generating a page since we're linking to an external URL!
|
||||
|
||||
The theme includes an archetype to make generating these external link articles simple. Just specify `-k external` when making new content.
|
||||
|
||||
|
||||
@@ -198,7 +198,7 @@ date: 2022-01-25
|
||||
externalUrl: "https://medium.com/"
|
||||
summary: "我在Medium上写了一篇文章。"
|
||||
showReadingTime: false
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
---
|
||||
@@ -206,7 +206,7 @@ _build:
|
||||
|
||||
除了像 `title` 和 `summary` 这种普通的扉页参数外,需要设置 `externalUrl` 参数来告诉 Blowfish 这不是一篇普通的文章。访问者在访问后,会被重定向到这里提供的 URL。
|
||||
|
||||
此外,我们使用了 `_build` 参数来避免 Hugo 生成一个普通页面。因为我们是一个连接到外部的 URL,生成页面是没有意义的。
|
||||
此外,我们使用了 `build` 参数来避免 Hugo 生成一个普通页面。因为我们是一个连接到外部的 URL,生成页面是没有意义的。
|
||||
|
||||
Hugo 中可以通过命令来快速生成一个外部链接的文件,在创建新的外部链接是,只需要指定 `-k external` 即可。这让生成外部链接文章变得更简单。
|
||||
|
||||
|
||||
@@ -137,3 +137,11 @@ If you wish to insert additional code after article links, create a `layouts/par
|
||||
The theme allows for inserting additional code directly into the `<head>` and `<footer>` sections of the template. These can be useful for providing scripts or other logic that isn't part of the theme.
|
||||
|
||||
Simply create either `layouts/partials/extend-head.html` or `layouts/partials/extend-footer.html` and these will automatically be included in your website build. Both partials are injected as the last items in `<head>` and `<footer>` so they can be used to override theme defaults.
|
||||
|
||||
### Uncached Head Extension
|
||||
|
||||
The `extend-head.html` is [cached](https://gohugo.io/functions/partials/includecached/), and Blowfish also supports an uncached head extension for **conditionally** including scripts or metadata based on page-level properties. To use this feature, create a `layouts/partials/extend-head-uncached.html` file in your project. This file will be included in `<head>` HTML tag.
|
||||
|
||||
This is useful when you need to include dynamic elements—such as scripts or metadata—based on properties like shortcodes, front matter flags, or other page-specific data that should not be cached across builds.
|
||||
|
||||
For example, to dynamically load a CDN JavaScript file base on the appearance of a shortcode, you can use the [HasShortcode](https://gohugo.io/methods/page/hasshortcode/#article) method within `extend-head-uncached.html`.
|
||||
@@ -137,3 +137,11 @@ Blowfish は、基本機能を拡張できる多数の拡張パーシャルも
|
||||
このテーマでは、テンプレートの `<head>` セクションと `<footer>` セクションに直接コードを追加できます。これらは、テーマの一部ではないスクリプトやその他のロジックを提供するのに役立ちます。
|
||||
|
||||
`layouts/partials/extend-head.html` または `layouts/partials/extend-footer.html` を作成するだけで、これらは自動的にウェブサイトのビルドに含まれます。どちらのパーシャルも `<head>` と `<footer>` の最後の項目として挿入されるため、テーマのデフォルトを上書きするために使用できます。
|
||||
|
||||
### 非キャッシュの head 拡張
|
||||
|
||||
`extend-head.html` は[キャッシュされる](https://gohugo.io/functions/partials/includecached/)が、Blowfish ではページ単位の条件に応じてスクリプトやメタデータを動的に含めるための、非キャッシュの head 拡張にも対応している。この機能を使うには、プロジェクト内に `layouts/partials/extend-head-uncached.html` ファイルを作成する。このファイルは HTML の `<head>` タグ内に読み込まれる。
|
||||
|
||||
これは、ショートコードや front matter のフラグなど、ビルド間でキャッシュされるべきでないページ固有の要素に基づいて、スクリプトやメタデータを動的に含めたい場合に有用。
|
||||
|
||||
たとえば、ショートコードの有無に応じて CDN の JavaScript ファイルを読み込むには、`extend-head-uncached.html` 内で [HasShortcode](https://gohugo.io/methods/page/hasshortcode/#article) メソッドを使う。
|
||||
@@ -137,3 +137,11 @@ If you wish to insert additional code after article links, create a `layouts/par
|
||||
The theme allows for inserting additional code directly into the `<head>` and `<footer>` sections of the template. These can be useful for providing scripts or other logic that isn't part of the theme.
|
||||
|
||||
Simply create either `layouts/partials/extend-head.html` or `layouts/partials/extend-footer.html` and these will automatically be included in your website build. Both partials are injected as the last items in `<head>` and `<footer>` so they can be used to override theme defaults.
|
||||
|
||||
### Uncached Head Extension
|
||||
|
||||
The `extend-head.html` is [cached](https://gohugo.io/functions/partials/includecached/), and Blowfish also supports an uncached head extension for **conditionally** including scripts or metadata based on page-level properties. To use this feature, create a `layouts/partials/extend-head-uncached.html` file in your project. This file will be included in `<head>` HTML tag.
|
||||
|
||||
This is useful when you need to include dynamic elements—such as scripts or metadata—based on properties like shortcodes, front matter flags, or other page-specific data that should not be cached across builds.
|
||||
|
||||
For example, to dynamically load a CDN JavaScript file base on the appearance of a shortcode, you can use the [HasShortcode](https://gohugo.io/methods/page/hasshortcode/#article) method within `extend-head-uncached.html`.
|
||||
@@ -140,3 +140,11 @@ Blowfish 还提供了许多扩展 partial,可以扩展基本功能。
|
||||
本主题允许在模板的`<head>`和`<footer>`部分直接插入附加代码。这些代码可用于提供不属于主题的脚本或其他逻辑。
|
||||
|
||||
只需创建`layouts/partials/extend-head.html`或`layouts/partials/extend-footer.html`,这些部分就会自动包含在网站构建中。这两个 partial 将作为最后一项注入到 `<head>` 和 `<footer>` 中,因此它们可用于覆盖主题默认值。
|
||||
|
||||
### 非缓存的 Head 扩展
|
||||
|
||||
`extend-head.html` 是被[缓存](https://gohugo.io/functions/partials/includecached/)的,Blowfish 同时支持一种非缓存的 head 扩展方式,用于根据页面属性**条件性地**插入脚本或元数据。要使用此功能,请在项目中创建 `layouts/partials/extend-head-uncached.html` 文件,该文件会被插入到 `<head>` 标签中。
|
||||
|
||||
此功能适用于根据 shortcode、front matter 标记或其他页面专属数据,动态添加脚本或元数据,避免内容在构建时被缓存。
|
||||
|
||||
例如,可在 `extend-head-uncached.html` 中使用 [HasShortcode](https://gohugo.io/methods/page/hasshortcode/#article) 方法,根据 shortcode 是否存在动态加载 CDN JavaScript 文件。
|
||||
@@ -480,17 +480,17 @@ The `katex` shortcode can be used to add mathematical expressions to article con
|
||||
|
||||
To include mathematical expressions in an article, simply place the shortcode anywhere with the content. It only needs to be included once per article and KaTeX will automatically render any markup on that page. Both inline and block notation are supported.
|
||||
|
||||
Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters. Alternatively, block notation can be generated using `$$` delimiters.
|
||||
Inline notation can be generated by wrapping the expression in `\(` and `\)` delimiters. Alternatively, block notation can be generated using `$$` delimiters.
|
||||
|
||||
**Example:**
|
||||
|
||||
```md
|
||||
{{</* katex */>}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
```
|
||||
|
||||
{{< katex >}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
|
||||
Check out the [mathematical notation samples]({{< ref "mathematical-notation" >}}) page for more examples.
|
||||
|
||||
|
||||
@@ -480,17 +480,17 @@ Blowfish も、標準の Markdown 構文を使用して含まれる画像の自
|
||||
|
||||
記事に数式を含めるには、コンテンツを含むショートコードを任意の場所に配置するだけです。記事ごとに1回だけ含める必要があり、KaTeX はそのページのマークアップを自動的にレンダリングします。インライン表記とブロック表記の両方がサポートされています。
|
||||
|
||||
インライン表記は、式を `\\(` と `\\)` デリミタで囲むことで生成できます。また、ブロック表記は `$$` デリミタを使用して生成できます。
|
||||
インライン表記は、式を `\(` と `\)` デリミタで囲むことで生成できます。また、ブロック表記は `$$` デリミタを使用して生成できます。
|
||||
|
||||
**例:**
|
||||
|
||||
```md
|
||||
{{</* katex */>}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
```
|
||||
|
||||
{{< katex >}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
|
||||
[数式表記のサンプル]({{< ref "mathematical-notation" >}})ページで、その他の例を確認できます。
|
||||
|
||||
|
||||
@@ -484,17 +484,17 @@ The `katex` shortcode can be used to add mathematical expressions to article con
|
||||
|
||||
To include mathematical expressions in an article, simply place the shortcode anywhere with the content. It only needs to be included once per article and KaTeX will automatically render any markup on that page. Both inline and block notation are supported.
|
||||
|
||||
Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters. Alternatively, block notation can be generated using `$$` delimiters.
|
||||
Inline notation can be generated by wrapping the expression in `\(` and `\)` delimiters. Alternatively, block notation can be generated using `$$` delimiters.
|
||||
|
||||
**Example:**
|
||||
|
||||
```md
|
||||
{{</* katex */>}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
```
|
||||
|
||||
{{< katex >}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
|
||||
Check out the [mathematical notation samples]({{< ref "mathematical-notation" >}}) page for more examples.
|
||||
|
||||
|
||||
@@ -463,17 +463,17 @@ Blowfish 还支持使用标准 Markdown 语法自动转换图像。只需使用
|
||||
|
||||
要在文章中加入数学表达式,只需将简码放在任意位置即可。每篇文章只需加入一次,KaTeX 将自动呈现该页面上的任何标记。支持内联和块表示法。
|
||||
|
||||
可以通过将表达式包装在 `\\(` 和 `\\)` 分隔符中来生成内联表示法。或者,可以使用 `$$` 分隔符生成块符号。
|
||||
可以通过将表达式包装在 `\(` 和 `\)` 分隔符中来生成内联表示法。或者,可以使用 `$$` 分隔符生成块符号。
|
||||
|
||||
**例如:**
|
||||
|
||||
```md
|
||||
{{</* katex */>}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
```
|
||||
|
||||
{{< katex >}}
|
||||
\\(f(a,b,c) = (a^2+b^2+c^2)^3\\)
|
||||
\(f(a,b,c) = (a^2+b^2+c^2)^3\)
|
||||
|
||||
查看 [数学符号示例]({{< ref "mathematical-notation" >}}) 页面以获取更多示例。
|
||||
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ date: 2019-01-24
|
||||
externalUrl: "https://n9o.xyz/projects/"
|
||||
summary: "The `externalUrl` front matter parameter can link to any URL."
|
||||
showReadingTime: true
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
type: 'sample'
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ date: 2019-01-24
|
||||
externalUrl: "https://n9o.xyz/projects/"
|
||||
summary: "`externalUrl` 表示は任意の URL にリンクすることができます。"
|
||||
showReadingTime: true
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
type: 'sample'
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ date: 2019-01-24
|
||||
externalUrl: "https://n9o.xyz/projects/"
|
||||
summary: "The `externalUrl` front matter parameter can link to any URL."
|
||||
showReadingTime: true
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
type: 'sample'
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ date: 2019-01-24
|
||||
externalUrl: "https://n9o.xyz/projects/"
|
||||
summary: "`externalUrl` front matter 参数可以链接到任何外部 URL."
|
||||
showReadingTime: true
|
||||
_build:
|
||||
build:
|
||||
render: "false"
|
||||
list: "local"
|
||||
type: 'sample'
|
||||
|
||||
@@ -66,6 +66,7 @@ The full list of built-in icons and their corresponding names can referenced bel
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
@@ -115,7 +116,8 @@ The full list of built-in icons and their corresponding names can referenced bel
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
@@ -66,6 +66,7 @@ Blowfish はいくつもの [FontAwesome 6](https://fontawesome.com/icons) の
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
|
||||
@@ -66,6 +66,7 @@ The full list of built-in icons and their corresponding names can referenced bel
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
@@ -115,7 +116,8 @@ The full list of built-in icons and their corresponding names can referenced bel
|
||||
| twitter | {{< icon twitter >}} |
|
||||
| wand-magic-sparkles | {{< icon wand-magic-sparkles >}} |
|
||||
| whatsapp | {{< icon whatsapp >}} |
|
||||
| worktree | {{< icon worktree >}} |
|
||||
| x-twitter | {{< icon x-twitter >}} |
|
||||
| xing | {{< icon xing >}} |
|
||||
| xmark | {{< icon xmark >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
| youtube | {{< icon youtube >}} |
|
||||
@@ -66,6 +66,7 @@ Blowfish 内置了许多 [FontAwesome 6](https://fontawesome.com/icons) 中的
|
||||
| language | {{< icon language >}} |
|
||||
| lastfm | {{< icon lastfm >}} |
|
||||
| lightbulb | {{< icon lightbulb >}} |
|
||||
| line | {{< icon line >}} |
|
||||
| link | {{< icon link >}} |
|
||||
| linkedin | {{< icon linkedin >}} |
|
||||
| list | {{< icon list >}} |
|
||||
|
||||
@@ -21,16 +21,16 @@ Any KaTeX syntax on that page will then be automatically rendered. Use the onlin
|
||||
|
||||
## Inline notation
|
||||
|
||||
Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters.
|
||||
Inline notation can be generated by wrapping the expression in `\(` and `\)` delimiters.
|
||||
|
||||
**Example:**
|
||||
|
||||
```tex
|
||||
% KaTeX inline notation
|
||||
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
Inline notation: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
```
|
||||
|
||||
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
Inline notation: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
|
||||
## Block notation
|
||||
|
||||
|
||||
@@ -22,16 +22,16 @@ Blowfish は数学的記法を利用する場合のみ、 KaTeX アセットを
|
||||
|
||||
## インライン表記
|
||||
|
||||
インライン表記は `\\(` と `\\)` 記号で式を囲むことで生成できます。
|
||||
インライン表記は `\(` と `\)` 記号で式を囲むことで生成できます。
|
||||
|
||||
**例:**
|
||||
|
||||
```tex
|
||||
% KaTeX インライン表記
|
||||
インライン表記: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
インライン表記: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
```
|
||||
|
||||
インライン表記: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
インライン表記: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
|
||||
## ブロック表記
|
||||
|
||||
|
||||
@@ -21,16 +21,16 @@ Any KaTeX syntax on that page will then be automatically rendered. Use the onlin
|
||||
|
||||
## Inline notation
|
||||
|
||||
Inline notation can be generated by wrapping the expression in `\\(` and `\\)` delimiters.
|
||||
Inline notation can be generated by wrapping the expression in `\(` and `\)` delimiters.
|
||||
|
||||
**Example:**
|
||||
|
||||
```tex
|
||||
% KaTeX inline notation
|
||||
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
Inline notation: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
```
|
||||
|
||||
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
Inline notation: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
|
||||
## Block notation
|
||||
|
||||
|
||||
@@ -21,16 +21,16 @@ KaTeX 可用于在文章中呈现数学表达式。
|
||||
|
||||
## 内联表示法
|
||||
|
||||
可以通过将表达式包装在 `\\(` 和 `\\)` 分隔符中来生成内联表示法。
|
||||
可以通过将表达式包装在 `\(` 和 `\)` 分隔符中来生成内联表示法。
|
||||
|
||||
**例如:**
|
||||
|
||||
```tex
|
||||
% KaTeX inline notation
|
||||
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
Inline notation: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
```
|
||||
|
||||
Inline notation: \\(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\\)
|
||||
Inline notation: \(\varphi = \dfrac{1+\sqrt5}{2}= 1.6180339887…\)
|
||||
|
||||
## 表达式块
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "Nuno Coração",
|
||||
"image" : "img/nuno_avatar.jpg",
|
||||
"bio": "Theme Creator",
|
||||
"social": [
|
||||
{ "linkedin": "https://linkedin.com/in/nunocoracao" },
|
||||
{ "twitter": "https://twitter.com/nunocoracao" },
|
||||
{ "instagram": "https://instagram.com/nunocoracao" },
|
||||
{ "medium": "https://medium.com/@nunocoracao" },
|
||||
{ "github": "https://github.com/nunocoracao" },
|
||||
{ "goodreads": "http://goodreads.com/nunocoracao" },
|
||||
{ "keybase": "https://keybase.io/nunocoracao" },
|
||||
{ "reddit": "https://reddit.com/user/nunoheart" }
|
||||
]
|
||||
}
|
||||
"name": "Nuno Coração",
|
||||
"image": "img/nuno_avatar.jpg",
|
||||
"bio": "Theme Creator",
|
||||
"social": [
|
||||
{ "linkedin": "https://linkedin.com/in/nunocoracao" },
|
||||
{ "twitter": "https://twitter.com/nunocoracao" },
|
||||
{ "instagram": "https://instagram.com/nunocoracao" },
|
||||
{ "medium": "https://medium.com/@nunocoracao" },
|
||||
{ "github": "https://github.com/nunocoracao" },
|
||||
{ "goodreads": "http://goodreads.com/nunocoracao" },
|
||||
{ "keybase": "https://keybase.io/nunocoracao" },
|
||||
{ "reddit": "https://reddit.com/user/nunoheart" }
|
||||
]
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"name": "Dummy Second Author",
|
||||
"image" : "img/author2.png",
|
||||
"bio": "Dummy",
|
||||
"social": [
|
||||
{ "linkedin": "https://linkedin.com/in/nunocoracao" },
|
||||
{ "twitter": "https://twitter.com/nunocoracao" },
|
||||
{ "instagram": "https://instagram.com/nunocoracao" },
|
||||
{ "medium": "https://medium.com/@nunocoracao" },
|
||||
{ "github": "https://github.com/nunocoracao" },
|
||||
{ "goodreads": "http://goodreads.com/nunocoracao" },
|
||||
{ "keybase": "https://keybase.io/nunocoracao" },
|
||||
{ "reddit": "https://reddit.com/user/nunoheart" }
|
||||
]
|
||||
}
|
||||
"name": "Dummy Second Author",
|
||||
"image": "img/author2.png",
|
||||
"bio": "Dummy",
|
||||
"social": [
|
||||
{ "linkedin": "https://linkedin.com/in/nunocoracao" },
|
||||
{ "twitter": "https://twitter.com/nunocoracao" },
|
||||
{ "instagram": "https://instagram.com/nunocoracao" },
|
||||
{ "medium": "https://medium.com/@nunocoracao" },
|
||||
{ "github": "https://github.com/nunocoracao" },
|
||||
{ "goodreads": "http://goodreads.com/nunocoracao" },
|
||||
{ "keybase": "https://keybase.io/nunocoracao" },
|
||||
{ "reddit": "https://reddit.com/user/nunoheart" }
|
||||
]
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
<a rel="me" href="https://masto.ai/@blowfish"></a>
|
||||
<a rel="me" href="https://masto.ai/@blowfish"></a>
|
||||
@@ -1,4 +1,4 @@
|
||||
{{ $jsHome := resources.Get "js/home.js" | resources.Minify | resources.Fingerprint "sha512" }}
|
||||
{{ $jsHome := resources.Get "js/home.js" | resources.Minify | resources.Fingerprint (.Site.Params.fingerprintAlgorithm | default "sha512") }}
|
||||
<div id="background">
|
||||
{{ partial "home/background.html" . }}
|
||||
</div>
|
||||
@@ -17,4 +17,8 @@
|
||||
<section>
|
||||
{{ partial "recent-articles-demo.html" . }}
|
||||
</section>
|
||||
<script defer type="text/javascript" src="{{ $jsHome.RelPermalink }}" integrity="{{ $jsHome.Data.Integrity }}"></script>
|
||||
<script
|
||||
defer
|
||||
type="text/javascript"
|
||||
src="{{ $jsHome.RelPermalink }}"
|
||||
integrity="{{ $jsHome.Data.Integrity }}"></script>
|
||||
@@ -1,44 +1,47 @@
|
||||
{{ $recentArticles := 5 }}
|
||||
{{ $showMoreLinkDest := "/posts/" }}
|
||||
{{ if index .Site.Params.homepage "showRecentItems" }}
|
||||
{{ $recentArticles = .Site.Params.homepage.showRecentItems }}
|
||||
{{ $recentArticles = .Site.Params.homepage.showRecentItems }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<h2 class="mt-8 text-2xl font-extrabold mb-10">{{ i18n "shortcode.recent_articles" | emojify }}</h2>
|
||||
|
||||
<div class="flex mb-6 px-4 py-2 mb-8 text-base rounded-md bg-primary-100 dark:bg-primary-900">
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert">This is a demo of theme's list configurations: <code
|
||||
id="config">card view</code></span>
|
||||
<button id="switch-config-button"
|
||||
class="px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700">
|
||||
Switch config ↻
|
||||
</button>
|
||||
</span>
|
||||
<span class="flex items-center justify-between grow dark:text-neutral-300">
|
||||
<span class="prose dark:prose-invert"
|
||||
>This is a demo of theme's list configurations: <code id="config">card view</code></span
|
||||
>
|
||||
<button
|
||||
id="switch-config-button"
|
||||
class="px-4 !text-neutral !no-underline rounded-md bg-primary-600 hover:!bg-primary-500 dark:bg-primary-800 dark:hover:!bg-primary-700">
|
||||
Switch config ↻
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div id="CardViewProse" class="h-full">
|
||||
{{ partial "recent-articles/cardview.html" . }}
|
||||
{{ partial "recent-articles/cardview.html" . }}
|
||||
</div>
|
||||
|
||||
<div id="CardViewScreenWidth" class="hidden h-full">
|
||||
{{ partial "recent-articles/cardview-fullwidth.html" . }}
|
||||
{{ partial "recent-articles/cardview-fullwidth.html" . }}
|
||||
</div>
|
||||
|
||||
<div id="NormalView" class="hidden h-full">
|
||||
{{ partial "recent-articles/list.html" . }}
|
||||
{{ partial "recent-articles/list.html" . }}
|
||||
</div>
|
||||
|
||||
{{ if .Site.Params.homepage.showMoreLink | default false }}
|
||||
{{ if index .Site.Params.homepage "showRecentItems" }}
|
||||
{{ $showMoreLinkDest = .Site.Params.homepage.showMoreLinkDest }}
|
||||
{{ end }}
|
||||
<div class="mt-10 flex justify-center">
|
||||
{{ if index .Site.Params.homepage "showRecentItems" }}
|
||||
{{ $showMoreLinkDest = .Site.Params.homepage.showMoreLinkDest }}
|
||||
{{ end }}
|
||||
<div class="mt-10 flex justify-center">
|
||||
<a href="{{ $showMoreLinkDest }}">
|
||||
<button
|
||||
class="bg-transparent hover:text-primary-500 prose dark:prose-invert font-semibold hover:text-white py-2 px-4 border border-primary-500 hover:border-transparent rounded">
|
||||
{{ i18n "recent.show_more" | markdownify }}
|
||||
</button>
|
||||
<button
|
||||
class="bg-transparent hover:text-primary-500 prose dark:prose-invert font-semibold hover:text-white py-2 px-4 border border-primary-500 hover:border-transparent rounded">
|
||||
{{ i18n "recent.show_more" | markdownify }}
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
+46
-50
@@ -1,75 +1,71 @@
|
||||
const fs = require('fs');
|
||||
const fs = require("fs");
|
||||
|
||||
const configDir = "./exampleSite/config/_default";
|
||||
const contentDir = "./exampleSite/content";
|
||||
const defaultLang = "en";
|
||||
|
||||
var targetLangs = []
|
||||
var targetLangs = [];
|
||||
|
||||
function readConfigs() {
|
||||
const files = fs.readdirSync(configDir);
|
||||
files.forEach(file => {
|
||||
//console.log(file)
|
||||
if(file.indexOf("languages.") > -1) {
|
||||
var lang = file.split(".")[1];
|
||||
//console.log(lang)
|
||||
if(lang != defaultLang) {
|
||||
targetLangs.push(lang);
|
||||
}
|
||||
}
|
||||
});
|
||||
const files = fs.readdirSync(configDir);
|
||||
files.forEach((file) => {
|
||||
//console.log(file)
|
||||
if (file.indexOf("languages.") > -1) {
|
||||
var lang = file.split(".")[1];
|
||||
//console.log(lang)
|
||||
if (lang != defaultLang) {
|
||||
targetLangs.push(lang);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function processFile(filePath, file) {
|
||||
if (filePath.indexOf("index.md") > -1) {
|
||||
if (filePath.indexOf("index.md") > -1) {
|
||||
//console.log("processing", filePath)
|
||||
|
||||
//console.log("processing", filePath)
|
||||
|
||||
for(var i in targetLangs) {
|
||||
const targetLang = targetLangs[i];
|
||||
var targetFilePath = filePath.replace(".md", "." + targetLang + ".md");
|
||||
//var targetFileName = file.replace(".md", "." + targetLang + ".md");
|
||||
for (var i in targetLangs) {
|
||||
const targetLang = targetLangs[i];
|
||||
var targetFilePath = filePath.replace(".md", "." + targetLang + ".md");
|
||||
//var targetFileName = file.replace(".md", "." + targetLang + ".md");
|
||||
|
||||
if(fs.existsSync(targetFilePath)) {
|
||||
//console.log("file already exists", targetFilePath);
|
||||
if (fs.existsSync(targetFilePath)) {
|
||||
//console.log("file already exists", targetFilePath);
|
||||
|
||||
const data = fs.readFileSync(filePath, 'utf8');
|
||||
const data2 = fs.readFileSync(targetFilePath, 'utf8');
|
||||
if(data != data2) {
|
||||
//console.log("file contents are different", targetFilePath);
|
||||
}else{
|
||||
//console.log("file contents are the same", targetFilePath);
|
||||
console.log(targetFilePath);
|
||||
//process.exit(1);
|
||||
}
|
||||
|
||||
}else{
|
||||
//console.log("file does not exist", targetFilePath);
|
||||
}
|
||||
const data = fs.readFileSync(filePath, "utf8");
|
||||
const data2 = fs.readFileSync(targetFilePath, "utf8");
|
||||
if (data != data2) {
|
||||
//console.log("file contents are different", targetFilePath);
|
||||
} else {
|
||||
//console.log("file contents are the same", targetFilePath);
|
||||
console.log(targetFilePath);
|
||||
//process.exit(1);
|
||||
}
|
||||
|
||||
} else
|
||||
return
|
||||
} else {
|
||||
//console.log("file does not exist", targetFilePath);
|
||||
}
|
||||
}
|
||||
} else return;
|
||||
}
|
||||
|
||||
async function processFolder(folderPath) {
|
||||
const files = fs.readdirSync(folderPath);
|
||||
const files = fs.readdirSync(folderPath);
|
||||
|
||||
for (var i in files) {
|
||||
const file = files[i];
|
||||
const filePath = `${folderPath}/${file}`;
|
||||
const isDir = fs.lstatSync(filePath).isDirectory();
|
||||
if (isDir) {
|
||||
await processFolder(filePath);
|
||||
} else {
|
||||
await processFile(filePath, file);
|
||||
}
|
||||
for (var i in files) {
|
||||
const file = files[i];
|
||||
const filePath = `${folderPath}/${file}`;
|
||||
const isDir = fs.lstatSync(filePath).isDirectory();
|
||||
if (isDir) {
|
||||
await processFolder(filePath);
|
||||
} else {
|
||||
await processFile(filePath, file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function createLinks() {
|
||||
processFolder(contentDir);
|
||||
processFolder(contentDir);
|
||||
}
|
||||
|
||||
readConfigs();
|
||||
createLinks();
|
||||
createLinks();
|
||||
+41
-40
@@ -1,5 +1,5 @@
|
||||
const fs = require('fs');
|
||||
const translate = require('@iamtraction/google-translate');
|
||||
const fs = require("fs");
|
||||
const translate = require("@iamtraction/google-translate");
|
||||
|
||||
const defaultLang = "en";
|
||||
const targetLang = process.argv[2] || "en";
|
||||
@@ -8,56 +8,57 @@ const targetLangIso = targetLang == "pt" ? "pt-pt" : targetLang;
|
||||
const targetFilePath = filePath.replace(".md", "." + targetLangIso + ".md");
|
||||
|
||||
async function convert(text, from, to) {
|
||||
var options = {
|
||||
from: from,
|
||||
to: to
|
||||
};
|
||||
var translated_text = await translate(text, options);
|
||||
return translated_text.text;
|
||||
var options = {
|
||||
from: from,
|
||||
to: to,
|
||||
};
|
||||
var translated_text = await translate(text, options);
|
||||
return translated_text.text;
|
||||
}
|
||||
|
||||
console.log(filePath);
|
||||
console.log(targetFilePath);
|
||||
|
||||
async function processFrontMatter(block) {
|
||||
var array = block.split("\n");
|
||||
var translatedBlock = "";
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
if (array[i].indexOf(":") > -1) {
|
||||
var elements = array[i].split(":");
|
||||
var newElement = "";
|
||||
if (elements[0] == "title" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "summary" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "categories" ||
|
||||
elements[0] == "tags") {
|
||||
var translatedElement = elements[1] ? await convert(elements[1], defaultLang, targetLang) : elements[1];
|
||||
newElement = elements[0] + ": " + translatedElement;
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
translatedBlock += newElement + "\n";
|
||||
var array = block.split("\n");
|
||||
var translatedBlock = "";
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
if (array[i].indexOf(":") > -1) {
|
||||
var elements = array[i].split(":");
|
||||
var newElement = "";
|
||||
if (
|
||||
elements[0] == "title" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "summary" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "categories" ||
|
||||
elements[0] == "tags"
|
||||
) {
|
||||
var translatedElement = elements[1] ? await convert(elements[1], defaultLang, targetLang) : elements[1];
|
||||
newElement = elements[0] + ": " + translatedElement;
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
return translatedBlock;
|
||||
translatedBlock += newElement + "\n";
|
||||
}
|
||||
return translatedBlock;
|
||||
}
|
||||
|
||||
|
||||
async function main() {
|
||||
const fileContent = fs.readFileSync(filePath, 'utf8');
|
||||
const fileContent = fs.readFileSync(filePath, "utf8");
|
||||
|
||||
var array = fileContent.split("---\n")
|
||||
var frontMatter = array[1];
|
||||
var content = array[2];
|
||||
var array = fileContent.split("---\n");
|
||||
var frontMatter = array[1];
|
||||
var content = array[2];
|
||||
|
||||
var translatedFrontMatter = await processFrontMatter(frontMatter);
|
||||
var translatedContent = await convert(content, defaultLang, targetLang);
|
||||
var translatedFrontMatter = await processFrontMatter(frontMatter);
|
||||
var translatedContent = await convert(content, defaultLang, targetLang);
|
||||
|
||||
var newFileContent = "---\n" + translatedFrontMatter + "---\n" + translatedContent;
|
||||
fs.writeFileSync(targetFilePath, newFileContent, 'utf8');
|
||||
var newFileContent = "---\n" + translatedFrontMatter + "---\n" + translatedContent;
|
||||
fs.writeFileSync(targetFilePath, newFileContent, "utf8");
|
||||
}
|
||||
|
||||
main();
|
||||
main();
|
||||
+67
-71
@@ -1,5 +1,5 @@
|
||||
const fs = require('fs');
|
||||
const translate = require('@iamtraction/google-translate');
|
||||
const fs = require("fs");
|
||||
const translate = require("@iamtraction/google-translate");
|
||||
|
||||
const configDir = "./exampleSite/config/_default";
|
||||
const contentDir = "./exampleSite/content";
|
||||
@@ -7,98 +7,94 @@ const defaultLang = "en";
|
||||
const targetLang = process.argv[2] || "en";
|
||||
const targetLangIso = targetLang == "pt" ? "pt-pt" : targetLang;
|
||||
|
||||
|
||||
function createConfigs() {
|
||||
const files = fs.readdirSync(configDir);
|
||||
files.forEach(file => {
|
||||
const filePath = `${configDir}/${file}`;
|
||||
if (filePath.indexOf("languages.en.toml") > -1 ||
|
||||
filePath.indexOf("menus.en.toml") > -1) {
|
||||
var fileContent = fs.readFileSync(filePath, 'utf8');
|
||||
fs.writeFileSync(filePath.replace(".en.toml", "." + targetLangIso + ".toml"), fileContent, 'utf8');
|
||||
}
|
||||
});
|
||||
const files = fs.readdirSync(configDir);
|
||||
files.forEach((file) => {
|
||||
const filePath = `${configDir}/${file}`;
|
||||
if (filePath.indexOf("languages.en.toml") > -1 || filePath.indexOf("menus.en.toml") > -1) {
|
||||
var fileContent = fs.readFileSync(filePath, "utf8");
|
||||
fs.writeFileSync(filePath.replace(".en.toml", "." + targetLangIso + ".toml"), fileContent, "utf8");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function convert(text, from, to) {
|
||||
var options = {
|
||||
from: from,
|
||||
to: to
|
||||
};
|
||||
var translated_text = await translate(text, options)
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
});;
|
||||
return translated_text && translated_text.text? translated_text.text : '';
|
||||
var options = {
|
||||
from: from,
|
||||
to: to,
|
||||
};
|
||||
var translated_text = await translate(text, options).catch((err) => {
|
||||
console.error(err);
|
||||
});
|
||||
return translated_text && translated_text.text ? translated_text.text : "";
|
||||
}
|
||||
|
||||
async function processFrontMatter(block) {
|
||||
var array = block.split("\n");
|
||||
var translatedBlock = "";
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
if (array[i].indexOf(":") > -1) {
|
||||
var elements = array[i].split(":");
|
||||
var newElement = "";
|
||||
if (elements[0] == "title" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "summary" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "categories" ||
|
||||
elements[0] == "tags") {
|
||||
var translatedElement = elements[1] ? await convert(elements[1], defaultLang, targetLang) : elements[1];
|
||||
newElement = elements[0] + ": " + translatedElement;
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
translatedBlock += newElement + "\n";
|
||||
var array = block.split("\n");
|
||||
var translatedBlock = "";
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
if (array[i].indexOf(":") > -1) {
|
||||
var elements = array[i].split(":");
|
||||
var newElement = "";
|
||||
if (
|
||||
elements[0] == "title" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "summary" ||
|
||||
elements[0] == "description" ||
|
||||
elements[0] == "categories" ||
|
||||
elements[0] == "tags"
|
||||
) {
|
||||
var translatedElement = elements[1] ? await convert(elements[1], defaultLang, targetLang) : elements[1];
|
||||
newElement = elements[0] + ": " + translatedElement;
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
} else {
|
||||
newElement = array[i];
|
||||
}
|
||||
return translatedBlock;
|
||||
translatedBlock += newElement + "\n";
|
||||
}
|
||||
return translatedBlock;
|
||||
}
|
||||
|
||||
async function processFile(filePath) {
|
||||
console.log("translating", filePath)
|
||||
if (filePath.indexOf("index.md") > -1) {
|
||||
console.log("translating", filePath);
|
||||
if (filePath.indexOf("index.md") > -1) {
|
||||
const targetFilePath = filePath.replace(".md", "." + targetLangIso + ".md");
|
||||
|
||||
const targetFilePath = filePath.replace(".md", "." + targetLangIso + ".md");
|
||||
const fileContent = fs.readFileSync(filePath, "utf8");
|
||||
|
||||
const fileContent = fs.readFileSync(filePath, 'utf8');
|
||||
var array = fileContent.split("---\n");
|
||||
var frontMatter = array[1];
|
||||
var content = array[2];
|
||||
|
||||
var array = fileContent.split("---\n")
|
||||
var frontMatter = array[1];
|
||||
var content = array[2];
|
||||
var translatedFrontMatter = await processFrontMatter(frontMatter);
|
||||
var translatedContent = await convert(content, defaultLang, targetLang);
|
||||
|
||||
var translatedFrontMatter = await processFrontMatter(frontMatter);
|
||||
var translatedContent = await convert(content, defaultLang, targetLang);
|
||||
|
||||
var newFileContent = "---\n" + translatedFrontMatter + "---\n" + translatedContent;
|
||||
fs.writeFileSync(targetFilePath, newFileContent, 'utf8');
|
||||
|
||||
} else
|
||||
return
|
||||
var newFileContent = "---\n" + translatedFrontMatter + "---\n" + translatedContent;
|
||||
fs.writeFileSync(targetFilePath, newFileContent, "utf8");
|
||||
} else return;
|
||||
}
|
||||
|
||||
async function processFolder(folderPath) {
|
||||
const files = fs.readdirSync(folderPath);
|
||||
const files = fs.readdirSync(folderPath);
|
||||
|
||||
for (var i in files) {
|
||||
const file = files[i];
|
||||
const filePath = `${folderPath}/${file}`;
|
||||
const isDir = fs.lstatSync(filePath).isDirectory();
|
||||
console.log(filePath, isDir);
|
||||
if (isDir) {
|
||||
await processFolder(filePath);
|
||||
} else {
|
||||
await processFile(filePath);
|
||||
}
|
||||
for (var i in files) {
|
||||
const file = files[i];
|
||||
const filePath = `${folderPath}/${file}`;
|
||||
const isDir = fs.lstatSync(filePath).isDirectory();
|
||||
console.log(filePath, isDir);
|
||||
if (isDir) {
|
||||
await processFolder(filePath);
|
||||
} else {
|
||||
await processFile(filePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function createContent() {
|
||||
processFolder(contentDir);
|
||||
processFolder(contentDir);
|
||||
}
|
||||
|
||||
createConfigs();
|
||||
createContent();
|
||||
createContent();
|
||||
+40
-43
@@ -1,66 +1,63 @@
|
||||
const fs = require('fs');
|
||||
const fs = require("fs");
|
||||
|
||||
const configDir = "./exampleSite/config/_default";
|
||||
const contentDir = "./exampleSite/content";
|
||||
const defaultLang = "en";
|
||||
|
||||
var targetLangs = []
|
||||
var targetLangs = [];
|
||||
|
||||
function readConfigs() {
|
||||
const files = fs.readdirSync(configDir);
|
||||
files.forEach(file => {
|
||||
console.log(file)
|
||||
if(file.indexOf("languages.") > -1) {
|
||||
var lang = file.split(".")[1];
|
||||
console.log(lang)
|
||||
if(lang != defaultLang) {
|
||||
targetLangs.push(lang);
|
||||
}
|
||||
}
|
||||
});
|
||||
const files = fs.readdirSync(configDir);
|
||||
files.forEach((file) => {
|
||||
console.log(file);
|
||||
if (file.indexOf("languages.") > -1) {
|
||||
var lang = file.split(".")[1];
|
||||
console.log(lang);
|
||||
if (lang != defaultLang) {
|
||||
targetLangs.push(lang);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function processFile(filePath, file) {
|
||||
if (filePath.indexOf("index.md") > -1) {
|
||||
if (filePath.indexOf("index.md") > -1) {
|
||||
console.log("processing", filePath);
|
||||
|
||||
console.log("processing", filePath)
|
||||
|
||||
for(var i in targetLangs) {
|
||||
const targetLang = targetLangs[i];
|
||||
var targetFilePath = filePath.replace(".md", "." + targetLang + ".md");
|
||||
//var targetFileName = file.replace(".md", "." + targetLang + ".md");
|
||||
for (var i in targetLangs) {
|
||||
const targetLang = targetLangs[i];
|
||||
var targetFilePath = filePath.replace(".md", "." + targetLang + ".md");
|
||||
//var targetFileName = file.replace(".md", "." + targetLang + ".md");
|
||||
|
||||
if(fs.existsSync(targetFilePath)) {
|
||||
console.log("file already exists", targetFilePath);
|
||||
}else{
|
||||
console.log("creating file", targetFilePath);
|
||||
//fs.symlinkSync(file, targetFilePath, 'junction');
|
||||
fs.copyFileSync(filePath, targetFilePath);
|
||||
}
|
||||
}
|
||||
|
||||
} else
|
||||
return
|
||||
if (fs.existsSync(targetFilePath)) {
|
||||
console.log("file already exists", targetFilePath);
|
||||
} else {
|
||||
console.log("creating file", targetFilePath);
|
||||
//fs.symlinkSync(file, targetFilePath, 'junction');
|
||||
fs.copyFileSync(filePath, targetFilePath);
|
||||
}
|
||||
}
|
||||
} else return;
|
||||
}
|
||||
|
||||
async function processFolder(folderPath) {
|
||||
const files = fs.readdirSync(folderPath);
|
||||
const files = fs.readdirSync(folderPath);
|
||||
|
||||
for (var i in files) {
|
||||
const file = files[i];
|
||||
const filePath = `${folderPath}/${file}`;
|
||||
const isDir = fs.lstatSync(filePath).isDirectory();
|
||||
if (isDir) {
|
||||
await processFolder(filePath);
|
||||
} else {
|
||||
await processFile(filePath, file);
|
||||
}
|
||||
for (var i in files) {
|
||||
const file = files[i];
|
||||
const filePath = `${folderPath}/${file}`;
|
||||
const isDir = fs.lstatSync(filePath).isDirectory();
|
||||
if (isDir) {
|
||||
await processFolder(filePath);
|
||||
} else {
|
||||
await processFile(filePath, file);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function createLinks() {
|
||||
processFolder(contentDir);
|
||||
processFolder(contentDir);
|
||||
}
|
||||
|
||||
readConfigs();
|
||||
createLinks();
|
||||
createLinks();
|
||||
+2
-1
@@ -58,6 +58,7 @@ search:
|
||||
sharing:
|
||||
email: "إرسال عبر البريد الإلكترونى"
|
||||
facebook: "النشر على فيسبوك"
|
||||
line: "شارك على لاين"
|
||||
linkedin: "النشر على لينكدان"
|
||||
pinterest: "النشر على بينترست"
|
||||
reddit: "النشر على ريديت"
|
||||
@@ -67,4 +68,4 @@ shortcode:
|
||||
recent_articles: "تم النشر مؤخرا"
|
||||
|
||||
recent:
|
||||
show_more: "قراءة المزيد"
|
||||
show_more: "قراءة المزيد"
|
||||
+1
-1
@@ -26,7 +26,6 @@ article:
|
||||
this_article: "Тази Статия"
|
||||
related_articles: "Подобни"
|
||||
|
||||
|
||||
author:
|
||||
byline_title: "Автор"
|
||||
|
||||
@@ -60,6 +59,7 @@ search:
|
||||
sharing:
|
||||
email: "Изпрати чрез имейл"
|
||||
facebook: "Сподели на Facebook"
|
||||
line: "Споделяне в LINE"
|
||||
linkedin: "Сподели на LinkedIn"
|
||||
pinterest: "Закачи в Pinterest"
|
||||
reddit: "Добави на Reddit"
|
||||
|
||||
+72
-71
@@ -1,71 +1,72 @@
|
||||
global:
|
||||
language: "BN"
|
||||
|
||||
article:
|
||||
anchor_label: "Anchor"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "সর্বশেষ সম্পাদনার তারিখ: {{ .Date }}"
|
||||
draft: "খসড়া"
|
||||
edit_title: "সম্পাদনা করুন"
|
||||
reading_time:
|
||||
one: "{{ .Count }} মিনিট"
|
||||
other: "{{ .Count }} মিনিট"
|
||||
reading_time_title: "পড়ার সময়"
|
||||
table_of_contents: "বিষয়সূচী"
|
||||
word_count:
|
||||
one: "{{ .Count }} টি শব্দ"
|
||||
other: "{{ .Count }} টি শব্দ"
|
||||
views:
|
||||
one: "{{ .Count }} বার দেখা হয়েছে"
|
||||
other: "{{ .Count }} বার দেখা হয়েছে"
|
||||
likes:
|
||||
one: "{{ .Count }} বার পছন্দ করা হয়েছে"
|
||||
other: "{{ .Count }} বার পছন্দ করা হয়েছে"
|
||||
part_of_series: "This article is part of a series."
|
||||
part: "Part"
|
||||
this_article: "This Article"
|
||||
related_articles: "Related"
|
||||
|
||||
author:
|
||||
byline_title: "লেখক"
|
||||
|
||||
code:
|
||||
copy: "কপি করুন"
|
||||
copied: "কপি হয়ে গেছে"
|
||||
|
||||
error:
|
||||
404_title: "পেজটি খুঁজে পাওয়া যায়নি :confused:"
|
||||
404_error: "Error 404"
|
||||
404_description: "মনে হচ্ছে, আপনার অনুরোধ করা পেজটি খুঁজে পাওয়া যায়নি।"
|
||||
|
||||
footer:
|
||||
dark_appearance: "ডার্ক মোডে স্যুইচ করুন"
|
||||
light_appearance: "লাইট মোডে স্যুইচ করুন"
|
||||
powered_by: "{{ .Hugo }} এবং {{ .Blowfish }} দ্বারা চালিত"
|
||||
|
||||
list:
|
||||
externalurl_title: "অন্য ওয়েবসাইটের লিংক"
|
||||
no_articles: "এখানে তালিকাভুক্ত করার মতো আপাতত কিছুই নেই।"
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "পেজের উপরের দিকে যান"
|
||||
skip_to_main: "মূল বিষয়ে যান"
|
||||
|
||||
search:
|
||||
open_button_title: "খুঁজুন (/)"
|
||||
close_button_title: "বন্ধ করুন (Esc)"
|
||||
input_placeholder: "খুঁজুন"
|
||||
|
||||
sharing:
|
||||
email: "ইমেল করুন"
|
||||
facebook: "ফেসবুকে শেয়ার করুন"
|
||||
linkedin: "লিংকডইনে শেয়ার করুন"
|
||||
pinterest: "পিন্টারেস্টে পিন করুন"
|
||||
reddit: "রেড্ডিটে জমা দিন"
|
||||
twitter: "ট্যুইট করুন"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "সাম্প্রতিক"
|
||||
|
||||
recent:
|
||||
show_more: "আরো দেখুন"
|
||||
global:
|
||||
language: "BN"
|
||||
|
||||
article:
|
||||
anchor_label: "Anchor"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "সর্বশেষ সম্পাদনার তারিখ: {{ .Date }}"
|
||||
draft: "খসড়া"
|
||||
edit_title: "সম্পাদনা করুন"
|
||||
reading_time:
|
||||
one: "{{ .Count }} মিনিট"
|
||||
other: "{{ .Count }} মিনিট"
|
||||
reading_time_title: "পড়ার সময়"
|
||||
table_of_contents: "বিষয়সূচী"
|
||||
word_count:
|
||||
one: "{{ .Count }} টি শব্দ"
|
||||
other: "{{ .Count }} টি শব্দ"
|
||||
views:
|
||||
one: "{{ .Count }} বার দেখা হয়েছে"
|
||||
other: "{{ .Count }} বার দেখা হয়েছে"
|
||||
likes:
|
||||
one: "{{ .Count }} বার পছন্দ করা হয়েছে"
|
||||
other: "{{ .Count }} বার পছন্দ করা হয়েছে"
|
||||
part_of_series: "This article is part of a series."
|
||||
part: "Part"
|
||||
this_article: "This Article"
|
||||
related_articles: "Related"
|
||||
|
||||
author:
|
||||
byline_title: "লেখক"
|
||||
|
||||
code:
|
||||
copy: "কপি করুন"
|
||||
copied: "কপি হয়ে গেছে"
|
||||
|
||||
error:
|
||||
404_title: "পেজটি খুঁজে পাওয়া যায়নি :confused:"
|
||||
404_error: "Error 404"
|
||||
404_description: "মনে হচ্ছে, আপনার অনুরোধ করা পেজটি খুঁজে পাওয়া যায়নি।"
|
||||
|
||||
footer:
|
||||
dark_appearance: "ডার্ক মোডে স্যুইচ করুন"
|
||||
light_appearance: "লাইট মোডে স্যুইচ করুন"
|
||||
powered_by: "{{ .Hugo }} এবং {{ .Blowfish }} দ্বারা চালিত"
|
||||
|
||||
list:
|
||||
externalurl_title: "অন্য ওয়েবসাইটের লিংক"
|
||||
no_articles: "এখানে তালিকাভুক্ত করার মতো আপাতত কিছুই নেই।"
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "পেজের উপরের দিকে যান"
|
||||
skip_to_main: "মূল বিষয়ে যান"
|
||||
|
||||
search:
|
||||
open_button_title: "খুঁজুন (/)"
|
||||
close_button_title: "বন্ধ করুন (Esc)"
|
||||
input_placeholder: "খুঁজুন"
|
||||
|
||||
sharing:
|
||||
email: "ইমেল করুন"
|
||||
facebook: "ফেসবুকে শেয়ার করুন"
|
||||
line: "লাইনে শেয়ার করুন"
|
||||
linkedin: "লিংকডইনে শেয়ার করুন"
|
||||
pinterest: "পিন্টারেস্টে পিন করুন"
|
||||
reddit: "রেড্ডিটে জমা দিন"
|
||||
twitter: "ট্যুইট করুন"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "সাম্প্রতিক"
|
||||
|
||||
recent:
|
||||
show_more: "আরো দেখুন"
|
||||
+2
-1
@@ -62,6 +62,7 @@ search:
|
||||
sharing:
|
||||
email: "Enviar per correu electrònic"
|
||||
facebook: "Compartir amb Facebook"
|
||||
line: "Compartir amb LINE"
|
||||
linkedin: "Compartir amb LinkedIn"
|
||||
pinterest: "Compartir amb Pinterest"
|
||||
reddit: "Publicar a Reddit"
|
||||
@@ -71,4 +72,4 @@ shortcode:
|
||||
recent_articles: "Recent"
|
||||
|
||||
recent:
|
||||
show_more: "Mostrar més"
|
||||
show_more: "Mostrar més"
|
||||
+72
-71
@@ -1,71 +1,72 @@
|
||||
global:
|
||||
language: "CS"
|
||||
|
||||
article:
|
||||
anchor_label: "Kotva"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "Aktualizováno: {{ .Date }}"
|
||||
draft: "Návrh"
|
||||
edit_title: "Upravit"
|
||||
reading_time:
|
||||
one: "{{ .Count }} min"
|
||||
other: "{{ .Count }} min"
|
||||
reading_time_title: "Doba čtení"
|
||||
table_of_contents: "Obsah"
|
||||
word_count:
|
||||
one: "{{ .Count }} slovo"
|
||||
other: "{{ .Count }} slov"
|
||||
views:
|
||||
one: "{{ .Count }} zhlédnutí"
|
||||
other: "{{ .Count }} zhlédnutí"
|
||||
likes:
|
||||
one: "{{ .Count }} líbí se mi"
|
||||
other: "{{ .Count }} líbí se mi"
|
||||
part_of_series: "Tento článek patří do série."
|
||||
part: "Část"
|
||||
this_article: "Tento článek"
|
||||
related_articles: "Related"
|
||||
|
||||
author:
|
||||
byline_title: "Autor"
|
||||
|
||||
code:
|
||||
copy: "Kopírovat"
|
||||
copied: "Zkopírováno"
|
||||
|
||||
error:
|
||||
404_title: "Stránka nenalezena :confused:"
|
||||
404_error: "Error 404"
|
||||
404_description: "Zdá se, že stránka neexistuje."
|
||||
|
||||
footer:
|
||||
dark_appearance: "Přepnout na tmavý režim"
|
||||
light_appearance: "Přepnout na světlý režim"
|
||||
powered_by: "Postaveno na technologiích {{ .Hugo }} & {{ .Theme }}"
|
||||
|
||||
list:
|
||||
externalurl_title: "Odkaz na externí stránku"
|
||||
no_articles: "Tato sekce zatím neobsahuje žádné články."
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "Nahoru"
|
||||
skip_to_main: "Přeskočit na hlavní obsah"
|
||||
|
||||
search:
|
||||
open_button_title: "Vyhledat (/)"
|
||||
close_button_title: "Zavřít (Esc)"
|
||||
input_placeholder: "Hledat"
|
||||
|
||||
sharing:
|
||||
email: "Poslat emailem"
|
||||
facebook: "Sdílet na Facebook"
|
||||
linkedin: "Sdílet na LinkedIn"
|
||||
pinterest: "Připnout na Pinterest"
|
||||
reddit: "Přidat na Reddit"
|
||||
twitter: "Tweet na Twitter"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "Nedávné"
|
||||
|
||||
recent:
|
||||
show_more: "Zobrazit další"
|
||||
global:
|
||||
language: "CS"
|
||||
|
||||
article:
|
||||
anchor_label: "Kotva"
|
||||
date: "{{ .Date }}"
|
||||
date_updated: "Aktualizováno: {{ .Date }}"
|
||||
draft: "Návrh"
|
||||
edit_title: "Upravit"
|
||||
reading_time:
|
||||
one: "{{ .Count }} min"
|
||||
other: "{{ .Count }} min"
|
||||
reading_time_title: "Doba čtení"
|
||||
table_of_contents: "Obsah"
|
||||
word_count:
|
||||
one: "{{ .Count }} slovo"
|
||||
other: "{{ .Count }} slov"
|
||||
views:
|
||||
one: "{{ .Count }} zhlédnutí"
|
||||
other: "{{ .Count }} zhlédnutí"
|
||||
likes:
|
||||
one: "{{ .Count }} líbí se mi"
|
||||
other: "{{ .Count }} líbí se mi"
|
||||
part_of_series: "Tento článek patří do série."
|
||||
part: "Část"
|
||||
this_article: "Tento článek"
|
||||
related_articles: "Related"
|
||||
|
||||
author:
|
||||
byline_title: "Autor"
|
||||
|
||||
code:
|
||||
copy: "Kopírovat"
|
||||
copied: "Zkopírováno"
|
||||
|
||||
error:
|
||||
404_title: "Stránka nenalezena :confused:"
|
||||
404_error: "Error 404"
|
||||
404_description: "Zdá se, že stránka neexistuje."
|
||||
|
||||
footer:
|
||||
dark_appearance: "Přepnout na tmavý režim"
|
||||
light_appearance: "Přepnout na světlý režim"
|
||||
powered_by: "Postaveno na technologiích {{ .Hugo }} & {{ .Theme }}"
|
||||
|
||||
list:
|
||||
externalurl_title: "Odkaz na externí stránku"
|
||||
no_articles: "Tato sekce zatím neobsahuje žádné články."
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "Nahoru"
|
||||
skip_to_main: "Přeskočit na hlavní obsah"
|
||||
|
||||
search:
|
||||
open_button_title: "Vyhledat (/)"
|
||||
close_button_title: "Zavřít (Esc)"
|
||||
input_placeholder: "Hledat"
|
||||
|
||||
sharing:
|
||||
email: "Poslat emailem"
|
||||
facebook: "Sdílet na Facebook"
|
||||
line: "Sdílejte na LINE"
|
||||
linkedin: "Sdílet na LinkedIn"
|
||||
pinterest: "Připnout na Pinterest"
|
||||
reddit: "Přidat na Reddit"
|
||||
twitter: "Tweet na Twitter"
|
||||
|
||||
shortcode:
|
||||
recent_articles: "Nedávné"
|
||||
|
||||
recent:
|
||||
show_more: "Zobrazit další"
|
||||
+8
-8
@@ -13,8 +13,8 @@ article:
|
||||
reading_time_title: "Lesezeit"
|
||||
table_of_contents: "Inhaltsverzeichnis"
|
||||
word_count:
|
||||
one: "{{ .Count }} Wort"
|
||||
other: "{{ .Count }} Wörter"
|
||||
one: "{{ .Count }} Wort"
|
||||
other: "{{ .Count }} Wörter"
|
||||
part_of_series: "Dieser Artikel ist Teil einer Serie."
|
||||
part: "Teil"
|
||||
this_article: "Dieser Artikel"
|
||||
@@ -42,17 +42,18 @@ list:
|
||||
no_articles: "Es gibt hier noch keine Beiträge."
|
||||
|
||||
nav:
|
||||
scroll_to_top_title: "Zum Anfang scrollen"
|
||||
skip_to_main: "Zum Hauptinhalt springen"
|
||||
scroll_to_top_title: "Zum Anfang scrollen"
|
||||
skip_to_main: "Zum Hauptinhalt springen"
|
||||
|
||||
search:
|
||||
open_button_title: "Suche (/)"
|
||||
close_button_title: "Schließen (Esc)"
|
||||
input_placeholder: "Suchen"
|
||||
open_button_title: "Suche (/)"
|
||||
close_button_title: "Schließen (Esc)"
|
||||
input_placeholder: "Suchen"
|
||||
|
||||
sharing:
|
||||
email: "Per E-Mail teilen"
|
||||
facebook: "Auf Facebook teilen"
|
||||
line: "Auf LINE teilen"
|
||||
linkedin: "Auf LinkedIn teilen"
|
||||
pinterest: "Auf Pinterest pinnen"
|
||||
reddit: "An Reddit senden"
|
||||
@@ -61,6 +62,5 @@ sharing:
|
||||
shortcode:
|
||||
recent_articles: "Neue Beiträge"
|
||||
|
||||
|
||||
recent:
|
||||
show_more: "Zeige Mehr"
|
||||
@@ -62,6 +62,7 @@ search:
|
||||
sharing:
|
||||
email: "Send via email"
|
||||
facebook: "Share on Facebook"
|
||||
line: "Share on LINE"
|
||||
linkedin: "Share on LinkedIn"
|
||||
pinterest: "Pin on Pinterest"
|
||||
reddit: "Submit to Reddit"
|
||||
|
||||
@@ -62,6 +62,7 @@ search:
|
||||
sharing:
|
||||
email: "Sendi per retpoŝto"
|
||||
facebook: "Konigi en Facebook"
|
||||
line: "Konigi en LINE"
|
||||
linkedin: "Konigi en LinkedIn"
|
||||
pinterest: "Alpingli sur Pinterest"
|
||||
reddit: "Sendi al Reddit"
|
||||
|
||||
+2
-1
@@ -62,6 +62,7 @@ search:
|
||||
sharing:
|
||||
email: "Enviar vía email"
|
||||
facebook: "Compartir en Facebook"
|
||||
line: "Compartir en LINE"
|
||||
linkedin: "Compartir en LinkedIn"
|
||||
pinterest: "Pinear en Pinterest"
|
||||
reddit: "Publicar en Reddit"
|
||||
@@ -71,4 +72,4 @@ shortcode:
|
||||
recent_articles: "Reciente"
|
||||
|
||||
recent:
|
||||
show_more: "Mostrar más"
|
||||
show_more: "Mostrar más"
|
||||
@@ -62,6 +62,7 @@ search:
|
||||
sharing:
|
||||
email: "ارسال ایمیل"
|
||||
facebook: "اشتراک گذاری در فیسبوک"
|
||||
line: "اشتراک گذاری در لاین"
|
||||
linkedin: "اشتراک گذاری در لینکداین"
|
||||
pinterest: "اشتراک گذاری در پینترست"
|
||||
reddit: "اشتراک گذاری در ردیت"
|
||||
|
||||
+2
-1
@@ -53,6 +53,7 @@ search:
|
||||
sharing:
|
||||
email: "Lähetä sähköpostilla"
|
||||
facebook: "Jaa Facebookissa"
|
||||
line: "Jaa LINEssä"
|
||||
linkedin: "Jaa LinkedInissä"
|
||||
pinterest: "Kiinnitä Pinterestiin"
|
||||
reddit: "Lähetä Reddittiin"
|
||||
@@ -62,4 +63,4 @@ shortcode:
|
||||
recent_articles: "Viimeaikaiset"
|
||||
|
||||
recent:
|
||||
show_more: "Näytä Lisää"
|
||||
show_more: "Näytä Lisää"
|
||||
@@ -56,6 +56,7 @@ search:
|
||||
sharing:
|
||||
email: "Envoyer par email"
|
||||
facebook: "Poster sur Facebook"
|
||||
line: "Partager sur LINE"
|
||||
linkedin: "Poster sur LinkedIn"
|
||||
pinterest: "Poster sur Pinterest"
|
||||
reddit: "Poster sur Reddit"
|
||||
|
||||
@@ -62,6 +62,7 @@ search:
|
||||
sharing:
|
||||
email: "Enviar vía email"
|
||||
facebook: "Compartir en Facebook"
|
||||
line: "Compartir en LINE"
|
||||
linkedin: "Compartir en LinkedIn"
|
||||
pinterest: "Pinear en Pinterest"
|
||||
reddit: "Publicar en Reddit"
|
||||
|
||||
+2
-1
@@ -53,6 +53,7 @@ search:
|
||||
sharing:
|
||||
email: "שליחת אימייל"
|
||||
facebook: "שיתוף בפייסבוק"
|
||||
line: "שיתוף בליין"
|
||||
linkedin: "שיתוף בלינקדאין"
|
||||
pinterest: "שיתוף בפינטרסט"
|
||||
reddit: "שליחה לרדיט"
|
||||
@@ -62,4 +63,4 @@ shortcode:
|
||||
recent_articles: "חדשים"
|
||||
|
||||
recent:
|
||||
show_more: "להראות יותר"
|
||||
show_more: "להראות יותר"
|
||||
@@ -59,6 +59,7 @@ search:
|
||||
sharing:
|
||||
email: "Pošalji putem e-pošte"
|
||||
facebook: "Podijeli na Facebook"
|
||||
line: "Podijeli na LINE"
|
||||
linkedin: "Podijeli na LinkedIn"
|
||||
pinterest: "Podijeli na Pinterest"
|
||||
reddit: "Objavi na Reddit"
|
||||
|
||||
+2
-1
@@ -53,6 +53,7 @@ search:
|
||||
sharing:
|
||||
email: "Küldés emailben"
|
||||
facebook: "Megosztás a Facebookon"
|
||||
line: "Megosztás a LINE-on"
|
||||
linkedin: "Megosztás a LinkedInen"
|
||||
pinterest: "Megosztás a Pinteresten"
|
||||
reddit: "Megosztás a Redditen"
|
||||
@@ -62,4 +63,4 @@ shortcode:
|
||||
recent_articles: "Friss"
|
||||
|
||||
recent:
|
||||
show_more: "Mutass Többet"
|
||||
show_more: "Mutass Többet"
|
||||
@@ -59,6 +59,7 @@ search:
|
||||
sharing:
|
||||
email: "Kirim lewat surel"
|
||||
facebook: "Bagikan ke Facebook"
|
||||
line: "Bagikan ke LINE"
|
||||
linkedin: "Bagikan ke LinkedIn"
|
||||
pinterest: "Pin di Pinterest"
|
||||
reddit: "Kirim ke Reddit"
|
||||
|
||||
+2
-1
@@ -53,6 +53,7 @@ search:
|
||||
sharing:
|
||||
email: "Invia tramite email"
|
||||
facebook: "Condividi su Facebook"
|
||||
line: "Condividi su LINE"
|
||||
linkedin: "Condividi su LinkedIn"
|
||||
pinterest: "Pinna su Pinterest"
|
||||
reddit: "Invia a Reddit"
|
||||
@@ -62,4 +63,4 @@ shortcode:
|
||||
recent_articles: "Recenti"
|
||||
|
||||
recent:
|
||||
show_more: "Mostra di Più"
|
||||
show_more: "Mostra di Più"
|
||||
Loaded 100 of 208 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user