First commit
Delete exampleSite Add initial content, images & docker-compose.yml Use extend-head.html for analytics Set remote url to gitea.novicelab.io
10
.editorconfig
Normal file
@@ -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
|
||||||
1
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
* @nunocoracao
|
||||||
121
.github/ISSUE_TEMPLATE/01-bug-report.yml
vendored
Normal file
@@ -0,0 +1,121 @@
|
|||||||
|
name: Bug Report
|
||||||
|
description: Create a report to help us improve
|
||||||
|
title: "[Bug]: "
|
||||||
|
labels: ["bug"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for raising a bug report! Please fill out the following template to help us understand the issue you are experiencing.
|
||||||
|
|
||||||
|
You can view the contributing guidelines for this project at: <https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md>
|
||||||
|
|
||||||
|
- 🐛 **Bug reports & issues:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ideas for new features:** Open a discussion on [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **General questions:** Head to [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- type: checkboxes
|
||||||
|
id: issue-check
|
||||||
|
attributes:
|
||||||
|
label: Issue Check
|
||||||
|
description: We ask that you [check existing Issues](https://github.com/nunocoracao/blowfish/issues) to see if your bug report has already been raised.
|
||||||
|
options:
|
||||||
|
- label: I have checked existing Issues and I feel this bug has not been raised
|
||||||
|
required: true
|
||||||
|
- type: checkboxes
|
||||||
|
id: hugo-version-check
|
||||||
|
attributes:
|
||||||
|
label: Hugo Version Check
|
||||||
|
description: Please confirm that your Hugo version is within the supported range specified in the [config](https://github.com/nunocoracao/blowfish/blob/main/config.toml)
|
||||||
|
options:
|
||||||
|
- label: My Hugo version is within the supported range
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: describe-bug
|
||||||
|
attributes:
|
||||||
|
label: Describe the Bug
|
||||||
|
description: A clear and concise description of what the bug is.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: reproduce
|
||||||
|
attributes:
|
||||||
|
label: To Reproduce
|
||||||
|
description: |
|
||||||
|
Please provide the steps to reproduce the behaviour.
|
||||||
|
placeholder: |
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '...'
|
||||||
|
3. Scroll down to '...'
|
||||||
|
4. *See error*
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: expected
|
||||||
|
attributes:
|
||||||
|
label: Expected Behaviour
|
||||||
|
description: A clear and concise description of what you expected to happen.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: screenshots
|
||||||
|
attributes:
|
||||||
|
label: Screenshots
|
||||||
|
description: |
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
*Click inside the textbox to highlight it, then you can upload screenshots by dragging them in.*
|
||||||
|
*Alternatively, you can click on "Paste, drop or click to add files" or "Add files" below the textbox.*
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: platform
|
||||||
|
attributes:
|
||||||
|
label: Platform
|
||||||
|
description: |
|
||||||
|
Add information associated with the platform you are experience this bug on.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
- OS: [e.g. iOS, MacOS, Windows, Linux]
|
||||||
|
- Browser: [e.g. chrome, safari, edge, firefox]
|
||||||
|
- Version [e.g. 22, Version 138.0.3351.77]
|
||||||
|
value: |
|
||||||
|
- OS:
|
||||||
|
- Browser:
|
||||||
|
- Version:
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: hugo-version
|
||||||
|
attributes:
|
||||||
|
label: Hugo Version
|
||||||
|
description: Run `hugo version` and paste the output below.
|
||||||
|
placeholder: hugo v0.147.6-0a5fd8ebb8e2ca798515e8c564c14e32db3b4127 linux/amd64 BuildDate=2025-05-27T11:17:16Z VendorInfo=gohugoio
|
||||||
|
render: console
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: blowfish-version
|
||||||
|
attributes:
|
||||||
|
label: Blowfish Version
|
||||||
|
description: Log the version of Blowfish you are running.
|
||||||
|
placeholder: v2.88.1
|
||||||
|
render: console
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional Context
|
||||||
|
description: |
|
||||||
|
Add any other context about the problem here. Are there existing GitHub Issues/Discussions that you feel are related?
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: checkboxes
|
||||||
|
id: terms
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nunocoracao/blowfish?tab=coc-ov-file#readme).
|
||||||
|
options:
|
||||||
|
- label: I agree to follow this project's Code of Conduct
|
||||||
|
required: true
|
||||||
|
|
||||||
60
.github/ISSUE_TEMPLATE/02-feature-request.yml
vendored
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
name: Feature Request
|
||||||
|
description: Suggest an idea for this project
|
||||||
|
title: "[Feature]: "
|
||||||
|
labels: ["enhancement"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for raising a feature request! Please fill out the following template to help us understand the feature you are requesting.
|
||||||
|
|
||||||
|
You can view the contributing guidelines for this project at: <https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md>
|
||||||
|
|
||||||
|
- 🐛 **Bug reports & issues:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ideas for new features:** Open a discussion on [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **General questions:** Head to [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- type: checkboxes
|
||||||
|
id: issue-check
|
||||||
|
attributes:
|
||||||
|
label: Issue Check
|
||||||
|
description: We ask that you [check existing Issues](https://github.com/nunocoracao/blowfish/issues) to see if your feature request has already been raised.
|
||||||
|
options:
|
||||||
|
- label: I have checked existing Issues and I feel this feature request has not been raised
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: related-problem
|
||||||
|
attributes:
|
||||||
|
label: Is your feature request related to a problem?
|
||||||
|
description: A clear and concise description of what the problem is.
|
||||||
|
placeholder: Ex. I'm always frustrated when [...]
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: solution
|
||||||
|
attributes:
|
||||||
|
label: Describe the solution you'd like
|
||||||
|
description: A clear and concise description of what you want to happen.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: alternatives
|
||||||
|
attributes:
|
||||||
|
label: Describe the alternatives you've considered
|
||||||
|
description: A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: Additional context
|
||||||
|
description: Add any other context or screenshots about the feature request here. Are there existing GitHub Issues/Discussions that you feel are related?
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: checkboxes
|
||||||
|
id: terms
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/nunocoracao/blowfish?tab=coc-ov-file#readme).
|
||||||
|
options:
|
||||||
|
- label: I agree to follow this project's Code of Conduct
|
||||||
|
required: true
|
||||||
22
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
blank_issues_enabled: true
|
||||||
|
contact_links:
|
||||||
|
- name: Contributing Guidelines
|
||||||
|
url: https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md
|
||||||
|
about: Read the contributing guidelines for this project.
|
||||||
|
|
||||||
|
- name: Blowfish Code of Conduct
|
||||||
|
url: https://github.com/nunocoracao/blowfish?tab=coc-ov-file#readme
|
||||||
|
about: View the Code of Conduct for this project.
|
||||||
|
|
||||||
|
- name: Ideas for New Features
|
||||||
|
url: https://github.com/nunocoracao/blowfish/discussions
|
||||||
|
about: Open a discussion using GitHub Discussions.
|
||||||
|
|
||||||
|
- name: General Questions
|
||||||
|
url: https://github.com/nunocoracao/blowfish/discussions
|
||||||
|
about: Open a discussion using GitHub Discussions.
|
||||||
|
|
||||||
|
- name: Blowfish Homepage
|
||||||
|
url: https://blowfish.page/
|
||||||
|
about: Visit the homepage for more information about Blowfish.
|
||||||
|
|
||||||
7
.github/PULL_REQUEST_TEMPLATE/pull_request_template.md
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
## Describe your changes
|
||||||
|
|
||||||
|
## Issue ticket number and link
|
||||||
|
|
||||||
|
## Checklist before requesting a review
|
||||||
|
- [ ] I have performed a self-review of my code
|
||||||
|
- [ ] Will this be part of a product update? If yes, please write one phrase about this update.
|
||||||
25
.github/dependabot.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# To get started with Dependabot version updates, you'll need to specify which
|
||||||
|
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||||
|
|
||||||
|
version: 2
|
||||||
|
updates:
|
||||||
|
- package-ecosystem: "npm"
|
||||||
|
directory: "/"
|
||||||
|
target-branch: "dev"
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
|
day: "wednesday"
|
||||||
|
commit-message:
|
||||||
|
prefix: "📌"
|
||||||
|
labels:
|
||||||
|
- "dependencies"
|
||||||
|
- package-ecosystem: "github-actions"
|
||||||
|
directory: "/"
|
||||||
|
target-branch: "dev"
|
||||||
|
schedule:
|
||||||
|
interval: "weekly"
|
||||||
|
day: "wednesday"
|
||||||
|
commit-message:
|
||||||
|
prefix: "👷"
|
||||||
|
labels:
|
||||||
|
- "dependencies"
|
||||||
54
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
name: Build Theme
|
||||||
|
|
||||||
|
on: [pull_request_target]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
ref: "${{ github.head_ref }}"
|
||||||
|
- name: Install dependencies and Build Theme
|
||||||
|
uses: actions/setup-node@v6
|
||||||
|
- run: npm install
|
||||||
|
- run: npm run assets
|
||||||
|
- name: Commit and push Chart.js changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v7
|
||||||
|
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@v7
|
||||||
|
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@v7
|
||||||
|
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@v7
|
||||||
|
with:
|
||||||
|
branch: "${{ github.head_ref }}"
|
||||||
|
push_options: "--dry-run"
|
||||||
|
file_pattern: "assets/lib/mermaid/*"
|
||||||
|
commit_message: "📦 Update packaged Mermaid"
|
||||||
|
- run: npm run build
|
||||||
|
- name: Commit CSS changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v7
|
||||||
|
with:
|
||||||
|
branch: "${{ github.head_ref }}"
|
||||||
|
push_options: "--dry-run"
|
||||||
|
file_pattern: "assets/css/compiled/main.css"
|
||||||
|
commit_message: "💄 Rebuild CSS"
|
||||||
|
- run: git push
|
||||||
21
.github/workflows/create-config-zip.yml
vendored
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
name: Create ZIP
|
||||||
|
on:
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
zip:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v6
|
||||||
|
- run: zip -r config-default.zip config/_default
|
||||||
|
- uses: actions/upload-artifact@v6
|
||||||
|
with:
|
||||||
|
name: config-default
|
||||||
|
path: config-default.zip
|
||||||
|
- name: Upload to release
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
files: config-default.zip
|
||||||
|
tag_name: ${{ github.event.release.tag_name }}
|
||||||
16
.github/workflows/greetings.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
name: Greetings
|
||||||
|
|
||||||
|
on: [pull_request_target, issues]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
greeting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/first-interaction@v3
|
||||||
|
with:
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
issue-message: "Thanks for contributing to Blowfish"
|
||||||
|
pr-message: "Thanks for contributing to Blowfish"
|
||||||
54
.github/workflows/hugo-version-update.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
name: Update Hugo version
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 6 * * *"
|
||||||
|
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
updateBlowfish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out code into the Go module directory
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
ref: dev
|
||||||
|
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
|
||||||
|
|
||||||
|
- name: Check for modified files
|
||||||
|
id: git-check
|
||||||
|
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
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
if: steps.git-check.outputs.modified == 'true'
|
||||||
|
uses: peter-evans/create-pull-request@v8
|
||||||
|
with:
|
||||||
|
commit-message: Update Hugo supported version
|
||||||
|
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
|
||||||
|
branch: hugo-new-version
|
||||||
|
base: dev
|
||||||
68
.github/workflows/pages.yml
vendored
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
# Sample workflow for building and deploying a Hugo site to GitHub Pages
|
||||||
|
name: Blowfish Docs Deploy
|
||||||
|
|
||||||
|
on:
|
||||||
|
# Runs on pushes targeting the default branch
|
||||||
|
push:
|
||||||
|
branches: ["main"]
|
||||||
|
|
||||||
|
# Allows you to run this workflow manually from the Actions tab
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
# Allow one concurrent deployment
|
||||||
|
concurrency:
|
||||||
|
group: "pages"
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
# Default to bash
|
||||||
|
defaults:
|
||||||
|
run:
|
||||||
|
shell: bash
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
# Build job
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
HUGO_VERSION: 0.102.3
|
||||||
|
steps:
|
||||||
|
- name: Install Hugo CLI
|
||||||
|
run: |
|
||||||
|
wget -O ${{ runner.temp }}/hugo.deb https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-64bit.deb \
|
||||||
|
&& sudo dpkg -i ${{ runner.temp }}/hugo.deb
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
- name: Setup Pages
|
||||||
|
id: pages
|
||||||
|
uses: actions/configure-pages@v5
|
||||||
|
- name: Build with Hugo
|
||||||
|
env:
|
||||||
|
# For maximum backward compatibility with Hugo modules
|
||||||
|
HUGO_ENVIRONMENT: production
|
||||||
|
HUGO_ENV: production
|
||||||
|
run: |
|
||||||
|
hugo --minify -s exampleSite --themesDir ../.. -d ../docs --baseURL https://nunocoracao.github.io/blowfish/
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-pages-artifact@v4
|
||||||
|
with:
|
||||||
|
path: ./docs
|
||||||
|
|
||||||
|
# Deployment job
|
||||||
|
deploy:
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: https://nunocoracao.github.io/blowfish/
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
steps:
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: actions/deploy-pages@v4
|
||||||
35
.github/workflows/stale.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
|
||||||
|
#
|
||||||
|
# You can adjust the behavior by modifying this file.
|
||||||
|
# For more information, see:
|
||||||
|
# https://github.com/actions/stale
|
||||||
|
name: Mark stale issues and pull requests
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "0 1 * * *"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v10
|
||||||
|
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
|
||||||
|
exempt-issue-labels: 'keep,security'
|
||||||
27
.github/workflows/test.yml
vendored
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
name: Test Build
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build Example Site
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.workflow }}-${{ github.ref }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Hugo
|
||||||
|
uses: peaceiris/actions-hugo@v3.0.0
|
||||||
|
with:
|
||||||
|
hugo-version: "latest"
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
working-directory: ./exampleSite
|
||||||
|
run:
|
||||||
|
hugo --minify --themesDir ../.. --baseURL
|
||||||
|
https://nunocoracao.github.io/blowfish/
|
||||||
45
.gitignore
vendored
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# Hugo and Blowfish
|
||||||
|
public/
|
||||||
|
resources/
|
||||||
|
exampleSite/resources/
|
||||||
|
|
||||||
|
# Binaries for programs and plugins
|
||||||
|
*.exe
|
||||||
|
*.exe~
|
||||||
|
*.dll
|
||||||
|
*.so
|
||||||
|
*.dylib
|
||||||
|
|
||||||
|
# Test binary, built with `go test -c`
|
||||||
|
*.test
|
||||||
|
|
||||||
|
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||||
|
*.out
|
||||||
|
|
||||||
|
# Dependency directories (remove the comment below to include it)
|
||||||
|
# vendor/
|
||||||
|
|
||||||
|
#others
|
||||||
|
node_modules
|
||||||
|
.hugo_build.lock
|
||||||
|
|
||||||
|
# Firebase scripts
|
||||||
|
scripts/serviceAccountKey.json
|
||||||
|
scripts/node_modules/
|
||||||
|
scripts/*.csv
|
||||||
|
|
||||||
|
# Google Analytics export (temporary)
|
||||||
|
ga-pageviews.csv
|
||||||
|
*.csv
|
||||||
|
|
||||||
|
# OS generated files
|
||||||
|
.DS_Store
|
||||||
|
.DS_Store?
|
||||||
|
._*
|
||||||
|
.Spotlight-V100
|
||||||
|
.Trashes
|
||||||
|
.idea
|
||||||
|
.Ulysses-Group.plist
|
||||||
|
.Ulysses-Settings.plist
|
||||||
|
|
||||||
|
.env
|
||||||
34
.prettierignore
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# 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
|
||||||
|
layouts/_default/index.json
|
||||||
|
layouts/shortcodes/screenshot.html
|
||||||
|
layouts/shortcodes/figure.html
|
||||||
|
layouts/partials/hugo-embedded/shortcodes/figure-default.html
|
||||||
|
|
||||||
|
assets/js/appearance.js
|
||||||
44
.prettierrc
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"singleQuote": false,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"useTabs": false,
|
||||||
|
"semi": true,
|
||||||
|
"trailingComma": "all",
|
||||||
|
"proseWrap": "always",
|
||||||
|
"plugins": [
|
||||||
|
"prettier-plugin-go-template"
|
||||||
|
],
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
258
.vscode/blowfish.code-snippets
vendored
Normal file
@@ -0,0 +1,258 @@
|
|||||||
|
{
|
||||||
|
"alert": {
|
||||||
|
"prefix": ["BFS-alert", "HSC-alert", "alert"],
|
||||||
|
"body": [
|
||||||
|
"{{< alert ${1| ,icon=\"iconName\"|}${2| , iconColor=\"iconColor\"|}${3| , cardColor=\"cardColor\"|}${4| , textColor=\"textColor\"|} >}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{< /alert >}}"
|
||||||
|
],
|
||||||
|
"description": "Outputs its contents as a stylised message box within your article. Blowfish alert Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#alert ",
|
||||||
|
},
|
||||||
|
"article": {
|
||||||
|
"prefix": ["BFS-article", "HSC-article", "article"],
|
||||||
|
"body": [
|
||||||
|
"{{< article link=\"${1:RelPermalink_Of_Target_Article}\">}}",
|
||||||
|
"$0"
|
||||||
|
],
|
||||||
|
"description": " Embed a single article into a markdown file. The link to the file should be the .RelPermalink of the file to be embedded. Blowfish article Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#article ",
|
||||||
|
},
|
||||||
|
"badge": {
|
||||||
|
"prefix": ["BFS-badge", "HSC-badge", "badge"],
|
||||||
|
"body": [
|
||||||
|
"{{< badge >}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{< /badge >}}"
|
||||||
|
],
|
||||||
|
"description": "Outputs a styled badge component which is useful for displaying metadata. Blowfish badge Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#badge ",
|
||||||
|
},
|
||||||
|
"button": {
|
||||||
|
"prefix": ["BFS-button", "HSC-button", "button"],
|
||||||
|
"body": [
|
||||||
|
"{{< button href=\"${1:url}\" target=\"${2:target}\" >}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{< /button >}}"
|
||||||
|
],
|
||||||
|
"description": "Output a styled button component which can be used to highlight a primary action. Blowfish button Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#button ",
|
||||||
|
},
|
||||||
|
"carousel": {
|
||||||
|
"prefix": ["BFS-carousel", "HSC-carousel", "carousel"],
|
||||||
|
"body": [
|
||||||
|
"{{< carousel images=\"{${1:regex matching images }}\" aspectRatio=\"${2|16-9,21-9,32-9|}\" interval=\"${3:2000}\" >}}",
|
||||||
|
"$0"
|
||||||
|
],
|
||||||
|
"description": "Showcase multiple images in an interactive and visually appealing way. Blowfish carousel Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#carousel ",
|
||||||
|
},
|
||||||
|
"chart-bar": {
|
||||||
|
"prefix": ["BFS-chart-bar", "HSC-chart-bar", "chart-bar"],
|
||||||
|
"body": [
|
||||||
|
"{{< chart >}} $0<!-- https://www.chartjs.org/docs/latest/samples/information.html -->",
|
||||||
|
"type: 'bar',\r\ndata: {\r\n labels: ['January', 'February', 'March'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.2)',\r\n 'rgba(255, 159, 64, 0.2)',\r\n 'rgba(255, 205, 86, 0.2)'\r\n ],\r\n borderColor: [ \r\n 'rgb(255, 99, 132)',\r\n 'rgb(255, 159, 64)',\r\n 'rgb(255, 205, 86)'\r\n ],\r\n borderWidth: 1\r\n }]\r\n}"
|
||||||
|
"{{< /chart >}}"
|
||||||
|
],
|
||||||
|
"description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ",
|
||||||
|
},
|
||||||
|
"chart-doughnut": {
|
||||||
|
"prefix": ["BFS-chart-doughnut", "HSC-chart-doughnut", "chart-doughnut"],
|
||||||
|
"body": [
|
||||||
|
"{{< chart >}} $0<!-- https://www.chartjs.org/docs/latest/samples/information.html -->",
|
||||||
|
"type: 'doughnut',\r\ndata: {\r\n labels: ['Red', 'Blue', 'Yellow'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [300, 50, 100],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.7)',\r\n 'rgba(54, 162, 235, 0.7)',\r\n 'rgba(255, 205, 86, 0.7)'\r\n ],\r\n borderWidth: 0,\r\n hoverOffset: 4\r\n }]\r\n}",
|
||||||
|
"{{< /chart >}}"
|
||||||
|
],
|
||||||
|
"description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ",
|
||||||
|
},
|
||||||
|
"chart-line": {
|
||||||
|
"prefix": ["BFS-chart-line", "HSC-chart-line", "chart-line"],
|
||||||
|
"body": [
|
||||||
|
"{{< chart >}} $0<!-- https://www.chartjs.org/docs/latest/samples/information.html -->",
|
||||||
|
"type: 'line',\r\ndata: {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80, 81, 56, 55, 40],\r\n tension: 0.2\r\n }]\r\n}",
|
||||||
|
"{{< /chart >}}"
|
||||||
|
],
|
||||||
|
"description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ",
|
||||||
|
},
|
||||||
|
"chart": {
|
||||||
|
"prefix": ["BFS-chart", "HSC-chart", "chart"],
|
||||||
|
"body": [
|
||||||
|
"{{< chart >}} $0<!-- https://www.chartjs.org/docs/latest/samples/information.html -->",
|
||||||
|
"type: 'bar',\r\ndata: {\r\n labels: ['January', 'February', 'March'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.2)',\r\n 'rgba(255, 159, 64, 0.2)',\r\n 'rgba(255, 205, 86, 0.2)'\r\n ],\r\n borderColor: [ \r\n 'rgb(255, 99, 132)',\r\n 'rgb(255, 159, 64)',\r\n 'rgb(255, 205, 86)'\r\n ],\r\n borderWidth: 1\r\n }]\r\n}",
|
||||||
|
"type: 'doughnut',\r\ndata: {\r\n labels: ['Red', 'Blue', 'Yellow'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [300, 50, 100],\r\n backgroundColor: [\r\n 'rgba(255, 99, 132, 0.7)',\r\n 'rgba(54, 162, 235, 0.7)',\r\n 'rgba(255, 205, 86, 0.7)'\r\n ],\r\n borderWidth: 0,\r\n hoverOffset: 4\r\n }]\r\n}",
|
||||||
|
"type: 'line',\r\ndata: {\r\n labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],\r\n datasets: [{\r\n label: 'My First Dataset',\r\n data: [65, 59, 80, 81, 56, 55, 40],\r\n tension: 0.2\r\n }]\r\n}",
|
||||||
|
"{{< /chart >}}"
|
||||||
|
],
|
||||||
|
"description": "Use the Chart.js library to embed charts into articles using simple structured data. Blowfish chart Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#chart ",
|
||||||
|
},
|
||||||
|
"figure": {
|
||||||
|
"prefix": ["BFS-figure", "HSC-figure", "figure"],
|
||||||
|
"body": [
|
||||||
|
"{{< figure src=\"${1:asset-src}\"${2| , alt=\"2:alt text\"|}${3| , caption=\"MD String to display beneath asset\"|}${4| , class=\"CSS Class to add to asset\"|}${5| , href=\"url to link asset to\"|}${6| , nozoom=true, nozoom=false|}${7| , default=true|} >}}",
|
||||||
|
],
|
||||||
|
"description": "Add images to content. Blowfish figure Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#figure ",
|
||||||
|
},
|
||||||
|
"gallery": {
|
||||||
|
"prefix": ["BFS-gallery", "HSC-gallery", "gallery"],
|
||||||
|
"body": [
|
||||||
|
"{{< gallery >}}",
|
||||||
|
"<img src=\"image-uri-here\" class=\"${1|grid-w5,grid-w10,grid-w15,grid-w20,grid-w25,grid-w30,grid-w33,grid-w35,grid-w40,grid-w45,grid-w50,grid-w55,grid-w60,grid-w65,grid-w66,grid-w70,grid-w75,grid-w80,grid-w85,grid-w90,grid-w95,grid-w100|}\" />",
|
||||||
|
"<img src=\"image-uri-here\" class=\"grid-w50 md:grid-w33 xl:grid-w25\" />",
|
||||||
|
"$0",
|
||||||
|
"{{< /gallery >}}"
|
||||||
|
],
|
||||||
|
"description": "Showcase multiple images at once, in a responsive manner with more varied and interesting layouts. Blowfish gallery Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#gallery ",
|
||||||
|
},
|
||||||
|
"github": {
|
||||||
|
"prefix": ["BFS-github", "HSC-github", "github"],
|
||||||
|
"body": [
|
||||||
|
"{{< github repo=\"${1:nunocoracao/blowfish}\" >}}$0",
|
||||||
|
],
|
||||||
|
"description": "Quickly link a github repository. Blowfish github Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#github ",
|
||||||
|
},
|
||||||
|
"gitlab": {
|
||||||
|
"prefix": ["BFS-gitlab", "HSC-gitlab", "gitlab"],
|
||||||
|
"body": [
|
||||||
|
"{{< gitlab projectID=\"${1:278964}\"${2| , baseURL=\"https://gitlab.com\"|}$0 >}}",
|
||||||
|
],
|
||||||
|
"description": "Quickly link a GitLab Project. Blowfish gitlab Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#gitlab ",
|
||||||
|
},
|
||||||
|
"icon": {
|
||||||
|
"prefix": ["BFS-icon", "HSC-icon", "icon"],
|
||||||
|
"body": [
|
||||||
|
"{{< icon \"${1:star}$0\" >}}",
|
||||||
|
],
|
||||||
|
"description": "Output an SVG icon. Blowfish icon Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#icon ",
|
||||||
|
},
|
||||||
|
"katex": {
|
||||||
|
"prefix": ["BFS-katex", "HSC-katex", "katex"],
|
||||||
|
"body": [
|
||||||
|
"{{< katex >}}",
|
||||||
|
"$0"
|
||||||
|
],
|
||||||
|
"description": "Add mathematical expressions to article content using the KaTeX package. Blowfish katex Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#katex ",
|
||||||
|
},
|
||||||
|
"lead": {
|
||||||
|
"prefix": ["BFS-lead", "HSC-lead", "lead"],
|
||||||
|
"body": [
|
||||||
|
"{{< lead >}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{< /lead >}}"
|
||||||
|
],
|
||||||
|
"description": "Bring emphasis to the start of an article. Blowfish lead Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#lead ",
|
||||||
|
},
|
||||||
|
"list": {
|
||||||
|
"prefix": ["BFS-list", "HSC-list", "list"],
|
||||||
|
"body": [
|
||||||
|
"{{< list limit=\"${1:5}\"${2| , title=\"Recent\"|}${3| , where=\"Type\"|}${4| ,value=\"article\"|} >}}",
|
||||||
|
"{{/* The where and value values are used in the following query where .Site.RegularPages $where $value in the code of the shortcode. See Hugo Docs: https://gohugo.io/variables/page/ */}} $0",
|
||||||
|
],
|
||||||
|
"description": "Display a list of recent articles. Blowfish list Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#list ",
|
||||||
|
},
|
||||||
|
"ltr": {
|
||||||
|
"prefix": ["BFS-ltr", "HSC-ltr", "ltr"],
|
||||||
|
"body": [
|
||||||
|
"{{% ltr %}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{% /ltr %}}"
|
||||||
|
],
|
||||||
|
"description": "Allows you to mix your contents' reading direction. Blowfish ltr Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#ltr ",
|
||||||
|
},
|
||||||
|
"mermaid": {
|
||||||
|
"prefix": ["BFS-mermaid", "HSC-mermaid", "mermaid"],
|
||||||
|
"body": [
|
||||||
|
"{{< mermaid >}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{< /mermaid >}}"
|
||||||
|
],
|
||||||
|
"description": "Draw detailed diagrams and visualisations using text. Blowfish mermaid Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#mermaid ",
|
||||||
|
},
|
||||||
|
"rtl": {
|
||||||
|
"prefix": ["BFS-rtl", "HSC-rtl", "rtl"],
|
||||||
|
"body": [
|
||||||
|
"{{% rtl %}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{% /rtl %}}"
|
||||||
|
],
|
||||||
|
"description": "allows you to mix your contents. Blowfish rtl Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#rtl ",
|
||||||
|
},
|
||||||
|
"swatches": {
|
||||||
|
"prefix": ["BFS-swatches", "HSC-swatches", "swatches"],
|
||||||
|
"body": [
|
||||||
|
"{{< swatches \"#${1:00ff00}\"${2| , \"#0000FF\"|}${3| , \"#FF00FF\"|} >}}$0",
|
||||||
|
],
|
||||||
|
"description": "Output a set of up to three different colors. Blowfish swatches Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#swatches ",
|
||||||
|
},
|
||||||
|
"Tabs - Basic": {
|
||||||
|
"prefix": "tabs",
|
||||||
|
"body": [
|
||||||
|
"{{< tabs >}}",
|
||||||
|
"",
|
||||||
|
" {{< tab label=\"${1:Tab 1}\" >}}",
|
||||||
|
" $2",
|
||||||
|
" {{< /tab >}}",
|
||||||
|
"",
|
||||||
|
" {{< tab label=\"${3:Tab 2}\" >}}",
|
||||||
|
" $4",
|
||||||
|
" {{< /tab >}}",
|
||||||
|
"",
|
||||||
|
"{{< /tabs >}}"
|
||||||
|
],
|
||||||
|
"description": "Insert Hugo tabs shortcode"
|
||||||
|
},
|
||||||
|
"Tabs - Full Options": {
|
||||||
|
"prefix": "tabsfull",
|
||||||
|
"body": [
|
||||||
|
"{{< tabs group=\"${1:group-name}\" default=\"${2:Default Tab}\" >}}",
|
||||||
|
"",
|
||||||
|
" {{< tab label=\"${3:Tab 1}\" icon=\"${4:code}\" >}}",
|
||||||
|
" $5",
|
||||||
|
" {{< /tab >}}",
|
||||||
|
"",
|
||||||
|
" {{< tab label=\"${2:Default Tab}\" icon=\"${6:sun}\" >}}",
|
||||||
|
" $7",
|
||||||
|
" {{< /tab >}}",
|
||||||
|
"",
|
||||||
|
" {{< tab label=\"${8:Tab 3}\" icon=\"${9:moon}\" >}}",
|
||||||
|
" $0",
|
||||||
|
" {{< /tab >}}",
|
||||||
|
"",
|
||||||
|
"{{< /tabs >}}"
|
||||||
|
],
|
||||||
|
"description": "Insert Hugo tabs with group, default, and icons"
|
||||||
|
},
|
||||||
|
"Tab": {
|
||||||
|
"prefix": "tab",
|
||||||
|
"body": [
|
||||||
|
"{{< tab label=\"${1:Tab Label}\" >}}",
|
||||||
|
"$2",
|
||||||
|
"{{< /tab >}}"
|
||||||
|
],
|
||||||
|
"description": "Insert Hugo tab item"
|
||||||
|
},
|
||||||
|
"timeline": {
|
||||||
|
"prefix": ["BFS-timeline", "HSC-timeline", "timeline"],
|
||||||
|
"body": [
|
||||||
|
"{{< timeline >}}",
|
||||||
|
"{{< timelineItem ${1| , icon=\"star\"|}${2| , header=\"Header\"|}${3| , badge=\"Badge Text\"|}${4| , subheader=\"SubHeader\"|} >}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{< /timelineItem >}}",
|
||||||
|
"{{< /timeline >}}"
|
||||||
|
],
|
||||||
|
"description": "Create a linear visual timeline that can be used in different use-cases. Blowfish timeline Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#timeline ",
|
||||||
|
},
|
||||||
|
"timelineItem": {
|
||||||
|
"prefix": ["BFS-timelineItem", "HSC-timelineItem", "timelineItem"],
|
||||||
|
"body": [
|
||||||
|
"{{< timelineItem ${1| , icon=\"star\"|}${2| , header=\"Header\"|}${3| , badge=\"Badge Text\"|}${4| , subheader=\"SubHeader\"|} >}}",
|
||||||
|
"${TM_SELECTED_TEXT:${CLIPBOARD}}$0",
|
||||||
|
"{{< /timelineItem >}}",
|
||||||
|
],
|
||||||
|
"description": "Create an element within a timeline. Blowfish timelineItem Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#timeline ",
|
||||||
|
},
|
||||||
|
"typeit": {
|
||||||
|
"prefix": ["BFS-typeit", "HSC-typeit", "typeit"],
|
||||||
|
"body": [
|
||||||
|
"${1:Type-Initial-String-then-press-tab}\r{{< typeit tag=\"${2|div,span,aside,p,header,footer,main,section,h1,h2,h3,h4,h5,h6,hgroup,code,kbd,q,samp,portal|}\"${3| , classList=\"rounded\"|} initialString=\"${1:Type-Initial-Text-and-hit-tab}\"${4| , speed=\"19\"|}${5| , lifeLike=true, lifeLike=false|}${6| , startDelay=\"250\"|}${7| , breakLines=true, breakLines=false|}${8| , waitUntilVisible=true, waitUntilVisible=false|}${9| , loop=true, loop=false|} >}}",
|
||||||
|
"${TM_SELECTED_TEXT:$CLIPBOARD} $0",
|
||||||
|
"{{< /typeit >}}"
|
||||||
|
],
|
||||||
|
"description": "Typewriter-Like text. Blowfish typeit Shortcode. Documentation: https://blowfish.page/docs/shortcodes/#typeit https://www.typeitjs.com/docs/vanilla/usage/ ",
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
237
.vscode/codesnippets-doc.md
vendored
Normal file
@@ -0,0 +1,237 @@
|
|||||||
|
# [Making VSCode Snippets][vscode-snippets-docs]
|
||||||
|
|
||||||
|
This info sourced from: [VSCode's docs][vscode-snippets-docs]
|
||||||
|
|
||||||
|
A useful bit of info is that VSCode Snippets are intended to be compatible with [textmate code snippets](https://macromates.com/textmate/manual/snippets)
|
||||||
|
|
||||||
|
## [Creating your own](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_create-your-own-snippets)
|
||||||
|
|
||||||
|
### [File template snippets](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_file-template-snippets)
|
||||||
|
|
||||||
|
You can add the `isFileTemplate` attribute to your snippet's definition if the snippet is intended to populate or replace a file's contents. File template snippets are displayed in a dropdown when you run the **Snippets: Populate File from Snippet** command in a new or existing file.
|
||||||
|
|
||||||
|
## [Snippet scope](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-scope)
|
||||||
|
|
||||||
|
Snippets are scoped so that only relevant snippets are suggested. Snippets can be scoped by either:
|
||||||
|
|
||||||
|
1. the **language(s)** to which snippets are scoped (possibly all)
|
||||||
|
2. the **project(s)** to which snippets are scoped (probably all)
|
||||||
|
|
||||||
|
### [Language snippet scope](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_language-snippet-scope)
|
||||||
|
|
||||||
|
Every snippet is scoped to one, several, or all ("global") languages based on whether it is defined in:
|
||||||
|
|
||||||
|
1. a **language** snippet file
|
||||||
|
2. a **global** snippet file
|
||||||
|
|
||||||
|
Single-language user-defined snippets are defined in a specific language's snippet file (for example `javascript.json`), which you can access by language identifier through **Snippets: Configure User Snippets**. A snippet is only accessible when editing the language for which it is defined.
|
||||||
|
|
||||||
|
Multi-language and global user-defined snippets are all defined in "global" snippet files (JSON with the file suffix `.code-snippets`), which is also accessible through **Snippets: Configure User Snippets**. In a global snippets file, a snippet definition may have an additional `scope` property that takes one or more [language identifiers](https://code.visualstudio.com/docs/languages/identifiers), which makes the snippet available only for those specified languages. If no `scope`property is given, then the global snippet is available in **all** languages.
|
||||||
|
|
||||||
|
Most user-defined snippets are scoped to a single language, and so are defined in a language-specific snippet file.
|
||||||
|
|
||||||
|
### [Project snippet scope](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_project-snippet-scope)
|
||||||
|
|
||||||
|
You can also have a global snippets file (JSON with file suffix `.code-snippets`) scoped to your project. Project-folder snippets are created with the **New Snippets file for ''...** option in the **Snippets: Configure User Snippets** dropdown menu and are located at the root of the project in a `.vscode` folder. Project snippet files are useful for sharing snippets with all users working in that project. Project-folder snippets are similar to global snippets and can be scoped to specific languages through the `scope` property.
|
||||||
|
|
||||||
|
|
||||||
|
## [Snippet syntax](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_snippet-syntax)
|
||||||
|
|
||||||
|
The `body` of a snippet can use special constructs to control cursors and the text being inserted. The following are supported features and their syntaxes:
|
||||||
|
|
||||||
|
### [Tabstops](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_tabstops)
|
||||||
|
|
||||||
|
With tabstops, you can make the editor cursor move inside a snippet. Use `$1`, `$2` to specify cursor locations. The number is the order in which tabstops will be visited, whereas `$0` denotes the final cursor position. Multiple occurrences of the same tabstop are linked and updated in sync.
|
||||||
|
|
||||||
|
### [Placeholders](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_placeholders)
|
||||||
|
|
||||||
|
Placeholders are tabstops with values, like `${1:foo}`. The placeholder text will be inserted and selected such that it can be easily changed.
|
||||||
|
Placeholders can be nested, like `${1:another ${2:placeholder}}`.
|
||||||
|
|
||||||
|
### [Choice](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_choice)
|
||||||
|
|
||||||
|
Placeholders can have choices as values. The syntax is a comma-separated enumeration of values, enclosed with the pipe-character, for example `${1|one,two,three|}`. When the snippet is inserted and the placeholder selected, choices will prompt the user to pick one of the values.
|
||||||
|
|
||||||
|
### [Variables](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variables)
|
||||||
|
|
||||||
|
With `$name` or `${name:default}`, you can insert the value of a variable. When a variable isn't set, its **default** or the empty string is inserted. When a variable is unknown (that is, its name isn't defined) the name of the variable is inserted and it is transformed into a placeholder.
|
||||||
|
|
||||||
|
The following variables can be used:
|
||||||
|
|
||||||
|
`TM_SELECTED_TEXT`
|
||||||
|
: The currently selected text or the empty string
|
||||||
|
|
||||||
|
`TM_CURRENT_LINE`
|
||||||
|
: The contents of the current line
|
||||||
|
|
||||||
|
`TM_CURRENT_WORD`
|
||||||
|
: The contents of the word under cursor or the empty string
|
||||||
|
|
||||||
|
`TM_LINE_INDEX`
|
||||||
|
: The zero-index based line number
|
||||||
|
|
||||||
|
`TM_LINE_NUMBER`
|
||||||
|
: The one-index based line number
|
||||||
|
|
||||||
|
`TM_FILENAME`
|
||||||
|
: The filename of the current document
|
||||||
|
|
||||||
|
`TM_FILENAME_BASE`
|
||||||
|
: The filename of the current document without its extensions
|
||||||
|
|
||||||
|
`TM_DIRECTORY`
|
||||||
|
: The directory of the current document
|
||||||
|
|
||||||
|
`TM_FILEPATH`
|
||||||
|
: The full file path of the current document
|
||||||
|
|
||||||
|
`RELATIVE_FILEPATH`
|
||||||
|
: The relative (to the opened workspace or folder) file path of the current document
|
||||||
|
|
||||||
|
`CLIPBOARD`
|
||||||
|
: The contents of your clipboard
|
||||||
|
|
||||||
|
`WORKSPACE_NAME`
|
||||||
|
: The name of the opened workspace or folder
|
||||||
|
|
||||||
|
`WORKSPACE_FOLDER`
|
||||||
|
: The path of the opened workspace or folder
|
||||||
|
|
||||||
|
`CURSOR_INDEX`
|
||||||
|
: The zero-index based cursor number
|
||||||
|
|
||||||
|
`CURSOR_NUMBER`
|
||||||
|
: The one-index based cursor number
|
||||||
|
|
||||||
|
#### Inserting the current date and time:
|
||||||
|
|
||||||
|
`CURRENT_YEAR`
|
||||||
|
: The current year
|
||||||
|
|
||||||
|
`CURRENT_YEAR_SHORT`
|
||||||
|
: The current year's last two digits
|
||||||
|
|
||||||
|
`CURRENT_MONTH`
|
||||||
|
: The month as two digits (example '02')
|
||||||
|
|
||||||
|
`CURRENT_MONTH_NAME`
|
||||||
|
: The full name of the month (example 'July')
|
||||||
|
|
||||||
|
`CURRENT_MONTH_NAME_SHORT`
|
||||||
|
: The short name of the month (example 'Jul')
|
||||||
|
|
||||||
|
`CURRENT_DATE`
|
||||||
|
: The day of the month as two digits (example '08')
|
||||||
|
|
||||||
|
`CURRENT_DAY_NAME`
|
||||||
|
: The name of day (example 'Monday')
|
||||||
|
|
||||||
|
`CURRENT_DAY_NAME_SHORT`
|
||||||
|
: The short name of the day (example 'Mon')
|
||||||
|
|
||||||
|
`CURRENT_HOUR`
|
||||||
|
: The current hour in 24-hour clock format
|
||||||
|
|
||||||
|
`CURRENT_MINUTE`
|
||||||
|
: The current minute as two digits
|
||||||
|
|
||||||
|
`CURRENT_SECOND`
|
||||||
|
: The current second as two digits
|
||||||
|
|
||||||
|
`CURRENT_SECONDS_UNIX`
|
||||||
|
: The number of seconds since the Unix epoch
|
||||||
|
|
||||||
|
`CURRENT_TIMEZONE_OFFSET`
|
||||||
|
: The current UTC time zone offset as +HH:MM or -HH:MM (example -07:00).
|
||||||
|
|
||||||
|
|
||||||
|
#### Inserting random values:
|
||||||
|
|
||||||
|
RANDOM 6 random Base-10 digits
|
||||||
|
RANDOM_HEX 6 random Base-16 digits
|
||||||
|
UUID A Version 4 UUID
|
||||||
|
#### Inserting line or block comments, honoring the current language:
|
||||||
|
|
||||||
|
`BLOCK_COMMENT_START`
|
||||||
|
: Example output: in PHP `/*` or in HTML `<!--`
|
||||||
|
|
||||||
|
`BLOCK_COMMENT_END`
|
||||||
|
: Example output: in PHP `*/` or in HTML `-->`
|
||||||
|
|
||||||
|
`LINE_COMMENT`
|
||||||
|
: Example output: in PHP `//`
|
||||||
|
|
||||||
|
|
||||||
|
### [Variable transforms](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_variable-transforms)
|
||||||
|
|
||||||
|
Transformations allow you to modify the value of a variable before it is inserted. The definition of a transformation consists of three parts:
|
||||||
|
|
||||||
|
1. A regular expression that is matched against the value of a variable, or the empty string when the variable cannot be resolved.
|
||||||
|
2. A "format string" that allows to reference matching groups from the regular expression. The format string allows for conditional inserts and simple modifications.
|
||||||
|
3. Options that are passed to the regular expression.
|
||||||
|
|
||||||
|
The following example inserts the name of the current file without its ending, so from `foo.txt` it makes `foo`.
|
||||||
|
|
||||||
|
```
|
||||||
|
${TM_FILENAME/(.*)\\..+$/$1/}
|
||||||
|
| | | |
|
||||||
|
| | | |-> no options
|
||||||
|
| | |
|
||||||
|
| | |-> references the contents of the first
|
||||||
|
| | capture group
|
||||||
|
| |
|
||||||
|
| |-> regex to capture everything before
|
||||||
|
| the final `.suffix`
|
||||||
|
|
|
||||||
|
|-> resolves to the filename
|
||||||
|
```
|
||||||
|
|
||||||
|
### [Placeholder-Transform](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_placeholdertransform)
|
||||||
|
|
||||||
|
Like a Variable-Transform, a transformation of a placeholder allows changing the inserted text for the placeholder when moving to the next tab stop. The inserted text is matched with the regular expression and the match or matches - depending on the options - are replaced with the specified replacement format text. Every occurrence of a placeholder can define its own transformation independently using the value of the first placeholder. The format for Placeholder-Transforms is the same as for Variable-Transforms.
|
||||||
|
|
||||||
|
### [Transform examples](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_transform-examples)
|
||||||
|
|
||||||
|
The examples are shown within double quotes, as they would appear inside a snippet body, to illustrate the need to double escape certain characters. Sample transformations and the resulting output for the filename `example-123.456-TEST.js`.
|
||||||
|
|
||||||
|
|Example|Output|Explanation|
|
||||||
|
|---|---|---|
|
||||||
|
|`"${TM_FILENAME/[\\.]/_/}"`|`example-123_456-TEST.js`|Replace the first `.` with `_`|
|
||||||
|
|`"${TM_FILENAME/[\\.-]/_/g}"`|`example_123_456_TEST_js`|Replace each `.` or `-`with `_`|
|
||||||
|
|`"${TM_FILENAME/(.*)/${1:/upcase}/}"`|`EXAMPLE-123.456-TEST.JS`|Change to all uppercase|
|
||||||
|
|`"${TM_FILENAME/[^0-9^a-z]//gi}"`|`example123456TESTjs`|Remove non-alphanumeric characters|
|
||||||
|
|
||||||
|
### [Grammar](https://code.visualstudio.com/docs/editor/userdefinedsnippets#_grammar)
|
||||||
|
|
||||||
|
Below is the EBNF ([extended Backus-Naur form](https://en.wikipedia.org/wiki/Extended_Backus-Naur_form)) for snippets. With `\` (backslash), you can escape `$`, `}`, and `\`. Within choice elements, the backslash also escapes comma and pipe characters.
|
||||||
|
|
||||||
|
```
|
||||||
|
any ::= tabstop | placeholder | choice | variable | text
|
||||||
|
tabstop ::= '$' int
|
||||||
|
| '${' int '}'
|
||||||
|
| '${' int transform '}'
|
||||||
|
placeholder ::= '${' int ':' any '}'
|
||||||
|
choice ::= '${' int '|' text (',' text)* '|}'
|
||||||
|
variable ::= '$' var | '${' var '}'
|
||||||
|
| '${' var ':' any '}'
|
||||||
|
| '${' var transform '}'
|
||||||
|
transform ::= '/' regex '/' (format | text)+ '/' options
|
||||||
|
format ::= '$' int | '${' int '}'
|
||||||
|
| '${' int ':' '/upcase' | '/downcase' | '/capitalize' | '/camelcase' | '/pascalcase' '}'
|
||||||
|
| '${' int ':+' if '}'
|
||||||
|
| '${' int ':?' if ':' else '}'
|
||||||
|
| '${' int ':-' else '}' | '${' int ':' else '}'
|
||||||
|
regex ::= JavaScript Regular Expression value (ctor-string)
|
||||||
|
options ::= JavaScript Regular Expression option (ctor-options)
|
||||||
|
var ::= [_a-zA-Z] [_a-zA-Z0-9]*
|
||||||
|
int ::= [0-9]+
|
||||||
|
text ::= .*
|
||||||
|
if ::= text
|
||||||
|
else ::= text
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[vscode-snippets-docs]: <https://code.visualstudio.com/docs/editor/userdefinedsnippets>
|
||||||
|
|
||||||
185
.vscode/textmate-code-snippets.md
vendored
Normal file
@@ -0,0 +1,185 @@
|
|||||||
|
# [Textmate Code Snippets](https://macromates.com/textmate/manual/snippets)
|
||||||
|
|
||||||
|
|
||||||
|
A snippet is a piece of text that you would like to insert in your document. It can include code to run at insertion time, variables (like selected text), tab stops/placeholders for missing information (which you can tab through after insertion) and perform transformations on the data which you enter in the placeholders.
|
||||||
|
|
||||||
|
Snippets are created in the bundle editor and are often assigned a tab trigger for easy insertion.
|
||||||
|
|
||||||
|
## Grammar
|
||||||
|
|
||||||
|
Snippets support the following constructs:
|
||||||
|
|
||||||
|
```
|
||||||
|
$«int»
|
||||||
|
${«int»}
|
||||||
|
${«int»:«any»}
|
||||||
|
${«int»/«regexp»/«format»/«options»}
|
||||||
|
${«int»|«choice 1»,…,«choice n»|}
|
||||||
|
`«code»`
|
||||||
|
«format»
|
||||||
|
```
|
||||||
|
|
||||||
|
In the above, `«format»` is a format string and `«any»` refers to any of the above.
|
||||||
|
|
||||||
|
The next sections will give examples of each of the above.
|
||||||
|
|
||||||
|
## Plain Text
|
||||||
|
|
||||||
|
In the simplest case, you can use snippets to insert text that you do not want to type again and again, either because you type it a lot, or because the actual text to insert is hard to remember (like your bank account details or the HTML entities for the Apple modifier keys).
|
||||||
|
|
||||||
|
If you use snippets to insert plain text there is only one thing you should be aware of: `$` and `` ` `` are reserved characters. So if you want to insert one of these, prefix it with an escape (i.e. `\$`). An escape not followed by one of these two characters (or followed by another escape) will be inserted as a literal character.
|
||||||
|
|
||||||
|
## Variables
|
||||||
|
|
||||||
|
You can use any of TextMate’s defined variables by prefixing the name of the variable with `$`. All the normal dynamic variables are supported, the most useful probably being `TM_SELECTED_TEXT`. If for example we want to create a snippet which wraps the selection in a LaTeX `\textbf` command, we can make a snippet which is:
|
||||||
|
|
||||||
|
```
|
||||||
|
\textbf{$TM_SELECTED_TEXT}
|
||||||
|
```
|
||||||
|
|
||||||
|
If no text is selected the variable will not be set, so nothing will be inserted in its place. We can provide a default value by using format string syntax: `${«variable»:«default value»}`. For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
\textbf{${TM_SELECTED_TEXT:no text was selected}}
|
||||||
|
```
|
||||||
|
|
||||||
|
The default value can itself contain variables or shell code. If you want the default text to contain a `}`, you need to escape it. But all other characters are used verbatim.
|
||||||
|
|
||||||
|
Variables also support regular expression replacements using this syntax: `${«variable»/«regexp»/«format»/«options»}`. If the variable is not set the replacement will be performed on the empty string. For example, to prepend a bullet to each non-empty line in the selection (and insert that) we can do:
|
||||||
|
|
||||||
|
```
|
||||||
|
${TM_SELECTED_TEXT/^.+$/• $0/g}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Interpolated Shell Code
|
||||||
|
|
||||||
|
You can use backticks to have shell code executed when the snippet is inserted. The result from running the code gets inserted into the snippet, though with the last newline in the result removed (if present). So for example to create a snippet that wraps the selection in an HTML link, where the URL of that link comes from the clipboard, we can do:
|
||||||
|
|
||||||
|
```
|
||||||
|
<a href="`pbpaste`">$TM_SELECTED_TEXT</a>
|
||||||
|
```
|
||||||
|
|
||||||
|
Since this is normal shell code, we can write a small program. For example we can let it verify that the clipboard contains only a single line of text like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
<a href="`
|
||||||
|
if [[ $(pbpaste|wc -l) -eq 0 ]]
|
||||||
|
then pbpaste
|
||||||
|
else echo http://example.com/
|
||||||
|
fi
|
||||||
|
`">$TM_SELECTED_TEXT</a>
|
||||||
|
```
|
||||||
|
|
||||||
|
Inside shell code, the only character you need to escape is the backtick.
|
||||||
|
|
||||||
|
## Tab Stops
|
||||||
|
|
||||||
|
After insertion, the caret will be placed after the last character of the snippet. This is not always desirable and we can change that by using `$0` to mark where we want the caret to be. So if for example we make an HTML `div`-snippet and want the caret to end between the opening and closing tags, we could make it like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
<div>
|
||||||
|
$0
|
||||||
|
</div>
|
||||||
|
```
|
||||||
|
|
||||||
|
Often though we want to fill in text in several places in the snippet. Multiple tab stops can be provided by inserting `$1`-`$n`. The caret will start at `$1`, then when pressing tab it will move to `$2` and `$3` on next tab etc. until there are no more tab stops. If you do not explicitly set `$0`, the caret will be at the end of the snippet.
|
||||||
|
|
||||||
|
So we could for example change the above to:
|
||||||
|
|
||||||
|
```
|
||||||
|
<div$1>
|
||||||
|
$0
|
||||||
|
</div>
|
||||||
|
```
|
||||||
|
|
||||||
|
This allows us to fill in an argument and then tab on to `$0`.
|
||||||
|
|
||||||
|
## Placeholders
|
||||||
|
|
||||||
|
Like variables, tab stops can also have default values (and are generally referred to as placeholders when they do). The syntax is the same: `${«tab stop»:«default value»}`. And the default value can contain both text, shell code and other placeholders. So we can refine the previous example further:
|
||||||
|
|
||||||
|
```
|
||||||
|
<div${1: id="${2:some_id}"}>
|
||||||
|
$0
|
||||||
|
</div>
|
||||||
|
```
|
||||||
|
|
||||||
|
Inserting this snippet will insert a `div` tag with the `id` argument selected and we can then decide either to overtype the argument (i.e. delete it) and press tab again to reach `$0`, or we can press tab immediately to get to the second tab stop (the value part of the argument) and edit that.
|
||||||
|
|
||||||
|
When you edit the placeholder text, any embedded tab stops will be removed.
|
||||||
|
|
||||||
|
## Mirrors
|
||||||
|
|
||||||
|
There are times when you need to provide the same value several places in the inserted text and in these situations you can re-use the tab stop to signal that you want it mirrored at that location. So for example to create a LaTeX environment with a snippet, we can use:
|
||||||
|
|
||||||
|
```
|
||||||
|
\begin{${1:enumerate}}
|
||||||
|
$0
|
||||||
|
\end{$1}
|
||||||
|
```
|
||||||
|
|
||||||
|
After inserting this snippet, `enumerate` will be selected and if we edit it, the changes will be reflected in the `\end` part as well.
|
||||||
|
|
||||||
|
## Transformations
|
||||||
|
|
||||||
|
There are situations where we want our placeholder text mirrored but with slight changes or where we want some text to appear depending on the value/presence of a placeholder.
|
||||||
|
|
||||||
|
We can accomplish this by doing a regular expression substitution on the placeholder text (when mirroring it). The syntax for this is: `${«tab stop»/«regexp»/«format»/«options»}`.
|
||||||
|
|
||||||
|
As an example, the Objective-C getter/setter methods (prior to the `@property` keyword) often look like this (in the [thread-unsafe form](http://ticket.macromates.com/show?ticket_id=E11D9EAF)):
|
||||||
|
|
||||||
|
```
|
||||||
|
- (id)foo
|
||||||
|
{
|
||||||
|
return foo;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)setFoo:(id)aValue
|
||||||
|
{
|
||||||
|
[foo autorelease];
|
||||||
|
foo = [aValue retain];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
In the format string we can use `${«var»:/upcase}` to uppercase the matched character, so a snippet that only asks for the name of the instance variable once could look like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
- (${1:id})${2:foo}
|
||||||
|
{
|
||||||
|
return $2;
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void)set${2/./${0:/upcase}/}:($1)aValue
|
||||||
|
{
|
||||||
|
[$2 autorelease];
|
||||||
|
$2 = [aValue retain];
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
We can also use conditional insertions in the format string (`${«var»:+«if-set»}`) to make decisions. For example if we create a snippet for a method we can let the return type decide whether or not the method should include a `return` statement like this:
|
||||||
|
|
||||||
|
```
|
||||||
|
- (${1:void})${2:methodName}
|
||||||
|
{${1/void$|(.+)/${1:+\n\treturn nil;}/}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Here we match placeholder 1 against `void` or anything (`.+`) and put the latter match in capture register 1. Then only if we did match something (other than `void`) will we insert a newline, tab and the `return nil;` text.
|
||||||
|
|
||||||
|
## Multiple Choices
|
||||||
|
|
||||||
|
Sometimes a placeholder can only take a limited number of values in which case we may want to show a menu with these choices.
|
||||||
|
|
||||||
|
This can be done with the `${«int»|«choice 1»,…,«choice n»|}` syntax.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
```
|
||||||
|
color: ${1|red,green,blue|}
|
||||||
|
```
|
||||||
|
|
||||||
|
[Text Editing](https://macromates.com/textmate/manual/text-editing)
|
||||||
|
|
||||||
|
[Table of Contents](https://macromates.com/textmate/manual/)
|
||||||
|
|
||||||
|
[Commands](https://macromates.com/textmate/manual/commands)
|
||||||
128
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
# Contributor Covenant Code of Conduct
|
||||||
|
|
||||||
|
## Our Pledge
|
||||||
|
|
||||||
|
We as members, contributors, and leaders pledge to make participation in our
|
||||||
|
community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||||
|
identity and expression, level of experience, education, socio-economic status,
|
||||||
|
nationality, personal appearance, race, religion, or sexual identity
|
||||||
|
and orientation.
|
||||||
|
|
||||||
|
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||||
|
diverse, inclusive, and healthy community.
|
||||||
|
|
||||||
|
## Our Standards
|
||||||
|
|
||||||
|
Examples of behavior that contributes to a positive environment for our
|
||||||
|
community include:
|
||||||
|
|
||||||
|
* Demonstrating empathy and kindness toward other people
|
||||||
|
* Being respectful of differing opinions, viewpoints, and experiences
|
||||||
|
* Giving and gracefully accepting constructive feedback
|
||||||
|
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||||
|
and learning from the experience
|
||||||
|
* Focusing on what is best not just for us as individuals, but for the
|
||||||
|
overall community
|
||||||
|
|
||||||
|
Examples of unacceptable behavior include:
|
||||||
|
|
||||||
|
* The use of sexualized language or imagery, and sexual attention or
|
||||||
|
advances of any kind
|
||||||
|
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||||
|
* Public or private harassment
|
||||||
|
* Publishing others' private information, such as a physical or email
|
||||||
|
address, without their explicit permission
|
||||||
|
* Other conduct which could reasonably be considered inappropriate in a
|
||||||
|
professional setting
|
||||||
|
|
||||||
|
## Enforcement Responsibilities
|
||||||
|
|
||||||
|
Community leaders are responsible for clarifying and enforcing our standards of
|
||||||
|
acceptable behavior and will take appropriate and fair corrective action in
|
||||||
|
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||||
|
or harmful.
|
||||||
|
|
||||||
|
Community leaders have the right and responsibility to remove, edit, or reject
|
||||||
|
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||||
|
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||||
|
decisions when appropriate.
|
||||||
|
|
||||||
|
## Scope
|
||||||
|
|
||||||
|
This Code of Conduct applies within all community spaces, and also applies when
|
||||||
|
an individual is officially representing the community in public spaces.
|
||||||
|
Examples of representing our community include using an official e-mail address,
|
||||||
|
posting via an official social media account, or acting as an appointed
|
||||||
|
representative at an online or offline event.
|
||||||
|
|
||||||
|
## Enforcement
|
||||||
|
|
||||||
|
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||||
|
reported to the community leaders responsible for enforcement at
|
||||||
|
https://twitter.com/nunocoracao.
|
||||||
|
All complaints will be reviewed and investigated promptly and fairly.
|
||||||
|
|
||||||
|
All community leaders are obligated to respect the privacy and security of the
|
||||||
|
reporter of any incident.
|
||||||
|
|
||||||
|
## Enforcement Guidelines
|
||||||
|
|
||||||
|
Community leaders will follow these Community Impact Guidelines in determining
|
||||||
|
the consequences for any action they deem in violation of this Code of Conduct:
|
||||||
|
|
||||||
|
### 1. Correction
|
||||||
|
|
||||||
|
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||||
|
unprofessional or unwelcome in the community.
|
||||||
|
|
||||||
|
**Consequence**: A private, written warning from community leaders, providing
|
||||||
|
clarity around the nature of the violation and an explanation of why the
|
||||||
|
behavior was inappropriate. A public apology may be requested.
|
||||||
|
|
||||||
|
### 2. Warning
|
||||||
|
|
||||||
|
**Community Impact**: A violation through a single incident or series
|
||||||
|
of actions.
|
||||||
|
|
||||||
|
**Consequence**: A warning with consequences for continued behavior. No
|
||||||
|
interaction with the people involved, including unsolicited interaction with
|
||||||
|
those enforcing the Code of Conduct, for a specified period of time. This
|
||||||
|
includes avoiding interactions in community spaces as well as external channels
|
||||||
|
like social media. Violating these terms may lead to a temporary or
|
||||||
|
permanent ban.
|
||||||
|
|
||||||
|
### 3. Temporary Ban
|
||||||
|
|
||||||
|
**Community Impact**: A serious violation of community standards, including
|
||||||
|
sustained inappropriate behavior.
|
||||||
|
|
||||||
|
**Consequence**: A temporary ban from any sort of interaction or public
|
||||||
|
communication with the community for a specified period of time. No public or
|
||||||
|
private interaction with the people involved, including unsolicited interaction
|
||||||
|
with those enforcing the Code of Conduct, is allowed during this period.
|
||||||
|
Violating these terms may lead to a permanent ban.
|
||||||
|
|
||||||
|
### 4. Permanent Ban
|
||||||
|
|
||||||
|
**Community Impact**: Demonstrating a pattern of violation of community
|
||||||
|
standards, including sustained inappropriate behavior, harassment of an
|
||||||
|
individual, or aggression toward or disparagement of classes of individuals.
|
||||||
|
|
||||||
|
**Consequence**: A permanent ban from any sort of public interaction within
|
||||||
|
the community.
|
||||||
|
|
||||||
|
## Attribution
|
||||||
|
|
||||||
|
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||||
|
version 2.0, available at
|
||||||
|
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||||
|
|
||||||
|
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||||
|
enforcement ladder](https://github.com/mozilla/diversity).
|
||||||
|
|
||||||
|
[homepage]: https://www.contributor-covenant.org
|
||||||
|
|
||||||
|
For answers to common questions about this code of conduct, see the FAQ at
|
||||||
|
https://www.contributor-covenant.org/faq. Translations are available at
|
||||||
|
https://www.contributor-covenant.org/translations.
|
||||||
54
CONTRIBUTING.md
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
## How to contribute to Blowfish
|
||||||
|
|
||||||
|
All development occurs on the `dev` branch and new PRs should be forked from here.
|
||||||
|
|
||||||
|
### Bugs & other issues
|
||||||
|
|
||||||
|
#### Found a bug? 🐛
|
||||||
|
|
||||||
|
- **Ensure the bug has not already been reported** by searching [GitHub Issues](https://github.com/nunocoracao/blowfish/issues). If there's already an open issue, feel free to add any extra information you might have about the issue.
|
||||||
|
- If you're unable to find an open issue matching the problem, [open a new one](https://github.com/nunocoracao/blowfish/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample**, **screenshot**, or a **test case** demonstrating the expected behavior that is not occurring.
|
||||||
|
- Where possible, use the bug report templates to create the issue. Avoid including descriptions like "bug", "feature", etc in the issue title as these will be handled by labels.
|
||||||
|
|
||||||
|
#### Have a patch that fixes an issue?
|
||||||
|
|
||||||
|
- Great! Open a new GitHub pull request with the patch.
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
### New features & enhancements
|
||||||
|
|
||||||
|
#### Do you intend to add a new feature, or change an existing one?
|
||||||
|
|
||||||
|
- Enhancements are welcome but before implementing any features, be sure to suggest your change by opening a [new discussion](https://github.com/nunocoracao/blowfish/discussions/new) about your idea. Enhancements are discussed to ensure they fit with the project's design intent and overall roadmap.
|
||||||
|
- Before opening a discussion, [check to see](https://github.com/nunocoracao/blowfish/discussions/categories/ideas) if a similar idea is already being discussed.
|
||||||
|
- All ideas and suggestions are welcome and will be judged on their merits.
|
||||||
|
- If the community supports your idea, go ahead and submit a PR with the implemented feature.
|
||||||
|
|
||||||
|
### Questions? 🙋♀️
|
||||||
|
|
||||||
|
- If you have a general question, these should be asked using [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions). Feel free to open a [new discussion](https://github.com/nunocoracao/blowfish/discussions/new) to ask your question using the "Q&A" category.
|
||||||
|
- Be sure to check if your question has already been answered by searching [existing Q&A discussions](https://github.com/nunocoracao/blowfish/discussions/categories/q-a).
|
||||||
|
|
||||||
|
### Coding conventions
|
||||||
|
|
||||||
|
- Indent using 2 spaces (soft tabs).
|
||||||
|
- Put spaces between list items (ie. `[1, 2, 3]`, not `[1,2,3]`), around operators (ie. `1 + 1`, not `1+1`) and inside go templating tags (ie. `{{< alert >}}`, not `{{<alert>}}`).
|
||||||
|
- Avoid code reuse in templates by extracting components into partials.
|
||||||
|
- Layout code in a logical manner that prioritises readability.
|
||||||
|
- Add comments when the intent of the code isn't immediately apparent or to break up large blocks of logic.
|
||||||
|
- Use relative paths to assets without including the preceding slash but, when referring to a folder, including a trailing slash (ie. `static/img/`, not `/static/img/` or `/static/img`).
|
||||||
|
- Any static text must be referenced using the `i18n` methods and included in the localisation assets.
|
||||||
|
- Commit often, preferring incremental changes rather than bundling everything into a single, large commit.
|
||||||
|
|
||||||
|
The project includes a Prettier config that helps to format code in line with these guidelines.
|
||||||
|
|
||||||
|
#### Commit message guidelines
|
||||||
|
|
||||||
|
- 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").
|
||||||
|
- Do not end the summary line with a period.
|
||||||
|
- Reference any issues fixed using their GitHub issue number.
|
||||||
18
FUNDING.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: [nunocoracao] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
||||||
|
patreon: # Replace with a single Patreon username
|
||||||
|
open_collective: # Replace with a single Open Collective username
|
||||||
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
|
liberapay: # Replace with a single Liberapay username
|
||||||
|
issuehunt: # Replace with a single IssueHunt username
|
||||||
|
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||||
|
polar: # Replace with a single Polar username
|
||||||
|
buy_me_a_coffee: nunocoracao # Replace with a single Buy Me a Coffee username
|
||||||
|
thanks_dev: # Replace with a single thanks.dev username
|
||||||
|
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
||||||
|
[
|
||||||
|
"https://www.paypal.me/nunocoracao",
|
||||||
|
]
|
||||||
20
LICENSE
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2022 Nuno Coração (https://nunocoracao.com)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
179
README.de.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | Deutsch | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish ist ein leistungsstarkes, schlankes Theme für [Hugo](https://gohugo.io). Es wurde mit Tailwind CSS entwickelt und bietet ein klares, minimalistisches Design, das Ihre Inhalte in den Vordergrund stellt.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [Demo-Website](https://blowfish.page/)
|
||||||
|
📑 [Theme-Dokumentation](https://blowfish.page/docs/)
|
||||||
|
💎 [Merchandise-Shop](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Fehlerberichte & Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [Fragen & Feature-Anfragen](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Funktionen
|
||||||
|
|
||||||
|
- Vollständig responsives Layout mit Tailwind CSS 3.0
|
||||||
|
- Mehrere Farbschemata (oder vollständig anpassbar)
|
||||||
|
- Dark Mode (erzwungen ein/aus oder automatisch mit Benutzerumschaltung)
|
||||||
|
- Hochgradig anpassbare Konfiguration
|
||||||
|
- Firebase-Integration zur Unterstützung dynamischer Daten
|
||||||
|
- Ansichtszähler & Like-Mechanismus
|
||||||
|
- Verwandte Artikel
|
||||||
|
- Mehrere Homepage-Layouts
|
||||||
|
- Mehrere Autoren
|
||||||
|
- Artikelserien
|
||||||
|
- Datums- und gewichtsbasierte Artikelsortierung
|
||||||
|
- Zen-Modus zum Lesen von Artikeln
|
||||||
|
- Flexibel mit beliebigen Inhaltstypen, Taxonomien und Menüs
|
||||||
|
- Kopf- und Fußzeilenmenüs
|
||||||
|
- Verschachtelte Menüs & Unternavigationsmenüs
|
||||||
|
- Scrollbares Inhaltsverzeichnis
|
||||||
|
- Mehrsprachige Inhaltsunterstützung einschließlich RTL-Sprachen
|
||||||
|
- Möglichkeit, auf Beiträge auf Websites von Drittanbietern zu verlinken
|
||||||
|
- Unterstützung für mehrere Shortcodes wie Gallery, Timeline, GitHub-Karten und Carousels
|
||||||
|
- GitHub Alerts-Syntax, 15 Typen, zusammenklappbar
|
||||||
|
- Buymeacoffee-Integration
|
||||||
|
- Clientseitige Website-Suche mit Fuse.js
|
||||||
|
- Diagramme und Visualisierungen mit Mermaid
|
||||||
|
- Charts mit Chart.js
|
||||||
|
- TypeIt-Integration
|
||||||
|
- Youtube-Einbettungen mit Leistungsverbesserungen
|
||||||
|
- Mathematische Notation mit KaTeX
|
||||||
|
- SVG-Icons von FontAwesome 6
|
||||||
|
- Automatische Bildgrößenanpassung mit Hugo Pipes
|
||||||
|
- Überschriften-Anker, Inhaltsverzeichnisse, Code-Kopieren, Buttons, Badges und mehr
|
||||||
|
- HTML- und Emoji-Unterstützung in Artikeln 🎉
|
||||||
|
- SEO-freundlich mit Links zum Teilen in sozialen Medien
|
||||||
|
- Unterstützung für Fathom Analytics und Google Analytics
|
||||||
|
- RSS-Feeds, Favicons und Kommentare
|
||||||
|
- Erweiterte Anpassung mit einfachen Tailwind-Farbdefinitionen und -Stilen
|
||||||
|
- Optimiert für Leistung und Barrierefreiheit mit perfekten Lighthouse-Scores
|
||||||
|
- Vollständig dokumentiert mit regelmäßigen Updates
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Dokumentation
|
||||||
|
|
||||||
|
Blowfish verfügt über eine [umfangreiche Dokumentation](https://blowfish.page/docs/), die alle Aspekte des Themes abdeckt. Lesen Sie unbedingt die [Dokumentation](https://blowfish.page/docs/), um mehr über die Verwendung des Themes und seiner Funktionen zu erfahren.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Blowfish unterstützt mehrere Installationsmethoden - als git submodule, als Hugo Module oder als vollständig manuelle Installation.
|
||||||
|
|
||||||
|
Detaillierte Anweisungen für jede Methode finden Sie in der [Installations-Dokumentation](https://blowfish.page/docs/installation). Für die einfachste Einrichtung sollten Sie die Dokumentation konsultieren. Im Folgenden finden Sie eine Schnellstartanleitung mit Submodulen, wenn Sie git verwenden, oder Hugo Modules, wenn Sie bereits Erfahrung mit der Installation von Hugo-Themes haben.
|
||||||
|
|
||||||
|
### Schnellstart mit Blowfish Tools
|
||||||
|
|
||||||
|
> **Hinweis:** Stellen Sie sicher, dass Sie **Node.js**, **Git** und **Hugo** installiert haben und dass Sie ein neues Hugo-Projekt erstellt haben, bevor Sie fortfahren.
|
||||||
|
|
||||||
|
Wir haben gerade ein neues CLI-Tool gestartet, das Ihnen beim Einstieg in Blowfish hilft. Es erstellt ein neues Hugo-Projekt, installiert das Theme und richtet die Theme-Konfigurationsdateien für Sie ein. Es befindet sich noch in der Beta-Phase, also [melden Sie bitte alle Probleme, die Sie finden](https://github.com/nunocoracao/blowfish-tools).
|
||||||
|
|
||||||
|
Installieren Sie das CLI-Tool global mit npm (oder einem anderen Paketmanager):
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Führen Sie dann den Befehl `blowfish-tools` aus, um eine interaktive Sitzung zu starten, die Sie durch Erstellungs- und Konfigurationsanwendungsfälle führt.
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Sie können auch den Befehl `blowfish-tools new` ausführen, um ein neues Hugo-Projekt zu erstellen und das Theme in einem Schritt zu installieren. Weitere Informationen finden Sie in der CLI-Hilfe.
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Schnellstart mit git submodules
|
||||||
|
|
||||||
|
> **Hinweis:** Stellen Sie sicher, dass Sie **Git** und **Hugo** installiert haben und dass Sie ein neues Hugo-Projekt erstellt haben, bevor Sie fortfahren.
|
||||||
|
|
||||||
|
1. Initialisieren Sie git aus Ihrem Projektverzeichnis:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Konfigurieren Sie Blowfish als git submodule:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Löschen Sie im Stammordner Ihrer Website die von Hugo generierte Datei `hugo.toml`. Kopieren Sie die `*.toml` Konfigurationsdateien aus dem Theme in Ihren `config/_default/` Ordner.
|
||||||
|
|
||||||
|
Sie finden diese Theme-Konfigurationsdateien im Hugo-Cache-Verzeichnis oder [laden Sie eine Kopie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) von GitHub herunter.
|
||||||
|
|
||||||
|
4. Folgen Sie den Anweisungen unter [Erste Schritte](https://blowfish.page/docs/getting-started/), um Ihre Website zu konfigurieren.
|
||||||
|
|
||||||
|
### Schnellstart mit Hugo
|
||||||
|
|
||||||
|
> **Hinweis:** Stellen Sie sicher, dass Sie **Go** und **Hugo** installiert haben und dass Sie ein neues Hugo-Projekt erstellt haben, bevor Sie fortfahren.
|
||||||
|
|
||||||
|
1. Initialisieren Sie Hugo Modules aus Ihrem Projektverzeichnis:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Erstellen Sie `config/_default/module.toml` und fügen Sie Folgendes hinzu:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Starten Sie Ihren Server mit `hugo server` und das Theme wird automatisch heruntergeladen.
|
||||||
|
|
||||||
|
4. Löschen Sie im Stammordner Ihrer Website die von Hugo generierte Datei `hugo.toml`. Kopieren Sie die `*.toml` Konfigurationsdateien aus dem Theme in Ihren `config/_default/` Ordner.
|
||||||
|
|
||||||
|
> **Hinweis:** Überschreiben Sie nicht die oben erstellte Datei `module.toml`!
|
||||||
|
|
||||||
|
Sie finden diese Theme-Konfigurationsdateien im Hugo-Cache-Verzeichnis oder [laden Sie eine Kopie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) von GitHub herunter.
|
||||||
|
|
||||||
|
5. Folgen Sie den Anweisungen unter [Erste Schritte](https://blowfish.page/docs/getting-started/), um Ihre Website zu konfigurieren.
|
||||||
|
|
||||||
|
### Theme-Updates installieren
|
||||||
|
|
||||||
|
Wenn neue Versionen veröffentlicht werden, können Sie das Theme mit Hugo aktualisieren. Führen Sie einfach `hugo mod get -u` aus Ihrem Projektverzeichnis aus und das Theme wird automatisch auf die neueste Version aktualisiert.
|
||||||
|
|
||||||
|
Detaillierte [Update-Anweisungen](https://blowfish.page/docs/installation/#installing-updates) sind in der Dokumentation verfügbar.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Mitwirken
|
||||||
|
|
||||||
|
Blowfish wird sich voraussichtlich im Laufe der Zeit weiterentwickeln. Ich beabsichtige, weiterhin Funktionen hinzuzufügen und nach Bedarf Änderungen vorzunehmen.
|
||||||
|
|
||||||
|
Melden Sie sich gerne mit Problemen oder Vorschlägen für neue Funktionen, die Sie gerne sehen würden.
|
||||||
|
|
||||||
|
- 🐛 **Fehlerberichte & Issues:** Verwenden Sie [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ideen für neue Funktionen:** Eröffnen Sie eine Diskussion auf [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **Allgemeine Fragen:** Gehen Sie zu [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
Wenn Sie in der Lage sind, einen Fehler zu beheben oder eine neue Funktion zu implementieren, sind Pull Requests zu diesem Zweck willkommen. Erfahren Sie mehr in den [Richtlinien für Mitwirkende](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stargazers im Zeitverlauf
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
179
README.es.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | Español | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish está diseñado para ser un tema potente y ligero para [Hugo](https://gohugo.io). Está construido usando Tailwind CSS con un diseño limpio y minimalista que prioriza tu contenido.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [Sitio de demostración](https://blowfish.page/)
|
||||||
|
📑 [Documentación del tema](https://blowfish.page/docs/)
|
||||||
|
💎 [Tienda de merchandising](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Reportes de errores y problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [Preguntas y solicitudes de funcionalidades](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Características
|
||||||
|
|
||||||
|
- Diseño totalmente responsive construido con Tailwind CSS 3.0
|
||||||
|
- Múltiples esquemas de color (o personaliza completamente el tuyo propio)
|
||||||
|
- Modo oscuro (forzado activado/desactivado o cambio automático con opción de usuario)
|
||||||
|
- Configuración altamente personalizable
|
||||||
|
- Integración con Firebase para soportar datos dinámicos
|
||||||
|
- Contador de vistas y mecanismo de likes
|
||||||
|
- Artículos relacionados
|
||||||
|
- Múltiples diseños de página de inicio
|
||||||
|
- Múltiples autores
|
||||||
|
- Series de artículos
|
||||||
|
- Ordenación de artículos basada en fecha y peso
|
||||||
|
- Modo zen para lectura de artículos
|
||||||
|
- Flexible con cualquier tipo de contenido, taxonomías y menús
|
||||||
|
- Menús de encabezado y pie de página
|
||||||
|
- Menús anidados y menú de sub-navegación
|
||||||
|
- Tabla de contenidos con desplazamiento
|
||||||
|
- Soporte de contenido multilingüe incluyendo idiomas RTL
|
||||||
|
- Capacidad de enlazar a publicaciones en sitios web de terceros
|
||||||
|
- Soporte para varios shortcodes como Gallery, Timeline, GitHub cards y Carousels
|
||||||
|
- Sintaxis de GitHub Alerts, 15 tipos, soporte plegable
|
||||||
|
- Integración con Buymeacoffee
|
||||||
|
- Búsqueda en el sitio del lado del cliente impulsada por Fuse.js
|
||||||
|
- Diagramas y visualizaciones usando Mermaid
|
||||||
|
- Gráficos usando Chart.js
|
||||||
|
- Integración con TypeIt
|
||||||
|
- Incrustaciones de Youtube con mejoras de rendimiento
|
||||||
|
- Notación matemática usando KaTeX
|
||||||
|
- Iconos SVG de FontAwesome 6
|
||||||
|
- Redimensionamiento automático de imágenes usando Hugo Pipes
|
||||||
|
- Anclajes de encabezados, Tablas de contenidos, Copia de código, Botones, Insignias y más
|
||||||
|
- Soporte de HTML y Emoji en artículos 🎉
|
||||||
|
- SEO amigable con enlaces para compartir en redes sociales
|
||||||
|
- Soporte para Fathom Analytics y Google Analytics
|
||||||
|
- Feeds RSS, Favicons y soporte de comentarios
|
||||||
|
- Personalización avanzada usando definiciones de colores y estilos simples de Tailwind
|
||||||
|
- Optimizado para rendimiento y accesibilidad con puntuaciones perfectas en Lighthouse
|
||||||
|
- Completamente documentado con actualizaciones regulares
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Documentación
|
||||||
|
|
||||||
|
Blowfish tiene [documentación extensa](https://blowfish.page/docs/) que cubre todos los aspectos del tema. Asegúrate de [leer la documentación](https://blowfish.page/docs/) para aprender más sobre cómo usar el tema y sus características.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instalación
|
||||||
|
|
||||||
|
Blowfish soporta varios métodos de instalación - como submódulo de git, módulo de Hugo, o como una instalación completamente manual.
|
||||||
|
|
||||||
|
Las instrucciones detalladas para cada método se pueden encontrar en la documentación de [Instalación](https://blowfish.page/docs/installation). Deberías consultar la documentación para obtener la experiencia de configuración más simple. A continuación se presenta una guía de inicio rápido usando submódulos si estás usando git, o módulos de Hugo si ya tienes confianza instalando temas de Hugo.
|
||||||
|
|
||||||
|
### Inicio rápido usando Blowfish Tools
|
||||||
|
|
||||||
|
> **Nota:** Asegúrate de tener **Node.js**, **Git** y **Hugo** instalados, y de haber creado un nuevo proyecto Hugo antes de continuar.
|
||||||
|
|
||||||
|
Acabamos de lanzar una nueva herramienta CLI para ayudarte a comenzar con Blowfish. Creará un nuevo proyecto Hugo, instalará el tema y configurará los archivos de configuración del tema por ti. Todavía está en beta, así que por favor [reporta cualquier problema que encuentres](https://github.com/nunocoracao/blowfish-tools).
|
||||||
|
|
||||||
|
Instala la herramienta CLI globalmente usando npm (u otro gestor de paquetes):
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Luego ejecuta el comando `blowfish-tools` para iniciar una ejecución interactiva que te guiará a través de los casos de uso de creación y configuración.
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
También puedes ejecutar el comando `blowfish-tools new` para crear un nuevo proyecto Hugo e instalar el tema de una sola vez. Consulta la ayuda de CLI para más información.
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Inicio rápido usando submódulos de git
|
||||||
|
|
||||||
|
> **Nota:** Asegúrate de tener **Git** y **Hugo** instalados, y de haber creado un nuevo proyecto Hugo antes de continuar.
|
||||||
|
|
||||||
|
1. Desde el directorio de tu proyecto, inicializa git:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Configura Blowfish como un submódulo de git:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. En la carpeta raíz de tu sitio web, elimina el archivo `hugo.toml` que fue generado por Hugo. Copia los archivos de configuración `*.toml` del tema en tu carpeta `config/_default/`.
|
||||||
|
|
||||||
|
Encontrarás estos archivos de configuración del tema en el directorio de caché de Hugo, o [descarga una copia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) desde GitHub.
|
||||||
|
|
||||||
|
4. Sigue las instrucciones de [Primeros Pasos](https://blowfish.page/docs/getting-started/) para configurar tu sitio web.
|
||||||
|
|
||||||
|
### Inicio rápido usando Hugo
|
||||||
|
|
||||||
|
> **Nota:** Asegúrate de tener **Go** y **Hugo** instalados, y de haber creado un nuevo proyecto Hugo antes de continuar.
|
||||||
|
|
||||||
|
1. Desde el directorio de tu proyecto, inicializa los Módulos de Hugo:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Crea `config/_default/module.toml` y agrega lo siguiente:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Inicia tu servidor usando `hugo server` y el tema se descargará automáticamente.
|
||||||
|
|
||||||
|
4. En la carpeta raíz de tu sitio web, elimina el archivo `hugo.toml` que fue generado por Hugo. Copia los archivos de configuración `*.toml` del tema en tu carpeta `config/_default/`.
|
||||||
|
|
||||||
|
> **Nota:** ¡No sobrescribas el archivo `module.toml` que creaste arriba!
|
||||||
|
|
||||||
|
Encontrarás estos archivos de configuración del tema en el directorio de caché de Hugo, o [descarga una copia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) desde GitHub.
|
||||||
|
|
||||||
|
5. Sigue las instrucciones de [Primeros Pasos](https://blowfish.page/docs/getting-started/) para configurar tu sitio web.
|
||||||
|
|
||||||
|
### Instalación de actualizaciones del tema
|
||||||
|
|
||||||
|
A medida que se publiquen nuevas versiones, puedes actualizar el tema usando Hugo. Simplemente ejecuta `hugo mod get -u` desde el directorio de tu proyecto y el tema se actualizará automáticamente a la última versión.
|
||||||
|
|
||||||
|
Las [instrucciones de actualización](https://blowfish.page/docs/installation/#installing-updates) detalladas están disponibles en la documentación.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contribuciones
|
||||||
|
|
||||||
|
Se espera que Blowfish evolucione con el tiempo. Tengo la intención de seguir agregando características y haciendo cambios según sea necesario.
|
||||||
|
|
||||||
|
Siéntete libre de ponerte en contacto con cualquier problema o sugerencia de nuevas características que te gustaría ver.
|
||||||
|
|
||||||
|
- 🐛 **Reportes de errores y problemas:** Usa [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ideas para nuevas características:** Abre una discusión en [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **Preguntas generales:** Dirígete a [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
Si puedes corregir un error o implementar una nueva característica, acepto PRs para este propósito. Aprende más en las [guías de contribución](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stargazers a lo largo del tiempo
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
179
README.fr.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | Français | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish est conçu pour être un thème puissant et léger pour [Hugo](https://gohugo.io). Il est construit avec Tailwind CSS avec un design épuré et minimaliste qui donne la priorité à votre contenu.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [Site de démonstration](https://blowfish.page/)
|
||||||
|
📑 [Documentation du thème](https://blowfish.page/docs/)
|
||||||
|
💎 [Boutique de produits dérivés](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Rapports de bugs et problèmes](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [Questions et demandes de fonctionnalités](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Fonctionnalités
|
||||||
|
|
||||||
|
- Disposition entièrement responsive construite avec Tailwind CSS 3.0
|
||||||
|
- Plusieurs palettes de couleurs (ou personnalisez entièrement la vôtre)
|
||||||
|
- Mode sombre (forcé activé/désactivé ou basculement automatique avec commutateur utilisateur)
|
||||||
|
- Configuration hautement personnalisable
|
||||||
|
- Intégration Firebase pour prendre en charge les données dynamiques
|
||||||
|
- Compteur de vues et mécanisme de likes
|
||||||
|
- Articles connexes
|
||||||
|
- Plusieurs mises en page pour la page d'accueil
|
||||||
|
- Plusieurs auteurs
|
||||||
|
- Séries d'articles
|
||||||
|
- Tri des articles basé sur la date et le poids
|
||||||
|
- Mode Zen pour la lecture d'articles
|
||||||
|
- Flexible avec tous les types de contenu, taxonomies et menus
|
||||||
|
- Menus d'en-tête et de pied de page
|
||||||
|
- Menus imbriqués et menu de sous-navigation
|
||||||
|
- Table des matières défilable
|
||||||
|
- Support du contenu multilingue incluant la prise en charge des langues RTL
|
||||||
|
- Possibilité de lier des articles sur des sites web tiers
|
||||||
|
- Prise en charge de plusieurs shortcodes comme Gallery, Timeline, GitHub cards et Carousels
|
||||||
|
- Syntaxe GitHub Alerts, 15 types, support pliable
|
||||||
|
- Intégration Buymeacoffee
|
||||||
|
- Recherche côté client alimentée par Fuse.js
|
||||||
|
- Diagrammes et visualisations utilisant Mermaid
|
||||||
|
- Graphiques utilisant Chart.js
|
||||||
|
- Intégration TypeIt
|
||||||
|
- Intégrations Youtube avec améliorations de performance
|
||||||
|
- Notation mathématique utilisant KaTeX
|
||||||
|
- Icônes SVG de FontAwesome 6
|
||||||
|
- Redimensionnement automatique des images utilisant Hugo Pipes
|
||||||
|
- Ancres de titres, Tables des matières, Copie de code, Boutons, Badges et plus
|
||||||
|
- Support HTML et Emoji dans les articles 🎉
|
||||||
|
- SEO optimisé avec liens pour partage sur les réseaux sociaux
|
||||||
|
- Support de Fathom Analytics et Google Analytics
|
||||||
|
- Flux RSS, Favicons et support des commentaires
|
||||||
|
- Personnalisation avancée utilisant de simples définitions de couleurs et styles Tailwind
|
||||||
|
- Optimisé pour les performances et l'accessibilité avec des scores Lighthouse parfaits
|
||||||
|
- Entièrement documenté avec des mises à jour régulières
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Blowfish dispose d'une [documentation complète](https://blowfish.page/docs/) qui couvre tous les aspects du thème. Assurez-vous de [lire la documentation](https://blowfish.page/docs/) pour en savoir plus sur l'utilisation du thème et de ses fonctionnalités.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Blowfish prend en charge plusieurs méthodes d'installation - en tant que sous-module git, module Hugo, ou en tant qu'installation complètement manuelle.
|
||||||
|
|
||||||
|
Des instructions détaillées pour chaque méthode se trouvent dans la documentation [Installation](https://blowfish.page/docs/installation). Vous devriez consulter la documentation pour l'expérience de configuration la plus simple. Ci-dessous se trouve un guide de démarrage rapide utilisant les sous-modules si vous utilisez git, ou les modules Hugo si vous êtes déjà à l'aise avec l'installation de thèmes Hugo.
|
||||||
|
|
||||||
|
### Démarrage rapide avec Blowfish Tools
|
||||||
|
|
||||||
|
> **Note :** Assurez-vous d'avoir **Node.js**, **Git** et **Hugo** installés, et d'avoir créé un nouveau projet Hugo avant de continuer.
|
||||||
|
|
||||||
|
Nous venons de lancer un nouvel outil CLI pour vous aider à démarrer avec Blowfish. Il créera un nouveau projet Hugo, installera le thème et configurera les fichiers de configuration du thème pour vous. Il est encore en version bêta, veuillez donc [signaler tout problème que vous rencontrez](https://github.com/nunocoracao/blowfish-tools).
|
||||||
|
|
||||||
|
Installez l'outil CLI globalement en utilisant npm (ou un autre gestionnaire de paquets) :
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Ensuite, exécutez la commande `blowfish-tools` pour démarrer une exécution interactive qui vous guidera à travers les cas d'utilisation de création et de configuration.
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Vous pouvez également exécuter la commande `blowfish-tools new` pour créer un nouveau projet Hugo et installer le thème en une seule fois. Consultez l'aide du CLI pour plus d'informations.
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Démarrage rapide avec les sous-modules git
|
||||||
|
|
||||||
|
> **Note :** Assurez-vous d'avoir **Git** et **Hugo** installés, et d'avoir créé un nouveau projet Hugo avant de continuer.
|
||||||
|
|
||||||
|
1. Depuis le répertoire de votre projet, initialisez git :
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Configurez Blowfish comme un sous-module git :
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Dans le dossier racine de votre site web, supprimez le fichier `hugo.toml` qui a été généré par Hugo. Copiez les fichiers de configuration `*.toml` du thème dans votre dossier `config/_default/`.
|
||||||
|
|
||||||
|
Vous trouverez ces fichiers de configuration du thème dans le répertoire cache de Hugo, ou [téléchargez une copie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) depuis GitHub.
|
||||||
|
|
||||||
|
4. Suivez les instructions [Pour commencer](https://blowfish.page/docs/getting-started/) pour configurer votre site web.
|
||||||
|
|
||||||
|
### Démarrage rapide avec Hugo
|
||||||
|
|
||||||
|
> **Note :** Assurez-vous d'avoir **Go** et **Hugo** installés, et d'avoir créé un nouveau projet Hugo avant de continuer.
|
||||||
|
|
||||||
|
1. Depuis le répertoire de votre projet, initialisez les modules Hugo :
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Créez `config/_default/module.toml` et ajoutez ce qui suit :
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Démarrez votre serveur en utilisant `hugo server` et le thème sera téléchargé automatiquement.
|
||||||
|
|
||||||
|
4. Dans le dossier racine de votre site web, supprimez le fichier `hugo.toml` qui a été généré par Hugo. Copiez les fichiers de configuration `*.toml` du thème dans votre dossier `config/_default/`.
|
||||||
|
|
||||||
|
> **Note :** Ne remplacez pas le fichier `module.toml` que vous avez créé ci-dessus !
|
||||||
|
|
||||||
|
Vous trouverez ces fichiers de configuration du thème dans le répertoire cache de Hugo, ou [téléchargez une copie](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) depuis GitHub.
|
||||||
|
|
||||||
|
5. Suivez les instructions [Pour commencer](https://blowfish.page/docs/getting-started/) pour configurer votre site web.
|
||||||
|
|
||||||
|
### Installation des mises à jour du thème
|
||||||
|
|
||||||
|
Au fur et à mesure que de nouvelles versions sont publiées, vous pouvez mettre à jour le thème en utilisant Hugo. Exécutez simplement `hugo mod get -u` depuis le répertoire de votre projet et le thème se mettra automatiquement à jour vers la dernière version.
|
||||||
|
|
||||||
|
Des [instructions de mise à jour](https://blowfish.page/docs/installation/#installing-updates) détaillées sont disponibles dans la documentation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contribuer
|
||||||
|
|
||||||
|
Blowfish est destiné à évoluer au fil du temps. J'ai l'intention de continuer à ajouter des fonctionnalités et à apporter des modifications selon les besoins.
|
||||||
|
|
||||||
|
N'hésitez pas à me contacter pour tout problème ou suggestion de nouvelles fonctionnalités que vous aimeriez voir.
|
||||||
|
|
||||||
|
- 🐛 **Rapports de bugs et problèmes :** Utilisez [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Idées de nouvelles fonctionnalités :** Ouvrez une discussion sur [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **Questions générales :** Rendez-vous sur [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
Si vous êtes en mesure de corriger un bug ou de mettre en œuvre une nouvelle fonctionnalité, j'accueille les PR à cette fin. Apprenez-en plus dans les [directives de contribution](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Évolution des stargazers
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
145
README.id.md
Normal file
@@ -0,0 +1,145 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | Indonesian
|
||||||
|
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish dirancang sebagai tema yang kuat dan ringan untuk [Hugo](https://gohugo.io). Tema ini dibuat menggunakan Tailwind CSS dengan desain yang bersih dan minimalis, yang mengutamakan konten Anda.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
🌏 [Situs demo](https://blowfish.page/)
|
||||||
|
📑 [Dokumentasi tema](https://blowfish.page/docs/)
|
||||||
|
💎 [Toko Merch](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Laporan bug & masalah](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [Pertanyaan & permintaan fitur](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Belikan Saya Kopi" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Toko Merch &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
## Fitur
|
||||||
|
|
||||||
|
- Tata letak responsif sepenuhnya dengan Tailwind CSS 3.0
|
||||||
|
- Beragam skema warna (atau sesuaikan sendiri)
|
||||||
|
- Mode gelap (paksa aktif/nonaktif atau otomatis dengan pengaturan pengguna)
|
||||||
|
- Konfigurasi yang sangat dapat disesuaikan
|
||||||
|
- Integrasi Firebase untuk mendukung data dinamis
|
||||||
|
- Penghitung tampilan & mekanisme suka
|
||||||
|
- Artikel terkait
|
||||||
|
- Beragam tata letak halaman utama
|
||||||
|
- Dukungan untuk banyak penulis
|
||||||
|
- Seri artikel
|
||||||
|
- Penyortiran artikel berdasarkan tanggal dan bobot
|
||||||
|
- Mode Zen untuk membaca artikel
|
||||||
|
- Fleksibel dengan berbagai jenis konten, taksonomi, dan menu
|
||||||
|
- Menu header dan footer
|
||||||
|
- Menu bersarang & sub-menu navigasi
|
||||||
|
- Daftar isi yang dapat digulir
|
||||||
|
- Dukungan untuk konten multibahasa termasuk bahasa RTL
|
||||||
|
- Kemampuan untuk menautkan ke artikel di situs web pihak ketiga
|
||||||
|
- Dukungan untuk beberapa shortcode seperti Galeri, Timeline, Kartu GitHub, dan Carousel
|
||||||
|
- Sintaks GitHub Alerts, 15 jenis, dukungan lipat
|
||||||
|
- Integrasi BuyMeACoffee
|
||||||
|
- Pencarian situs berbasis klien dengan Fuse.js
|
||||||
|
- Diagram dan visualisasi menggunakan Mermaid
|
||||||
|
- Grafik menggunakan Chart.js
|
||||||
|
- Integrasi TypeIt
|
||||||
|
- Sematan YouTube dengan peningkatan kinerja
|
||||||
|
- Notasi matematika menggunakan KaTeX
|
||||||
|
- Ikon SVG dari FontAwesome 6
|
||||||
|
- Pengubahan ukuran gambar otomatis menggunakan Hugo Pipes
|
||||||
|
- Anchor heading, daftar isi, salin kode, tombol, lencana, dan lainnya
|
||||||
|
- Dukungan HTML dan emoji dalam artikel 🎉
|
||||||
|
- SEO-friendly dengan tautan berbagi ke media sosial
|
||||||
|
- Dukungan untuk Fathom Analytics dan Google Analytics
|
||||||
|
- Dukungan RSS feed, favicon, dan komentar
|
||||||
|
- Kustomisasi tingkat lanjut dengan definisi warna dan gaya Tailwind yang sederhana
|
||||||
|
- Dioptimalkan untuk kinerja dan aksesibilitas dengan skor Lighthouse sempurna
|
||||||
|
- Dokumentasi lengkap dengan pembaruan rutin
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Dokumentasi
|
||||||
|
|
||||||
|
Blowfish memiliki [dokumentasi lengkap](https://blowfish.page/docs/) yang mencakup semua aspek tema. Pastikan untuk [membaca dokumentasi](https://blowfish.page/docs/) guna mempelajari cara menggunakan tema dan fiturnya.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instalasi
|
||||||
|
|
||||||
|
Blowfish mendukung beberapa metode instalasi - sebagai submodul git, Modul Hugo, atau instalasi manual sepenuhnya.
|
||||||
|
|
||||||
|
Instruksi terperinci untuk setiap metode dapat ditemukan dalam [dokumentasi instalasi](https://blowfish.page/docs/installation).
|
||||||
|
|
||||||
|
### Instalasi Cepat Menggunakan Blowfish Tools
|
||||||
|
|
||||||
|
> **Catatan:** Pastikan Anda sudah menginstal **Node.js**, **Git**, dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||||
|
|
||||||
|
Kami baru saja meluncurkan alat CLI baru untuk membantu Anda memulai dengan Blowfish. Ini akan membuat proyek Hugo baru, menginstal tema, dan mengatur file konfigurasi tema untuk Anda.
|
||||||
|
|
||||||
|
Instal alat CLI secara global menggunakan npm (atau manajer paket lainnya):
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Kemudian jalankan perintah berikut untuk memulai interaksi yang akan memandu Anda melalui proses pembuatan dan konfigurasi:
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Untuk membuat proyek Hugo baru dan menginstal tema sekaligus, gunakan:
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Instalasi Cepat Menggunakan Git Submodules
|
||||||
|
|
||||||
|
> **Catatan:** Pastikan Anda sudah menginstal **Git** dan **Hugo**, serta telah membuat proyek Hugo sebelum melanjutkan.
|
||||||
|
|
||||||
|
1. Dari direktori proyek Anda, inisialisasi git:
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Konfigurasikan Blowfish sebagai submodul git:
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Hapus file `hugo.toml` di root proyek dan salin file `*.toml` dari tema ke dalam folder `config/_default/`.
|
||||||
|
|
||||||
|
4. Ikuti petunjuk [Memulai](https://blowfish.page/docs/getting-started/) untuk mengonfigurasi situs web Anda.
|
||||||
|
|
||||||
|
### Memperbarui Tema
|
||||||
|
|
||||||
|
Untuk memperbarui tema ke rilis terbaru, cukup jalankan perintah berikut di direktori proyek Anda:
|
||||||
|
```shell
|
||||||
|
hugo mod get -u
|
||||||
|
```
|
||||||
|
|
||||||
|
Instruksi pembaruan selengkapnya tersedia dalam [dokumentasi instalasi](https://blowfish.page/docs/installation/#installing-updates).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Kontribusi
|
||||||
|
|
||||||
|
Blowfish akan terus berkembang seiring waktu. Jika Anda memiliki ide atau ingin melaporkan bug, silakan hubungi kami:
|
||||||
|
|
||||||
|
- 🐛 **Laporan bug & masalah:** Gunakan [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ide fitur baru:** Buat diskusi di [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **Pertanyaan umum:** Kunjungi [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
Jika Anda bisa memperbaiki bug atau menambahkan fitur baru, kontribusi dalam bentuk PR sangat dihargai. Pelajari lebih lanjut dalam [panduan kontribusi](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Grafik Stargazers
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
179
README.ja.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | 日本語 | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfishは[Hugo](https://gohugo.io)のために設計された強力で軽量なテーマです。Tailwind CSS を使用し、コンテンツを優先したクリーンでミニマルなデザインでが特徴です。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [デモサイト](https://blowfish.page/)
|
||||||
|
📑 [ドキュメント](https://blowfish.page/docs/)
|
||||||
|
💎 [グッズストア](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [バグ報告と問題点](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [質問と機能リクエスト](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 機能
|
||||||
|
|
||||||
|
- Tailwind CSS 3.0 で構築された、完璧なレスポンシブデザイン
|
||||||
|
- 複数の配色 (または、自分で完全にカスタマイズ可能)
|
||||||
|
- ダークモード (強制オン/オフ か 自動選択・ユーザー切り替え)
|
||||||
|
- 高度なカスタマイズが可能な設定
|
||||||
|
- Firebase 連携で動的データをサポート
|
||||||
|
- 閲覧数といいね機能
|
||||||
|
- 関連記事
|
||||||
|
- 複数のホームページレイアウト
|
||||||
|
- 複数人の著者
|
||||||
|
- シリーズ記事
|
||||||
|
- 日付と価値付けによる記事の並べ替え
|
||||||
|
- 記事を読むための Zen モード
|
||||||
|
- あらゆるコンテンツタイプ、分類、メニューに柔軟に対応
|
||||||
|
- ヘッダー/フッターメニュー
|
||||||
|
- 階層化されたメニューとサブナビゲーションメニュー
|
||||||
|
- スクロール可能な目次
|
||||||
|
- RTL 言語を含む多言語コンテンツのサポート
|
||||||
|
- サードパーティー ウェブサイトの投稿へのリンク
|
||||||
|
- ギャラリー、タイムライン、GitHub カード、カルーセルなど、複数のショートコードに対応
|
||||||
|
- GitHub Alerts 構文、15 種類、折りたたみ対応
|
||||||
|
- Buy Me a Coffee 連携
|
||||||
|
- Fuse.js を利用したクライアントサイドのサイト内検索
|
||||||
|
- Mermaid を使用したダイアグラムや視覚化
|
||||||
|
- Chart.js を使用したグラフ表示
|
||||||
|
- TypeIt 連携
|
||||||
|
- パフォーマンスを改善した YouTube 埋め込み
|
||||||
|
- KaTeX を使用した数式表現
|
||||||
|
- FontAwesome 6 の SVG アイコン
|
||||||
|
- Hugo Pipes を使用した画像の自動リサイズ
|
||||||
|
- アンカーリンク、目次、コードコピー、ボタン、バッジなど
|
||||||
|
- 記事内での HTML と絵文字のサポート 🎉
|
||||||
|
- ソーシャルメディアへの共有リンクを備えた SEO フレンドリーな設計
|
||||||
|
- Fathom Analytics と Google Analytics のサポート
|
||||||
|
- RSS フィード、ファビコン、コメント機能のサポート
|
||||||
|
- Tailwind の色定義とスタイルを使った高度なカスタマイズ
|
||||||
|
- Lighthouse で満点評価を獲得したパフォーマンスとアクセシビリティの最適化
|
||||||
|
- 充実したドキュメントと定期的なアップデート
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## ドキュメント
|
||||||
|
|
||||||
|
Blowfish には、テーマのあらゆる側面を網羅した[詳細なドキュメント](https://blowfish.page/docs/)があります。テーマの使い方や機能を詳しく知るために、必ず[ドキュメントを読んで](https://blowfish.page/docs/)ください。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## インストール
|
||||||
|
|
||||||
|
Blowfish は、git サブモジュール、Hugo モジュール、または完全な手動インストールなど、いくつかのインストール方法をサポートしています。
|
||||||
|
|
||||||
|
各方法の詳細な手順は、[インストール](https://blowfish.page/docs/installation)ドキュメントに記載されています。最も簡単なセットアップ方法については、ドキュメントを参照してください。以下にクイックスタートガイドを示します。git を使用している場合はサブモジュール、Hugo テーマのインストールに慣れている場合は Hugo モジュールを使用するのがおすすめです。
|
||||||
|
|
||||||
|
### Blowfish Tools を使ったクイックスタート
|
||||||
|
|
||||||
|
> **注意:** **Node.js**、**Git**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||||
|
|
||||||
|
Blowfish を使い始めるのに役立つ新しい CLI ツールをリリースしました。このツールは、新しい Hugo プロジェクトを作成し、テーマをインストールし、テーマ設定ファイルをセットアップします。まだベータ版なので、[問題を見つけたら報告してください](https://github.com/nunocoracao/blowfish-tools)。
|
||||||
|
|
||||||
|
npm(または他のパッケージマネージャー)を使って CLI ツールをグローバルにインストールします:
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
`blowfish-tools` コマンドを実行すると、対話形式でプロジェクトの作成と設定をガイドするツールが起動します。
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
`blowfish-tools new` コマンドを実行すると、新しい Hugo プロジェクトを作成し、テーマを一度にインストールすることもできます。詳細については、CLI のヘルプを参照してください。
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### git サブモジュールを使ったクイックスタート
|
||||||
|
|
||||||
|
> **注意:** **Git**、**Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||||
|
|
||||||
|
1. プロジェクトディレクトリで、git を初期化します。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Blowfish を git サブモジュールとして設定します。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. ウェブサイトのルートフォルダで、Hugo によって生成された `hugo.toml` ファイルを削除します。テーマから `*.toml` 設定ファイルをコピーして、`config/_default/` フォルダに保存します。
|
||||||
|
|
||||||
|
これらのテーマ設定ファイルは、Hugo キャッシュディレクトリにあります。または、GitHub から[コピーをダウンロード](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)できます。
|
||||||
|
|
||||||
|
4. [Getting Started](https://blowfish.page/docs/getting-started/) の手順に従って、ウェブサイトを設定します。
|
||||||
|
|
||||||
|
### Hugo を使ったクイックスタート
|
||||||
|
|
||||||
|
> **注意:** **Go** と **Hugo** がインストールされていること、そして先に進む前に新しい Hugo プロジェクトが作成されていることを確認してください。
|
||||||
|
|
||||||
|
1. プロジェクトディレクトリから、Hugo Modules を初期化します。
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. `config/_default/module.toml` を作成し、以下を追加します。
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. `hugo server` を使用してサーバーを起動すると、テーマが自動的にダウンロードされます。
|
||||||
|
|
||||||
|
4. ウェブサイトのルートフォルダにある、Hugo によって生成された `hugo.toml` ファイルを削除します。テーマの `*.toml` 設定ファイルを `config/_default/` フォルダにコピーします。
|
||||||
|
|
||||||
|
> **注意:** 上記で作成した `module.toml` ファイルを上書きしないでください!
|
||||||
|
|
||||||
|
これらのテーマ設定ファイルは、Hugo のキャッシュディレクトリにあります。または、GitHub から[コピーをダウンロード](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)できます。
|
||||||
|
|
||||||
|
5. [Getting Started](https://blowfish.page/docs/getting-started/) の手順に従って、ウェブサイトを設定します。
|
||||||
|
|
||||||
|
### テーマのアップデートのインストール
|
||||||
|
|
||||||
|
新しいリリースが公開されたら、Hugo を使ってテーマをアップデートできます。プロジェクトディレクトリから `hugo mod get -u` を実行するだけで、テーマは自動的に最新リリースにアップデートされます。
|
||||||
|
|
||||||
|
詳細な[アップデート手順](https://blowfish.page/docs/installation/#installing-updates)はドキュメントに記載されています。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 貢献
|
||||||
|
|
||||||
|
Blowfish は時間とともに進化していく予定です。必要に応じて機能の追加や変更を続けていく予定です。
|
||||||
|
|
||||||
|
問題や追加してほしい新機能の提案があれば、お気軽にご連絡ください。
|
||||||
|
|
||||||
|
- 🐛 **バグ報告と問題点:** [GitHub Issues](https://github.com/nunocoracao/blowfish/issues) を使用してください
|
||||||
|
- 💡 **新機能のアイデア:** [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) でディスカッションを開始してください
|
||||||
|
- 🙋♀️ **一般的な質問:** [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) へ進んでください
|
||||||
|
|
||||||
|
バグ修正や新機能の実装ができる方は、Pull Request を歓迎します。詳しくは[貢献ガイドライン](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md)をご覧ください。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## スター数の推移
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
179
README.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
English | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish is designed to be a powerful, lightweight theme for [Hugo](https://gohugo.io). It's built using Tailwind CSS with a clean and minimalist design that prioritises to your content.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [Demo site](https://blowfish.page/)
|
||||||
|
📑 [Theme documentation](https://blowfish.page/docs/)
|
||||||
|
💎 [Merch Store](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Bug reports & issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [Questions & feature requests](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- Fully responsive layout built with Tailwind CSS 3.0
|
||||||
|
- Multiple colour schemes (or fully customise your own)
|
||||||
|
- Dark mode (forced on/off or auto-switching with user toggle)
|
||||||
|
- Highly customisable configuration
|
||||||
|
- Firebase integration to support dynamic data
|
||||||
|
- Views count & like mechanism
|
||||||
|
- Related articles
|
||||||
|
- Multiple homepage layouts
|
||||||
|
- Multiple authors
|
||||||
|
- Series of articles
|
||||||
|
- Date and weight based article sorting
|
||||||
|
- Zen mode for article reading
|
||||||
|
- Flexible with any content types, taxonomies and menus
|
||||||
|
- Header and footer menus
|
||||||
|
- Nested menus & sub-navigation menu
|
||||||
|
- Scrollable table of contents
|
||||||
|
- Multilingual content support including support for RTL languages
|
||||||
|
- Ability to link to posts on third-party websites
|
||||||
|
- Support for several shortcodes like Gallery, Timeline, GitHub cards, and Carousels
|
||||||
|
- GitHub Alerts syntax, 15 types, collapsible support
|
||||||
|
- Buymeacoffee integration
|
||||||
|
- Client-side site search powered by Fuse.js
|
||||||
|
- Diagrams and visualisations using Mermaid
|
||||||
|
- Charts using Chart.js
|
||||||
|
- TypeIt integration
|
||||||
|
- Youtube embeds with performance improvements
|
||||||
|
- Mathematical notation using KaTeX
|
||||||
|
- SVG icons from FontAwesome 6
|
||||||
|
- Automatic image resizing using Hugo Pipes
|
||||||
|
- Heading anchors, Tables of Contents, Code copy, Buttons, Badges and more
|
||||||
|
- HTML and Emoji support in articles 🎉
|
||||||
|
- SEO friendly with links for sharing to social media
|
||||||
|
- Fathom Analytics and Google Analytics support
|
||||||
|
- RSS feeds, Favicons and comments support
|
||||||
|
- Advanced customisation using simple Tailwind colour definitions and styles
|
||||||
|
- Optimised for performance and accessibility with perfect Lighthouse scores
|
||||||
|
- Fully documented with regular updates
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Blowfish has [extensive documentation](https://blowfish.page/docs/) that covers all aspects of the theme. Be sure to [read the docs](https://blowfish.page/docs/) to learn more about how to use the theme and its features.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Blowfish supports several installation methods - as a git submodule, a Hugo Module, or as a completely manual install.
|
||||||
|
|
||||||
|
Detailed instructions for each method can be found in the [Installation](https://blowfish.page/docs/installation) docs. You should consult the documentation for the simplest setup experience. Below is a quick start guide using submodules if you are using git, or Hugo modules if you're already confident installing Hugo themes.
|
||||||
|
|
||||||
|
### Quick start using Blowfish Tools
|
||||||
|
|
||||||
|
> **Note:** Ensure you have **Node.js**, **Git** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||||
|
|
||||||
|
We just launched a new CLI tool to help you get started with Blowfish. It will create a new Hugo project, install the theme and set up the theme configuration files for you. It's still in beta so please [report any issues you find](https://github.com/nunocoracao/blowfish-tools).
|
||||||
|
|
||||||
|
Install the CLI tool globally using npm (or other package manager):
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Then run the command `blowfish-tools` to start an interactive run which will guide you through creation and configuration use-cases.
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also run the command `blowfish-tools new` to create a new Hugo project and install the theme in one go. Check the CLI help for more information.
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Quick start using git submodules
|
||||||
|
|
||||||
|
> **Note:** Ensure you have **Git** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||||
|
|
||||||
|
1. From your project directory, initialise git:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Configure Blowfish as a git submodule:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. In the root folder of your website, delete the `hugo.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder.
|
||||||
|
|
||||||
|
You will find these theme config files in the Hugo cache directory, or [download a copy](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) from GitHub.
|
||||||
|
|
||||||
|
4. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website.
|
||||||
|
|
||||||
|
### Quick start using Hugo
|
||||||
|
|
||||||
|
> **Note:** Ensure you have **Go** and **Hugo** installed, and that you have created a new Hugo project before proceeding.
|
||||||
|
|
||||||
|
1. From your project directory, initialise Hugo Modules:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Create `config/_default/module.toml` and add the following:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Start your server using `hugo server` and the theme will be downloaded automatically.
|
||||||
|
|
||||||
|
4. In the root folder of your website, delete the `hugo.toml` file that was generated by Hugo. Copy the `*.toml` config files from the theme into your `config/_default/` folder.
|
||||||
|
|
||||||
|
> **Note:** Do not overwrite the `module.toml` file you created above!
|
||||||
|
|
||||||
|
You will find these theme config files in the Hugo cache directory, or [download a copy](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) from GitHub.
|
||||||
|
|
||||||
|
5. Follow the [Getting Started](https://blowfish.page/docs/getting-started/) instructions to configure your website.
|
||||||
|
|
||||||
|
### Installing theme updates
|
||||||
|
|
||||||
|
As new releases are posted, you can update the theme using Hugo. Simply run `hugo mod get -u` from your project directory and the theme will automatically update to the latest release.
|
||||||
|
|
||||||
|
Detailed [update instructions](https://blowfish.page/docs/installation/#installing-updates) are available in the docs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
Blowfish is expected to evolve over time. I intend to keep adding features and making changes as required.
|
||||||
|
|
||||||
|
Feel free to get in touch with any issues or suggestions for new features you'd like to see.
|
||||||
|
|
||||||
|
- 🐛 **Bug reports & issues:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ideas for new features:** Open a discussion on [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **General questions:** Head to [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
If you're able to fix a bug or implement a new feature, I welcome PRs for this purpose. Learn more in the [contributing guidelines](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stargazers over time
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
179
README.pt-br.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | Português (BR) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish foi projetado para ser um tema poderoso e leve para [Hugo](https://gohugo.io). É construído usando Tailwind CSS com um design limpo e minimalista que prioriza o seu conteúdo.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [Site de demonstração](https://blowfish.page/)
|
||||||
|
📑 [Documentação do tema](https://blowfish.page/docs/)
|
||||||
|
💎 [Loja de produtos](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Relatórios de bugs e problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [Perguntas e solicitações de recursos](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Recursos
|
||||||
|
|
||||||
|
- Layout totalmente responsivo construído com Tailwind CSS 3.0
|
||||||
|
- Múltiplos esquemas de cores (ou personalize completamente o seu próprio)
|
||||||
|
- Modo escuro (forçado ligado/desligado ou alternância automática com botão do usuário)
|
||||||
|
- Configuração altamente personalizável
|
||||||
|
- Integração com Firebase para suportar dados dinâmicos
|
||||||
|
- Contagem de visualizações e mecanismo de curtidas
|
||||||
|
- Artigos relacionados
|
||||||
|
- Múltiplos layouts de página inicial
|
||||||
|
- Múltiplos autores
|
||||||
|
- Séries de artigos
|
||||||
|
- Ordenação de artigos baseada em data e peso
|
||||||
|
- Modo zen para leitura de artigos
|
||||||
|
- Flexível com qualquer tipo de conteúdo, taxonomias e menus
|
||||||
|
- Menus de cabeçalho e rodapé
|
||||||
|
- Menus aninhados e menu de sub-navegação
|
||||||
|
- Índice com rolagem
|
||||||
|
- Suporte a conteúdo multilíngue incluindo suporte para idiomas RTL
|
||||||
|
- Capacidade de linkar para posts em sites de terceiros
|
||||||
|
- Suporte para vários shortcodes como Gallery, Timeline, GitHub cards e Carousels
|
||||||
|
- Sintaxe de alertas do GitHub, 15 tipos, suporte recolhível
|
||||||
|
- Integração com Buymeacoffee
|
||||||
|
- Busca no site do lado do cliente alimentada por Fuse.js
|
||||||
|
- Diagramas e visualizações usando Mermaid
|
||||||
|
- Gráficos usando Chart.js
|
||||||
|
- Integração com TypeIt
|
||||||
|
- Embeds do Youtube com melhorias de performance
|
||||||
|
- Notação matemática usando KaTeX
|
||||||
|
- Ícones SVG do FontAwesome 6
|
||||||
|
- Redimensionamento automático de imagens usando Hugo Pipes
|
||||||
|
- Âncoras de cabeçalho, Índices, Cópia de código, Botões, Badges e mais
|
||||||
|
- Suporte a HTML e Emoji em artigos 🎉
|
||||||
|
- SEO amigável com links para compartilhamento em redes sociais
|
||||||
|
- Suporte a Fathom Analytics e Google Analytics
|
||||||
|
- Suporte a feeds RSS, Favicons e comentários
|
||||||
|
- Personalização avançada usando definições simples de cores e estilos do Tailwind
|
||||||
|
- Otimizado para performance e acessibilidade com pontuações perfeitas no Lighthouse
|
||||||
|
- Totalmente documentado com atualizações regulares
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
Blowfish possui [documentação extensa](https://blowfish.page/docs/) que cobre todos os aspectos do tema. Certifique-se de [ler a documentação](https://blowfish.page/docs/) para saber mais sobre como usar o tema e seus recursos.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instalação
|
||||||
|
|
||||||
|
Blowfish suporta vários métodos de instalação - como submódulo git, Hugo Module, ou como uma instalação completamente manual.
|
||||||
|
|
||||||
|
Instruções detalhadas para cada método podem ser encontradas na documentação de [Instalação](https://blowfish.page/docs/installation). Você deve consultar a documentação para a experiência de configuração mais simples. Abaixo está um guia de início rápido usando submódulos se você estiver usando git, ou Hugo modules se você já estiver confiante em instalar temas Hugo.
|
||||||
|
|
||||||
|
### Início rápido usando Blowfish Tools
|
||||||
|
|
||||||
|
> **Nota:** Certifique-se de ter **Node.js**, **Git** e **Hugo** instalados, e que você criou um novo projeto Hugo antes de prosseguir.
|
||||||
|
|
||||||
|
Acabamos de lançar uma nova ferramenta CLI para ajudá-lo a começar com Blowfish. Ela criará um novo projeto Hugo, instalará o tema e configurará os arquivos de configuração do tema para você. Ainda está em beta, então por favor [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||||
|
|
||||||
|
Instale a ferramenta CLI globalmente usando npm (ou outro gerenciador de pacotes):
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Em seguida, execute o comando `blowfish-tools` para iniciar uma execução interativa que o guiará pelos casos de uso de criação e configuração.
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Você também pode executar o comando `blowfish-tools new` para criar um novo projeto Hugo e instalar o tema de uma vez. Verifique a ajuda da CLI para mais informações.
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Início rápido usando submódulos git
|
||||||
|
|
||||||
|
> **Nota:** Certifique-se de ter **Git** e **Hugo** instalados, e que você criou um novo projeto Hugo antes de prosseguir.
|
||||||
|
|
||||||
|
1. Do diretório do seu projeto, inicialize o git:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Configure Blowfish como um submódulo git:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Na pasta raiz do seu site, exclua o arquivo `hugo.toml` que foi gerado pelo Hugo. Copie os arquivos de configuração `*.toml` do tema para sua pasta `config/_default/`.
|
||||||
|
|
||||||
|
Você encontrará esses arquivos de configuração do tema no diretório de cache do Hugo, ou [baixe uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||||
|
|
||||||
|
4. Siga as instruções de [Primeiros Passos](https://blowfish.page/docs/getting-started/) para configurar seu site.
|
||||||
|
|
||||||
|
### Início rápido usando Hugo
|
||||||
|
|
||||||
|
> **Nota:** Certifique-se de ter **Go** e **Hugo** instalados, e que você criou um novo projeto Hugo antes de prosseguir.
|
||||||
|
|
||||||
|
1. Do diretório do seu projeto, inicialize os Hugo Modules:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Crie `config/_default/module.toml` e adicione o seguinte:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Inicie seu servidor usando `hugo server` e o tema será baixado automaticamente.
|
||||||
|
|
||||||
|
4. Na pasta raiz do seu site, exclua o arquivo `hugo.toml` que foi gerado pelo Hugo. Copie os arquivos de configuração `*.toml` do tema para sua pasta `config/_default/`.
|
||||||
|
|
||||||
|
> **Nota:** Não sobrescreva o arquivo `module.toml` que você criou acima!
|
||||||
|
|
||||||
|
Você encontrará esses arquivos de configuração do tema no diretório de cache do Hugo, ou [baixe uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||||
|
|
||||||
|
5. Siga as instruções de [Primeiros Passos](https://blowfish.page/docs/getting-started/) para configurar seu site.
|
||||||
|
|
||||||
|
### Instalando atualizações do tema
|
||||||
|
|
||||||
|
À medida que novos lançamentos são publicados, você pode atualizar o tema usando Hugo. Simplesmente execute `hugo mod get -u` do diretório do seu projeto e o tema será atualizado automaticamente para a versão mais recente.
|
||||||
|
|
||||||
|
[Instruções detalhadas de atualização](https://blowfish.page/docs/installation/#installing-updates) estão disponíveis na documentação.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contribuindo
|
||||||
|
|
||||||
|
Blowfish deve evoluir ao longo do tempo. Pretendo continuar adicionando recursos e fazendo alterações conforme necessário.
|
||||||
|
|
||||||
|
Sinta-se à vontade para entrar em contato com quaisquer problemas ou sugestões de novos recursos que você gostaria de ver.
|
||||||
|
|
||||||
|
- 🐛 **Relatórios de bugs e problemas:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ideias para novos recursos:** Abra uma discussão em [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **Perguntas gerais:** Vá para [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
Se você for capaz de corrigir um bug ou implementar um novo recurso, dou as boas-vindas a PRs para este propósito. Saiba mais nas [diretrizes de contribuição](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stargazers ao longo do tempo
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
179
README.pt-pt.md
Normal file
@@ -0,0 +1,179 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | Português (PT) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | [简体中文](https://github.com/nunocoracao/blowfish/blob/main/README.zh-cn.md) | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish foi desenhado para ser um tema poderoso e leve para [Hugo](https://gohugo.io). É construído com Tailwind CSS com um design limpo e minimalista que prioriza o seu conteúdo.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [Site de demonstração](https://blowfish.page/)
|
||||||
|
📑 [Documentação do tema](https://blowfish.page/docs/)
|
||||||
|
💎 [Loja de merchandising](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Relatórios de erros & problemas](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [Questões & pedidos de funcionalidades](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Funcionalidades
|
||||||
|
|
||||||
|
- Layout totalmente responsivo construído com Tailwind CSS 3.0
|
||||||
|
- Múltiplos esquemas de cores (ou personalize completamente o seu próprio)
|
||||||
|
- Modo escuro (forçado ligado/desligado ou alternância automática com seletor do utilizador)
|
||||||
|
- Configuração altamente personalizável
|
||||||
|
- Integração com Firebase para suportar dados dinâmicos
|
||||||
|
- Contagem de visualizações & mecanismo de gostos
|
||||||
|
- Artigos relacionados
|
||||||
|
- Múltiplos layouts de página inicial
|
||||||
|
- Múltiplos autores
|
||||||
|
- Séries de artigos
|
||||||
|
- Ordenação de artigos baseada em data e peso
|
||||||
|
- Modo Zen para leitura de artigos
|
||||||
|
- Flexível com qualquer tipo de conteúdo, taxonomias e menus
|
||||||
|
- Menus de cabeçalho e rodapé
|
||||||
|
- Menus aninhados & menu de sub-navegação
|
||||||
|
- Índice de conteúdos com scroll
|
||||||
|
- Suporte para conteúdo multilingue incluindo suporte para línguas RTL
|
||||||
|
- Capacidade de criar links para publicações em sites de terceiros
|
||||||
|
- Suporte para vários shortcodes como Gallery, Timeline, GitHub cards e Carousels
|
||||||
|
- Sintaxe GitHub Alerts, 15 tipos, suporte para elementos expansíveis
|
||||||
|
- Integração Buymeacoffee
|
||||||
|
- Pesquisa no site do lado do cliente alimentada por Fuse.js
|
||||||
|
- Diagramas e visualizações usando Mermaid
|
||||||
|
- Gráficos usando Chart.js
|
||||||
|
- Integração TypeIt
|
||||||
|
- Embeds de Youtube com melhorias de desempenho
|
||||||
|
- Notação matemática usando KaTeX
|
||||||
|
- Ícones SVG do FontAwesome 6
|
||||||
|
- Redimensionamento automático de imagens usando Hugo Pipes
|
||||||
|
- Âncoras de cabeçalhos, Índices de Conteúdos, Cópia de código, Botões, Badges e mais
|
||||||
|
- Suporte HTML e Emoji em artigos 🎉
|
||||||
|
- Otimizado para SEO com links para partilha em redes sociais
|
||||||
|
- Suporte para Fathom Analytics e Google Analytics
|
||||||
|
- Feeds RSS, Favicons e suporte para comentários
|
||||||
|
- Personalização avançada usando definições simples de cores e estilos do Tailwind
|
||||||
|
- Otimizado para desempenho e acessibilidade com pontuações perfeitas no Lighthouse
|
||||||
|
- Totalmente documentado com atualizações regulares
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## Documentação
|
||||||
|
|
||||||
|
Blowfish tem [documentação extensa](https://blowfish.page/docs/) que cobre todos os aspetos do tema. Certifique-se de [ler a documentação](https://blowfish.page/docs/) para saber mais sobre como usar o tema e as suas funcionalidades.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Instalação
|
||||||
|
|
||||||
|
Blowfish suporta vários métodos de instalação - como um submódulo git, um Módulo Hugo, ou como uma instalação completamente manual.
|
||||||
|
|
||||||
|
Instruções detalhadas para cada método podem ser encontradas na documentação de [Instalação](https://blowfish.page/docs/installation). Deve consultar a documentação para a experiência de configuração mais simples. Abaixo está um guia de início rápido usando submódulos se estiver a usar git, ou módulos Hugo se já está confiante na instalação de temas Hugo.
|
||||||
|
|
||||||
|
### Início rápido usando Blowfish Tools
|
||||||
|
|
||||||
|
> **Nota:** Certifique-se de que tem **Node.js**, **Git** e **Hugo** instalados, e que criou um novo projeto Hugo antes de continuar.
|
||||||
|
|
||||||
|
Acabámos de lançar uma nova ferramenta CLI para ajudá-lo a começar com Blowfish. Ela irá criar um novo projeto Hugo, instalar o tema e configurar os ficheiros de configuração do tema para si. Ainda está em beta por isso [reporte quaisquer problemas que encontrar](https://github.com/nunocoracao/blowfish-tools).
|
||||||
|
|
||||||
|
Instale a ferramenta CLI globalmente usando npm (ou outro gestor de pacotes):
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Depois execute o comando `blowfish-tools` para iniciar uma execução interativa que irá guiá-lo através da criação e casos de uso de configuração.
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
Também pode executar o comando `blowfish-tools new` para criar um novo projeto Hugo e instalar o tema de uma só vez. Consulte a ajuda da CLI para mais informações.
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### Início rápido usando submódulos git
|
||||||
|
|
||||||
|
> **Nota:** Certifique-se de que tem **Git** e **Hugo** instalados, e que criou um novo projeto Hugo antes de continuar.
|
||||||
|
|
||||||
|
1. A partir do diretório do seu projeto, inicialize o git:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Configure Blowfish como um submódulo git:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Na pasta raiz do seu site, elimine o ficheiro `hugo.toml` que foi gerado pelo Hugo. Copie os ficheiros de configuração `*.toml` do tema para a sua pasta `config/_default/`.
|
||||||
|
|
||||||
|
Irá encontrar estes ficheiros de configuração do tema no diretório de cache do Hugo, ou [descarregue uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||||
|
|
||||||
|
4. Siga as instruções de [Introdução](https://blowfish.page/docs/getting-started/) para configurar o seu site.
|
||||||
|
|
||||||
|
### Início rápido usando Hugo
|
||||||
|
|
||||||
|
> **Nota:** Certifique-se de que tem **Go** e **Hugo** instalados, e que criou um novo projeto Hugo antes de continuar.
|
||||||
|
|
||||||
|
1. A partir do diretório do seu projeto, inicialize os Módulos Hugo:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<username>/<repo-name>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Crie `config/_default/module.toml` e adicione o seguinte:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Inicie o seu servidor usando `hugo server` e o tema será descarregado automaticamente.
|
||||||
|
|
||||||
|
4. Na pasta raiz do seu site, elimine o ficheiro `hugo.toml` que foi gerado pelo Hugo. Copie os ficheiros de configuração `*.toml` do tema para a sua pasta `config/_default/`.
|
||||||
|
|
||||||
|
> **Nota:** Não sobrescreva o ficheiro `module.toml` que criou acima!
|
||||||
|
|
||||||
|
Irá encontrar estes ficheiros de configuração do tema no diretório de cache do Hugo, ou [descarregue uma cópia](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip) do GitHub.
|
||||||
|
|
||||||
|
5. Siga as instruções de [Introdução](https://blowfish.page/docs/getting-started/) para configurar o seu site.
|
||||||
|
|
||||||
|
### Instalar atualizações do tema
|
||||||
|
|
||||||
|
À medida que novas versões são publicadas, pode atualizar o tema usando Hugo. Simplesmente execute `hugo mod get -u` a partir do diretório do seu projeto e o tema será automaticamente atualizado para a versão mais recente.
|
||||||
|
|
||||||
|
[Instruções detalhadas de atualização](https://blowfish.page/docs/installation/#installing-updates) estão disponíveis na documentação.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contribuir
|
||||||
|
|
||||||
|
Espera-se que Blowfish evolua ao longo do tempo. Pretendo continuar a adicionar funcionalidades e fazer alterações conforme necessário.
|
||||||
|
|
||||||
|
Sinta-se à vontade para entrar em contacto com quaisquer problemas ou sugestões para novas funcionalidades que gostaria de ver.
|
||||||
|
|
||||||
|
- 🐛 **Relatórios de erros & problemas:** Use [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **Ideias para novas funcionalidades:** Abra uma discussão em [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
- 🙋♀️ **Questões gerais:** Dirija-se a [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
Se conseguir corrigir um erro ou implementar uma nova funcionalidade, aceito PRs para este propósito. Saiba mais nas [diretrizes de contribuição](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stargazers ao longo do tempo
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
176
README.zh-cn.md
Normal file
@@ -0,0 +1,176 @@
|
|||||||
|
[English](https://github.com/nunocoracao/blowfish/blob/main/README.md) | [Français](https://github.com/nunocoracao/blowfish/blob/main/README.fr.md) | [Deutsch](https://github.com/nunocoracao/blowfish/blob/main/README.de.md) | [Português (PT)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-pt.md) | [Português (BR)](https://github.com/nunocoracao/blowfish/blob/main/README.pt-br.md) | [Español](https://github.com/nunocoracao/blowfish/blob/main/README.es.md) | [日本語](https://github.com/nunocoracao/blowfish/blob/main/README.ja.md) | 简体中文 | [Indonesian](https://github.com/nunocoracao/blowfish/blob/main/README.id.md)
|
||||||
|
# Blowfish
|
||||||
|
[](https://app.netlify.com/sites/snazzy-dango-efb2ec/deploys)
|
||||||
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.141.0)
|
||||||
|
[](https://github.com/nunocoracao/blowfish/blob/main/LICENSE)
|
||||||
|
[](https://themes.gohugo.io/themes/blowfish/)
|
||||||
|

|
||||||
|
|
||||||
|
Blowfish 是一个轻量有力的 Hugo 主题。它使用 Tailwind CSS 构建,洁净而富有极简主义,是你网站内容载体的不二之选。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
🌏 [示例站点](https://blowfish.page/zh-cn/)
|
||||||
|
📑 [主题文档](https://blowfish.page/zh-cn/docs/)
|
||||||
|
💎 [周边商店](http://tee.pub/lic/qwSlWVBL5zc)
|
||||||
|
🐛 [Bug 问题报告](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
💡 [问答和功能需求](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="https://www.buymeacoffee.com/nunocoracao" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px !important;width: 217px !important;" ></a>
|
||||||
|
<a target="_blank" href="http://tee.pub/lic/qwSlWVBL5zc"><img class="nozoom" src="https://img.buymeacoffee.com/button-api/?text=Merch Store &emoji=💎&slug=nunocoracao&button_colour=5F7FFF&font_colour=ffffff&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00" /></a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
- 使用 Tailwind CSS 3.0 构建全面响应式布局
|
||||||
|
- 多种配色方案,亦可完全由你定义
|
||||||
|
- 夜间模式支持(手动开启/关闭或根据用户设备自动切换)
|
||||||
|
- 高度自主的配置方式
|
||||||
|
- 集成 Firebase 以支持动态数据统计
|
||||||
|
- 集成浏览次数统计和点赞机制
|
||||||
|
- “相关文章”列表生成
|
||||||
|
- 多种主页布局
|
||||||
|
- 多作者模式支持
|
||||||
|
- 可将文章整理成选集列表
|
||||||
|
- 禅模式支持
|
||||||
|
- 可灵活定义各种内容类型、分类标准和菜单
|
||||||
|
- 页眉和页脚双重菜单可选
|
||||||
|
- 支持嵌套菜单和子导航菜单
|
||||||
|
- 支持多语言内容,包括 RTL 语言
|
||||||
|
- 可链接到第三方网站上的帖子
|
||||||
|
- 支持多种简码,如图库、时间轴、GitHub 卡片和图片灯箱
|
||||||
|
- 支持 GitHub Alerts 语法、15 种类型和可折叠功能
|
||||||
|
- 支持 Buymeacoffee
|
||||||
|
- 拥有由 Fuse.js 支持的客户端一侧网站搜索功能
|
||||||
|
- 植入了基于 Mermaid 的图表功能
|
||||||
|
- 植入了基于 Chart.js 的图表功能
|
||||||
|
- 集成逼真的自动打字效果
|
||||||
|
- 集成性能优化的 Youtube 卡片简码
|
||||||
|
- 集成 KaTeX 的公式
|
||||||
|
- 集成 FontAwesome 6 的矢量图标引用
|
||||||
|
- 使用 Hugo Pipes 自动调整图像大小
|
||||||
|
- 拥有标题锚点、目录、代码复制、按钮、分类徽章等功能
|
||||||
|
- 文章内部支持 HTML 和 Emoji 🎉
|
||||||
|
- 便于搜索引擎优化,文章可一键分享到社交媒体
|
||||||
|
- 支持 Fathom Analytics 和 Google Analytics
|
||||||
|
- 支持 RSS 订阅、网站图标和评论功能
|
||||||
|
- 可使用简单的 Tailwind 对颜色和样式进行高级定制
|
||||||
|
- 优化了性能和可访问性,拥有极高的 Lighthouse 评分
|
||||||
|
- 文档齐全,定期更新
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 文档
|
||||||
|
Blowfish 有 [全面的文档](https://blowfish.page/zh-cn/docs/),覆盖主题的任何一个方面。 请确保 [阅读文档](https://blowfish.page/zh-cn/docs/) 以详细了解本主题有哪些功能。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 安装
|
||||||
|
|
||||||
|
Blowfish 支持多种安装方式,既能作为 git 子模块、Hugo 模块,也可完全手动安装。
|
||||||
|
|
||||||
|
每种方法的详细说明都可以在 [安装](https://blowfish.page/zh-cn/docs/installation) 文档中找到。为了获得最简单的安装体验,请查阅文档。如果你使用的是 git,请阅读下面使用子模块的快速开始指南;如果你能安装 Hugo 主题,请阅读下面 Hugo 模块的快速开始指南。
|
||||||
|
|
||||||
|
### 使用 Blowfish Tools 快速开始
|
||||||
|
|
||||||
|
> **注:** 请确保你已安装 **Node.js**、 **Git** 和 **Hugo** ,且已经创建了一个 Hugo 工程。
|
||||||
|
|
||||||
|
我们最新推出了一个新的 CLI 工具,帮助你开始使用 Blowfish。它将为你创建一个新的 Hugo 项目、安装主题并设置主题配置文件。它仍处于测试阶段,因此请 [报告你发现的任何问题](https://github.com/nunocoracao/blowfish-tools)。
|
||||||
|
|
||||||
|
使用 npm(或其他软件包管理器)全局安装 CLI 工具:
|
||||||
|
```shell
|
||||||
|
npm i -g blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
然后运行 "blowfish-tools "命令,开启一个交互式进程,引导你完成创建和配置。
|
||||||
|
```shell
|
||||||
|
blowfish-tools
|
||||||
|
```
|
||||||
|
|
||||||
|
你也可以运行命令 `blowfish-tools new` 来创建一个新的 Hugo 项目,并一次性安装主题。更多信息请查看 CLI 帮助。
|
||||||
|
```shell
|
||||||
|
blowfish-tools new mynewsite
|
||||||
|
```
|
||||||
|
|
||||||
|
### 使用 git 子模块快速开始
|
||||||
|
|
||||||
|
> **注:** 请确保你已安装 **Git** 和 **Hugo** ,且已经创建了一个 Hugo 工程。
|
||||||
|
|
||||||
|
1. 从你工程的所在目录初始化 git 仓库
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git init
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 配置 Blowfish 作为 git 子模块
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git submodule add -b main https://github.com/nunocoracao/blowfish.git themes/blowfish
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 在你网站的根目录中删除由 Hugo 自动生成的 `hugo.toml` 文件,并把主题文件夹中的 `*.toml` 配置文件复制到你的 `config/_default/` 文件夹中
|
||||||
|
|
||||||
|
你可在 Hugo 缓存目录中找到主题配置文件,或者也可以从[这里](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)下载一份。
|
||||||
|
|
||||||
|
4. 按照[入门指南](https://blowfish.page/zh-cn/docs/getting-started/)来配置你的网站
|
||||||
|
|
||||||
|
### 使用 Hugo 快速开始
|
||||||
|
|
||||||
|
> **注:** 确保你已经安装了 **Go** 和 **Hugo**,且已创建了一个 Hugo 工程。
|
||||||
|
|
||||||
|
1. 从你工程的所在目录初始化 Hugo 模块
|
||||||
|
|
||||||
|
```shell
|
||||||
|
hugo mod init github.com/<用户名>/<仓库名>
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 新建 `config/_default/module.toml` 并写入以下内容:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[imports]]
|
||||||
|
path = "github.com/nunocoracao/blowfish/v2"
|
||||||
|
```
|
||||||
|
|
||||||
|
3. 运行 `hugo server` 启动你的本地服务器,本主题就会自动下载。
|
||||||
|
|
||||||
|
4. 在你网站的根目录中删除由 Hugo 自动生成的 `hugo.toml`文件,并把主题文件夹中的`*.toml`配置文件复制到你的 `config/_default/`文件夹中
|
||||||
|
|
||||||
|
> **注** 不要覆盖之前的 `module.toml` !
|
||||||
|
|
||||||
|
你可在 Hugo 缓存目录中找到主题配置文件,或者也可以从[这里](https://github.com/nunocoracao/blowfish/releases/latest/download/config-default.zip)下载一份。
|
||||||
|
|
||||||
|
5. 按照[入门指南](https://blowfish.page/zh-cn/docs/getting-started/)来配置你的网站
|
||||||
|
|
||||||
|
### Installing theme updates
|
||||||
|
|
||||||
|
当新的主题版本发布,你可以在你网站的根目录使用 Hugo 命令`hugo mod get -u`来简单地把主题更新到最新版本。
|
||||||
|
|
||||||
|
详细的[更新指南](https://blowfish.page/zh-cn/docs/installation/#%E6%9B%B4%E6%96%B0%E4%B8%BB%E9%A2%98)在文档中。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 贡献
|
||||||
|
|
||||||
|
Blowfish 将会持续进化。我打算不断增加功能,并按需进行修改。
|
||||||
|
|
||||||
|
如有任何问题或对新功能的建议,请随时联系我。
|
||||||
|
|
||||||
|
- 🐛 **Bug 问题报告** 使用 [GitHub Issues](https://github.com/nunocoracao/blowfish/issues)
|
||||||
|
- 💡 **发表关于新功能的想法:** 在 [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions) 发起讨论
|
||||||
|
- 🙋♀️ **一般问题:** 查看 [GitHub Discussions](https://github.com/nunocoracao/blowfish/discussions)
|
||||||
|
|
||||||
|
如果你有能力修补 Bug 或者实现新功能,欢迎提交 PR。[了解更多](https://github.com/nunocoracao/blowfish/blob/main/CONTRIBUTING.md).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Star 数量统计
|
||||||
|
|
||||||
|
[](https://starchart.cc/nunocoracao/blowfish)
|
||||||
|
|
||||||
|
<a rel="me" href="https://masto.ai/@blowfish">Mastodon</a>
|
||||||
6
archetypes/default.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: true
|
||||||
|
description: ""
|
||||||
|
---
|
||||||
10
archetypes/external.md
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
externalUrl: ""
|
||||||
|
summary: ""
|
||||||
|
showReadingTime: false
|
||||||
|
_build:
|
||||||
|
render: "false"
|
||||||
|
list: "local"
|
||||||
|
---
|
||||||
5296
assets/css/compiled/main.css
Normal file
77
assets/css/components/a11y.css
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
.a11y-panel-enter-active {
|
||||||
|
animation: slideInFromTop 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
.a11y-panel-leave-active {
|
||||||
|
animation: slideOutToTop 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle {
|
||||||
|
position: relative;
|
||||||
|
width: 42px;
|
||||||
|
height: 24px;
|
||||||
|
background: #e5e5e5;
|
||||||
|
border-radius: 12px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: background-color 0.3s ease;
|
||||||
|
pointer-events: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle input {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
top: 2px;
|
||||||
|
left: 2px;
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
background: white;
|
||||||
|
border-radius: 50%;
|
||||||
|
transition:
|
||||||
|
transform 0.3s ease,
|
||||||
|
background-color 0.3s ease;
|
||||||
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle input:checked + .toggle-track::after {
|
||||||
|
transform: translateX(18px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle input:checked + .toggle-track {
|
||||||
|
background: rgba(var(--color-primary-500), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle input:checked ~ .ios-toggle-ball {
|
||||||
|
transform: translateX(18px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle.is-checked {
|
||||||
|
background: rgba(var(--color-primary-500), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle:has(input:checked) {
|
||||||
|
background: rgba(var(--color-primary-500), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ios-toggle:has(input:checked)::after {
|
||||||
|
transform: translateX(18px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .ios-toggle {
|
||||||
|
background: #404040;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .ios-toggle::after {
|
||||||
|
background: #f5f5f5;
|
||||||
|
}
|
||||||
220
assets/css/components/admonition.css
Normal file
@@ -0,0 +1,220 @@
|
|||||||
|
/*
|
||||||
|
* Derived from KKKZOZ/hugo-admonitions (https://github.com/KKKZOZ/hugo-admonitions/)
|
||||||
|
* Copyright (c) 2024 KKKZOZ, Licensed under MIT License
|
||||||
|
*/
|
||||||
|
:root {
|
||||||
|
/* GitHub Core Types (5) */
|
||||||
|
--adm-note-border: theme("colors.sky.500");
|
||||||
|
--adm-note-bg: theme("colors.sky.50");
|
||||||
|
--adm-note-text: theme("colors.sky.900");
|
||||||
|
|
||||||
|
--adm-tip-border: theme("colors.emerald.500");
|
||||||
|
--adm-tip-bg: theme("colors.emerald.50");
|
||||||
|
--adm-tip-text: theme("colors.emerald.900");
|
||||||
|
|
||||||
|
--adm-important-border: theme("colors.purple.500");
|
||||||
|
--adm-important-bg: theme("colors.purple.50");
|
||||||
|
--adm-important-text: theme("colors.purple.900");
|
||||||
|
|
||||||
|
--adm-warning-border: theme("colors.orange.500");
|
||||||
|
--adm-warning-bg: theme("colors.orange.50");
|
||||||
|
--adm-warning-text: theme("colors.orange.900");
|
||||||
|
|
||||||
|
--adm-caution-border: theme("colors.red.500");
|
||||||
|
--adm-caution-bg: theme("colors.red.50");
|
||||||
|
--adm-caution-text: theme("colors.red.900");
|
||||||
|
|
||||||
|
/* Extended Types (10) */
|
||||||
|
--adm-abstract-border: theme("colors.cyan.500");
|
||||||
|
--adm-abstract-bg: theme("colors.cyan.50");
|
||||||
|
--adm-abstract-text: theme("colors.cyan.900");
|
||||||
|
|
||||||
|
--adm-bug-border: theme("colors.rose.500");
|
||||||
|
--adm-bug-bg: theme("colors.rose.50");
|
||||||
|
--adm-bug-text: theme("colors.rose.900");
|
||||||
|
|
||||||
|
--adm-danger-border: theme("colors.red.500");
|
||||||
|
--adm-danger-bg: theme("colors.red.50");
|
||||||
|
--adm-danger-text: theme("colors.red.900");
|
||||||
|
|
||||||
|
--adm-example-border: theme("colors.purple.600");
|
||||||
|
--adm-example-bg: theme("colors.purple.50");
|
||||||
|
--adm-example-text: theme("colors.purple.900");
|
||||||
|
|
||||||
|
--adm-failure-border: theme("colors.pink.500");
|
||||||
|
--adm-failure-bg: theme("colors.pink.50");
|
||||||
|
--adm-failure-text: theme("colors.pink.900");
|
||||||
|
|
||||||
|
--adm-info-border: theme("colors.blue.500");
|
||||||
|
--adm-info-bg: theme("colors.blue.50");
|
||||||
|
--adm-info-text: theme("colors.blue.900");
|
||||||
|
|
||||||
|
--adm-question-border: theme("colors.amber.500");
|
||||||
|
--adm-question-bg: theme("colors.amber.50");
|
||||||
|
--adm-question-text: theme("colors.amber.900");
|
||||||
|
|
||||||
|
--adm-quote-border: theme("colors.gray.500");
|
||||||
|
--adm-quote-bg: theme("colors.gray.50");
|
||||||
|
--adm-quote-text: theme("colors.gray.800");
|
||||||
|
|
||||||
|
--adm-success-border: theme("colors.emerald.500");
|
||||||
|
--adm-success-bg: theme("colors.emerald.50");
|
||||||
|
--adm-success-text: theme("colors.emerald.900");
|
||||||
|
|
||||||
|
--adm-todo-border: theme("colors.sky.500");
|
||||||
|
--adm-todo-bg: theme("colors.sky.50");
|
||||||
|
--adm-todo-text: theme("colors.sky.800");
|
||||||
|
}
|
||||||
|
|
||||||
|
html.dark {
|
||||||
|
/* GitHub Core Types (5) */
|
||||||
|
--adm-note-bg: color-mix(in srgb, theme("colors.sky.800"), #0f0f0f 50%);
|
||||||
|
--adm-note-text: theme("colors.sky.100");
|
||||||
|
|
||||||
|
--adm-tip-bg: color-mix(in srgb, theme("colors.emerald.800"), #0f0f0f 50%);
|
||||||
|
--adm-tip-text: theme("colors.emerald.100");
|
||||||
|
|
||||||
|
--adm-important-bg: color-mix(in srgb, theme("colors.purple.800"), #0f0f0f 50%);
|
||||||
|
--adm-important-text: theme("colors.purple.100");
|
||||||
|
|
||||||
|
--adm-warning-bg: color-mix(in srgb, theme("colors.orange.800"), #0f0f0f 45%);
|
||||||
|
--adm-warning-text: theme("colors.orange.100");
|
||||||
|
|
||||||
|
--adm-caution-bg: color-mix(in srgb, theme("colors.red.800"), #0f0f0f 45%);
|
||||||
|
--adm-caution-text: theme("colors.red.100");
|
||||||
|
|
||||||
|
/* Extended Types (10) */
|
||||||
|
--adm-abstract-bg: color-mix(in srgb, theme("colors.cyan.800"), #0f0f0f 50%);
|
||||||
|
--adm-abstract-text: theme("colors.cyan.100");
|
||||||
|
|
||||||
|
--adm-bug-bg: color-mix(in srgb, theme("colors.rose.800"), #0f0f0f 50%);
|
||||||
|
--adm-bug-text: theme("colors.rose.100");
|
||||||
|
|
||||||
|
--adm-danger-bg: color-mix(in srgb, theme("colors.red.800"), #0f0f0f 45%);
|
||||||
|
--adm-danger-text: theme("colors.red.100");
|
||||||
|
|
||||||
|
--adm-example-bg: color-mix(in srgb, theme("colors.purple.800"), #0f0f0f 50%);
|
||||||
|
--adm-example-text: theme("colors.purple.100");
|
||||||
|
|
||||||
|
--adm-failure-bg: color-mix(in srgb, theme("colors.pink.800"), #0f0f0f 50%);
|
||||||
|
--adm-failure-text: theme("colors.pink.100");
|
||||||
|
|
||||||
|
--adm-info-bg: color-mix(in srgb, theme("colors.blue.800"), #0f0f0f 50%);
|
||||||
|
--adm-info-text: theme("colors.blue.100");
|
||||||
|
|
||||||
|
--adm-question-bg: color-mix(in srgb, theme("colors.amber.800"), #0f0f0f 50%);
|
||||||
|
--adm-question-text: theme("colors.amber.100");
|
||||||
|
|
||||||
|
--adm-quote-bg: color-mix(in srgb, theme("colors.gray.800"), #0f0f0f 50%);
|
||||||
|
--adm-quote-text: theme("colors.gray.100");
|
||||||
|
|
||||||
|
--adm-success-bg: color-mix(in srgb, theme("colors.emerald.800"), #0f0f0f 50%);
|
||||||
|
--adm-success-text: theme("colors.emerald.100");
|
||||||
|
|
||||||
|
--adm-todo-bg: color-mix(in srgb, theme("colors.sky.800"), #0f0f0f 50%);
|
||||||
|
--adm-todo-text: theme("colors.sky.100");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Base Styles */
|
||||||
|
.admonition-content > :first-child {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition-content > :last-child {
|
||||||
|
margin-bottom: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition-content pre {
|
||||||
|
margin-block: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Type-Specific Palettes Using CSS Variables */
|
||||||
|
.admonition[data-type="note"] {
|
||||||
|
border-color: var(--adm-note-border);
|
||||||
|
background-color: var(--adm-note-bg);
|
||||||
|
color: var(--adm-note-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="tip"] {
|
||||||
|
border-color: var(--adm-tip-border);
|
||||||
|
background-color: var(--adm-tip-bg);
|
||||||
|
color: var(--adm-tip-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="important"] {
|
||||||
|
border-color: var(--adm-important-border);
|
||||||
|
background-color: var(--adm-important-bg);
|
||||||
|
color: var(--adm-important-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="warning"] {
|
||||||
|
border-color: var(--adm-warning-border);
|
||||||
|
background-color: var(--adm-warning-bg);
|
||||||
|
color: var(--adm-warning-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="caution"] {
|
||||||
|
border-color: var(--adm-caution-border);
|
||||||
|
background-color: var(--adm-caution-bg);
|
||||||
|
color: var(--adm-caution-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="abstract"] {
|
||||||
|
border-color: var(--adm-abstract-border);
|
||||||
|
background-color: var(--adm-abstract-bg);
|
||||||
|
color: var(--adm-abstract-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="bug"] {
|
||||||
|
border-color: var(--adm-bug-border);
|
||||||
|
background-color: var(--adm-bug-bg);
|
||||||
|
color: var(--adm-bug-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="danger"] {
|
||||||
|
border-color: var(--adm-danger-border);
|
||||||
|
background-color: var(--adm-danger-bg);
|
||||||
|
color: var(--adm-danger-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="example"] {
|
||||||
|
border-color: var(--adm-example-border);
|
||||||
|
background-color: var(--adm-example-bg);
|
||||||
|
color: var(--adm-example-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="failure"] {
|
||||||
|
border-color: var(--adm-failure-border);
|
||||||
|
background-color: var(--adm-failure-bg);
|
||||||
|
color: var(--adm-failure-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="info"] {
|
||||||
|
border-color: var(--adm-info-border);
|
||||||
|
background-color: var(--adm-info-bg);
|
||||||
|
color: var(--adm-info-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="question"] {
|
||||||
|
border-color: var(--adm-question-border);
|
||||||
|
background-color: var(--adm-question-bg);
|
||||||
|
color: var(--adm-question-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="quote"] {
|
||||||
|
border-color: var(--adm-quote-border);
|
||||||
|
background-color: var(--adm-quote-bg);
|
||||||
|
color: var(--adm-quote-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="success"] {
|
||||||
|
border-color: var(--adm-success-border);
|
||||||
|
background-color: var(--adm-success-bg);
|
||||||
|
color: var(--adm-success-text);
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition[data-type="todo"] {
|
||||||
|
border-color: var(--adm-todo-border);
|
||||||
|
background-color: var(--adm-todo-bg);
|
||||||
|
color: var(--adm-todo-text);
|
||||||
|
}
|
||||||
65
assets/css/components/carousel.css
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
/* Carousel Specific Styles */
|
||||||
|
.ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
@media (width >= 640px) {
|
||||||
|
.sm\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.sm\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.sm\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 853px) {
|
||||||
|
.md\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.md\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.md\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1024px) {
|
||||||
|
.lg\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.lg\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.lg\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1280px) {
|
||||||
|
.xl\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.xl\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.xl\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1536px) {
|
||||||
|
.\32xl\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.\32xl\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.\32xl\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
207
assets/css/components/chroma.css
Normal file
@@ -0,0 +1,207 @@
|
|||||||
|
/* -- Chroma Highlight -- */
|
||||||
|
/* margins for codeblock title */
|
||||||
|
.highlight-wrapper {
|
||||||
|
@apply block relative z-0 overflow-hidden shadow rounded-md;
|
||||||
|
margin-top: 1.7142857em;
|
||||||
|
margin-bottom: 1.7142857em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight-wrapper pre,
|
||||||
|
.highlight-wrapper table, .highlight-wrapper div {
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight-wrapper:has(.codeblock-title) pre {
|
||||||
|
@apply rounded-none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.codeblock-title {
|
||||||
|
@apply px-4 py-2 border-b border-neutral-200 dark:border-neutral-800;
|
||||||
|
@apply bg-white dark:bg-[#0d1117];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineTableTD */
|
||||||
|
.chroma .lntd,
|
||||||
|
.chroma .lntd pre {
|
||||||
|
@apply p-0 m-0 align-top border-none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineTable */
|
||||||
|
.chroma .lntable {
|
||||||
|
@apply block w-auto px-4 py-3 overflow-hidden text-base;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* LineHighlight */
|
||||||
|
.chroma .hl {
|
||||||
|
@apply block w-auto px-4 -mx-4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma .lntd .hl {
|
||||||
|
@apply p-0 m-0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* linenos=inline */
|
||||||
|
.chroma:not(:is(table *)) > code {
|
||||||
|
display: block;
|
||||||
|
min-width: max-content;
|
||||||
|
}
|
||||||
|
|
||||||
|
html:not(.dark) {
|
||||||
|
/* Generated using: hugo gen chromastyles --style=github */
|
||||||
|
|
||||||
|
/* Background */ .bg { background-color:#fff; }
|
||||||
|
/* PreWrapper */ .chroma { background-color:#fff; }
|
||||||
|
/* Error */ .chroma .err { color:#f6f8fa;background-color:#82071e }
|
||||||
|
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
|
||||||
|
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
|
||||||
|
/* LineTable */ .chroma .lntable { border-spacing:0; }
|
||||||
|
/* LineHighlight */ .chroma .hl { background-color:#e5e5e5 }
|
||||||
|
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
|
||||||
|
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#7f7f7f }
|
||||||
|
/* Line */ .chroma .line { display:flex; }
|
||||||
|
/* Keyword */ .chroma .k { color:#cf222e }
|
||||||
|
/* KeywordConstant */ .chroma .kc { color:#cf222e }
|
||||||
|
/* KeywordDeclaration */ .chroma .kd { color:#cf222e }
|
||||||
|
/* KeywordNamespace */ .chroma .kn { color:#cf222e }
|
||||||
|
/* KeywordPseudo */ .chroma .kp { color:#cf222e }
|
||||||
|
/* KeywordReserved */ .chroma .kr { color:#cf222e }
|
||||||
|
/* KeywordType */ .chroma .kt { color:#cf222e }
|
||||||
|
/* NameAttribute */ .chroma .na { color:#1f2328 }
|
||||||
|
/* NameClass */ .chroma .nc { color:#1f2328 }
|
||||||
|
/* NameConstant */ .chroma .no { color:#0550ae }
|
||||||
|
/* NameDecorator */ .chroma .nd { color:#0550ae }
|
||||||
|
/* NameEntity */ .chroma .ni { color:#6639ba }
|
||||||
|
/* NameLabel */ .chroma .nl { color:#900;font-weight:bold }
|
||||||
|
/* NameNamespace */ .chroma .nn { color:#24292e }
|
||||||
|
/* NameOther */ .chroma .nx { color:#1f2328 }
|
||||||
|
/* NameTag */ .chroma .nt { color:#0550ae }
|
||||||
|
/* NameBuiltin */ .chroma .nb { color:#6639ba }
|
||||||
|
/* NameBuiltinPseudo */ .chroma .bp { color:#6a737d }
|
||||||
|
/* NameVariable */ .chroma .nv { color:#953800 }
|
||||||
|
/* NameVariableClass */ .chroma .vc { color:#953800 }
|
||||||
|
/* NameVariableGlobal */ .chroma .vg { color:#953800 }
|
||||||
|
/* NameVariableInstance */ .chroma .vi { color:#953800 }
|
||||||
|
/* NameVariableMagic */ .chroma .vm { color:#953800 }
|
||||||
|
/* NameFunction */ .chroma .nf { color:#6639ba }
|
||||||
|
/* NameFunctionMagic */ .chroma .fm { color:#6639ba }
|
||||||
|
/* LiteralString */ .chroma .s { color:#0a3069 }
|
||||||
|
/* LiteralStringAffix */ .chroma .sa { color:#0a3069 }
|
||||||
|
/* LiteralStringBacktick */ .chroma .sb { color:#0a3069 }
|
||||||
|
/* LiteralStringChar */ .chroma .sc { color:#0a3069 }
|
||||||
|
/* LiteralStringDelimiter */ .chroma .dl { color:#0a3069 }
|
||||||
|
/* LiteralStringDoc */ .chroma .sd { color:#0a3069 }
|
||||||
|
/* LiteralStringDouble */ .chroma .s2 { color:#0a3069 }
|
||||||
|
/* LiteralStringEscape */ .chroma .se { color:#0a3069 }
|
||||||
|
/* LiteralStringHeredoc */ .chroma .sh { color:#0a3069 }
|
||||||
|
/* LiteralStringInterpol */ .chroma .si { color:#0a3069 }
|
||||||
|
/* LiteralStringOther */ .chroma .sx { color:#0a3069 }
|
||||||
|
/* LiteralStringRegex */ .chroma .sr { color:#0a3069 }
|
||||||
|
/* LiteralStringSingle */ .chroma .s1 { color:#0a3069 }
|
||||||
|
/* LiteralStringSymbol */ .chroma .ss { color:#032f62 }
|
||||||
|
/* LiteralNumber */ .chroma .m { color:#0550ae }
|
||||||
|
/* LiteralNumberBin */ .chroma .mb { color:#0550ae }
|
||||||
|
/* LiteralNumberFloat */ .chroma .mf { color:#0550ae }
|
||||||
|
/* LiteralNumberHex */ .chroma .mh { color:#0550ae }
|
||||||
|
/* LiteralNumberInteger */ .chroma .mi { color:#0550ae }
|
||||||
|
/* LiteralNumberIntegerLong */ .chroma .il { color:#0550ae }
|
||||||
|
/* LiteralNumberOct */ .chroma .mo { color:#0550ae }
|
||||||
|
/* Operator */ .chroma .o { color:#0550ae }
|
||||||
|
/* OperatorWord */ .chroma .ow { color:#0550ae }
|
||||||
|
/* Punctuation */ .chroma .p { color:#1f2328 }
|
||||||
|
/* Comment */ .chroma .c { color:#57606a }
|
||||||
|
/* CommentHashbang */ .chroma .ch { color:#57606a }
|
||||||
|
/* CommentMultiline */ .chroma .cm { color:#57606a }
|
||||||
|
/* CommentSingle */ .chroma .c1 { color:#57606a }
|
||||||
|
/* CommentSpecial */ .chroma .cs { color:#57606a }
|
||||||
|
/* CommentPreproc */ .chroma .cp { color:#57606a }
|
||||||
|
/* CommentPreprocFile */ .chroma .cpf { color:#57606a }
|
||||||
|
/* GenericDeleted */ .chroma .gd { color:#82071e;background-color:#ffebe9 }
|
||||||
|
/* GenericEmph */ .chroma .ge { color:#1f2328 }
|
||||||
|
/* GenericInserted */ .chroma .gi { color:#116329;background-color:#dafbe1 }
|
||||||
|
/* GenericOutput */ .chroma .go { color:#1f2328 }
|
||||||
|
/* GenericUnderline */ .chroma .gl { text-decoration:underline }
|
||||||
|
/* TextWhitespace */ .chroma .w { color:#fff }
|
||||||
|
}
|
||||||
|
html.dark {
|
||||||
|
/* Generated using: hugo gen chromastyles --style=github-dark */
|
||||||
|
|
||||||
|
/* Background */ .bg { color:#e6edf3;background-color:#0d1117; }
|
||||||
|
/* PreWrapper */ .chroma { color:#e6edf3;background-color:#0d1117; }
|
||||||
|
/* Error */ .chroma .err { color:#f85149 }
|
||||||
|
/* LineLink */ .chroma .lnlinks { outline:none;text-decoration:none;color:inherit }
|
||||||
|
/* LineTableTD */ .chroma .lntd { vertical-align:top;padding:0;margin:0;border:0; }
|
||||||
|
/* LineTable */ .chroma .lntable { border-spacing:0; }
|
||||||
|
/* LineHighlight */ .chroma .hl { background-color:#333 }
|
||||||
|
/* LineNumbersTable */ .chroma .lnt { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#737679 }
|
||||||
|
/* LineNumbers */ .chroma .ln { white-space:pre;-webkit-user-select:none;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#6e7681 }
|
||||||
|
/* Line */ .chroma .line { display:flex; }
|
||||||
|
/* Keyword */ .chroma .k { color:#ff7b72 }
|
||||||
|
/* KeywordConstant */ .chroma .kc { color:#79c0ff }
|
||||||
|
/* KeywordDeclaration */ .chroma .kd { color:#ff7b72 }
|
||||||
|
/* KeywordNamespace */ .chroma .kn { color:#ff7b72 }
|
||||||
|
/* KeywordPseudo */ .chroma .kp { color:#79c0ff }
|
||||||
|
/* KeywordReserved */ .chroma .kr { color:#ff7b72 }
|
||||||
|
/* KeywordType */ .chroma .kt { color:#ff7b72 }
|
||||||
|
/* NameClass */ .chroma .nc { color:#f0883e;font-weight:bold }
|
||||||
|
/* NameConstant */ .chroma .no { color:#79c0ff;font-weight:bold }
|
||||||
|
/* NameDecorator */ .chroma .nd { color:#d2a8ff;font-weight:bold }
|
||||||
|
/* NameEntity */ .chroma .ni { color:#ffa657 }
|
||||||
|
/* NameException */ .chroma .ne { color:#f0883e;font-weight:bold }
|
||||||
|
/* NameLabel */ .chroma .nl { color:#79c0ff;font-weight:bold }
|
||||||
|
/* NameNamespace */ .chroma .nn { color:#ff7b72 }
|
||||||
|
/* NameProperty */ .chroma .py { color:#79c0ff }
|
||||||
|
/* NameTag */ .chroma .nt { color:#7ee787 }
|
||||||
|
/* NameVariable */ .chroma .nv { color:#79c0ff }
|
||||||
|
/* NameVariableClass */ .chroma .vc { color:#79c0ff }
|
||||||
|
/* NameVariableGlobal */ .chroma .vg { color:#79c0ff }
|
||||||
|
/* NameVariableInstance */ .chroma .vi { color:#79c0ff }
|
||||||
|
/* NameVariableMagic */ .chroma .vm { color:#79c0ff }
|
||||||
|
/* NameFunction */ .chroma .nf { color:#d2a8ff;font-weight:bold }
|
||||||
|
/* NameFunctionMagic */ .chroma .fm { color:#d2a8ff;font-weight:bold }
|
||||||
|
/* Literal */ .chroma .l { color:#a5d6ff }
|
||||||
|
/* LiteralDate */ .chroma .ld { color:#79c0ff }
|
||||||
|
/* LiteralString */ .chroma .s { color:#a5d6ff }
|
||||||
|
/* LiteralStringAffix */ .chroma .sa { color:#79c0ff }
|
||||||
|
/* LiteralStringBacktick */ .chroma .sb { color:#a5d6ff }
|
||||||
|
/* LiteralStringChar */ .chroma .sc { color:#a5d6ff }
|
||||||
|
/* LiteralStringDelimiter */ .chroma .dl { color:#79c0ff }
|
||||||
|
/* LiteralStringDoc */ .chroma .sd { color:#a5d6ff }
|
||||||
|
/* LiteralStringDouble */ .chroma .s2 { color:#a5d6ff }
|
||||||
|
/* LiteralStringEscape */ .chroma .se { color:#79c0ff }
|
||||||
|
/* LiteralStringHeredoc */ .chroma .sh { color:#79c0ff }
|
||||||
|
/* LiteralStringInterpol */ .chroma .si { color:#a5d6ff }
|
||||||
|
/* LiteralStringOther */ .chroma .sx { color:#a5d6ff }
|
||||||
|
/* LiteralStringRegex */ .chroma .sr { color:#79c0ff }
|
||||||
|
/* LiteralStringSingle */ .chroma .s1 { color:#a5d6ff }
|
||||||
|
/* LiteralStringSymbol */ .chroma .ss { color:#a5d6ff }
|
||||||
|
/* LiteralNumber */ .chroma .m { color:#a5d6ff }
|
||||||
|
/* LiteralNumberBin */ .chroma .mb { color:#a5d6ff }
|
||||||
|
/* LiteralNumberFloat */ .chroma .mf { color:#a5d6ff }
|
||||||
|
/* LiteralNumberHex */ .chroma .mh { color:#a5d6ff }
|
||||||
|
/* LiteralNumberInteger */ .chroma .mi { color:#a5d6ff }
|
||||||
|
/* LiteralNumberIntegerLong */ .chroma .il { color:#a5d6ff }
|
||||||
|
/* LiteralNumberOct */ .chroma .mo { color:#a5d6ff }
|
||||||
|
/* Operator */ .chroma .o { color:#ff7b72;font-weight:bold }
|
||||||
|
/* OperatorWord */ .chroma .ow { color:#ff7b72;font-weight:bold }
|
||||||
|
/* Comment */ .chroma .c { color:#8b949e;font-style:italic }
|
||||||
|
/* CommentHashbang */ .chroma .ch { color:#8b949e;font-style:italic }
|
||||||
|
/* CommentMultiline */ .chroma .cm { color:#8b949e;font-style:italic }
|
||||||
|
/* CommentSingle */ .chroma .c1 { color:#8b949e;font-style:italic }
|
||||||
|
/* CommentSpecial */ .chroma .cs { color:#8b949e;font-weight:bold;font-style:italic }
|
||||||
|
/* CommentPreproc */ .chroma .cp { color:#8b949e;font-weight:bold;font-style:italic }
|
||||||
|
/* CommentPreprocFile */ .chroma .cpf { color:#8b949e;font-weight:bold;font-style:italic }
|
||||||
|
/* GenericDeleted */ .chroma .gd { color:#ffa198;background-color:#490202 }
|
||||||
|
/* GenericEmph */ .chroma .ge { font-style:italic }
|
||||||
|
/* GenericError */ .chroma .gr { color:#ffa198 }
|
||||||
|
/* GenericHeading */ .chroma .gh { color:#79c0ff;font-weight:bold }
|
||||||
|
/* GenericInserted */ .chroma .gi { color:#56d364;background-color:#0f5323 }
|
||||||
|
/* GenericOutput */ .chroma .go { color:#8b949e }
|
||||||
|
/* GenericPrompt */ .chroma .gp { color:#8b949e }
|
||||||
|
/* GenericStrong */ .chroma .gs { font-weight:bold }
|
||||||
|
/* GenericSubheading */ .chroma .gu { color:#79c0ff }
|
||||||
|
/* GenericTraceback */ .chroma .gt { color:#ff7b72 }
|
||||||
|
/* GenericUnderline */ .chroma .gl { text-decoration:underline }
|
||||||
|
/* TextWhitespace */ .chroma .w { color:#6e7681 }
|
||||||
|
}
|
||||||
595
assets/css/components/gallery.css
Normal file
@@ -0,0 +1,595 @@
|
|||||||
|
/* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery figure {
|
||||||
|
display: inline-block;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery figcaption {
|
||||||
|
margin-top: 0.25rem;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
line-height: 1.25rem;
|
||||||
|
color: rgb(var(--color-neutral-600));
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .gallery figcaption {
|
||||||
|
color: rgb(var(--color-neutral-400));
|
||||||
|
}
|
||||||
|
@media (width >= 640px) {
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 853px) {
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1024px) {
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1280px) {
|
||||||
|
.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;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1536px) {
|
||||||
|
.\32xl\:grid-w10 {
|
||||||
|
width: calc(10% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w15 {
|
||||||
|
width: calc(15% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w20 {
|
||||||
|
width: calc(20% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w25 {
|
||||||
|
width: calc(25% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w30 {
|
||||||
|
width: calc(30% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w33 {
|
||||||
|
width: calc(33% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w35 {
|
||||||
|
width: calc(35% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w40 {
|
||||||
|
width: calc(40% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w45 {
|
||||||
|
width: calc(45% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w50 {
|
||||||
|
width: calc(50% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w55 {
|
||||||
|
width: calc(55% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w60 {
|
||||||
|
width: calc(60% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w65 {
|
||||||
|
width: calc(65% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w66 {
|
||||||
|
width: calc(66% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w70 {
|
||||||
|
width: calc(70% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w75 {
|
||||||
|
width: calc(75% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w80 {
|
||||||
|
width: calc(80% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w85 {
|
||||||
|
width: calc(85% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w90 {
|
||||||
|
width: calc(90% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w95 {
|
||||||
|
width: calc(95% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
.\32xl\:grid-w100 {
|
||||||
|
width: calc(100% - 5px);
|
||||||
|
margin: 0px !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
@media (width >= 640px) {
|
||||||
|
.sm\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.sm\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.sm\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 853px) {
|
||||||
|
.md\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.md\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.md\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1024px) {
|
||||||
|
.lg\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.lg\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.lg\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1280px) {
|
||||||
|
.xl\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.xl\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.xl\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media (width >= 1536px) {
|
||||||
|
.\32xl\:ratio-16-9 {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
}
|
||||||
|
.\32xl\:ratio-21-9 {
|
||||||
|
padding-top: 42.85%;
|
||||||
|
}
|
||||||
|
.\32xl\:ratio-32-9 {
|
||||||
|
padding-top: 28.125%;
|
||||||
|
}
|
||||||
|
}
|
||||||
9
assets/css/components/tabs.css
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
.tab__button.tab--active {
|
||||||
|
border-bottom: 2px solid rgb(var(--color-primary-500));
|
||||||
|
}
|
||||||
|
.tab__panel {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.tab__panel.tab--active {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
14
assets/css/components/zen-mode.css
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
#zen-mode-button {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.zen-mode {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
body.zen-mode-enable {
|
||||||
|
#bmc-wbtn,
|
||||||
|
.author {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
316
assets/css/main.css
Normal file
@@ -0,0 +1,316 @@
|
|||||||
|
/*! Blowfish | MIT License | https://github.com/nunocoracao/blowfish */
|
||||||
|
|
||||||
|
@config "../../tailwind.config.js";
|
||||||
|
|
||||||
|
@import "tailwindcss";
|
||||||
|
@import "./components/chroma.css" layer(utilities);
|
||||||
|
@import "./components/tabs.css" layer(utilities);
|
||||||
|
@import "./components/zen-mode.css";
|
||||||
|
@import "./components/a11y.css";
|
||||||
|
@import "./components/admonition.css" layer(components);
|
||||||
|
|
||||||
|
html:not(.dark) {
|
||||||
|
color-scheme: light;
|
||||||
|
}
|
||||||
|
|
||||||
|
html.dark {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
body a,
|
||||||
|
body button {
|
||||||
|
@apply transition-colors;
|
||||||
|
}
|
||||||
|
|
||||||
|
button,
|
||||||
|
[role="button"] {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scale SVG icons to text size */
|
||||||
|
.icon svg {
|
||||||
|
@apply h-[1em] w-[1em];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scale SVG logos to appropriate size */
|
||||||
|
.logo svg {
|
||||||
|
@apply h-[5rem] w-[5rem];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Search */
|
||||||
|
#search-query::-webkit-search-cancel-button,
|
||||||
|
#search-query::-webkit-search-decoration,
|
||||||
|
#search-query::-webkit-search-results-button,
|
||||||
|
#search-query::-webkit-search-results-decoration {
|
||||||
|
@apply hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* RTL support */
|
||||||
|
.prose blockquote {
|
||||||
|
@apply rtl:pr-4 rtl:border-l-0 rtl:border-r-4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose ul > li,
|
||||||
|
.prose ol > li {
|
||||||
|
@apply rtl:pl-0 rtl:pr-2 rtl:mr-7;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose ol > li:before,
|
||||||
|
.prose ul > li:before {
|
||||||
|
@apply rtl:left-auto rtl:right-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose thead td:first-child,
|
||||||
|
.prose thead th:first-child {
|
||||||
|
@apply rtl:pr-0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose thead td:last-child,
|
||||||
|
.prose thead th:last-child {
|
||||||
|
@apply rtl:pl-0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Adjust first child within prose */
|
||||||
|
.prose div.min-w-0.max-w-prose > *:first-child {
|
||||||
|
@apply mt-3;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Table of Contents */
|
||||||
|
#TOCView {
|
||||||
|
max-height: calc(100vh - 150px);
|
||||||
|
min-height: 0;
|
||||||
|
overflow-x: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc ul,
|
||||||
|
.toc li {
|
||||||
|
@apply px-0 leading-snug list-none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc ul ul {
|
||||||
|
@apply ltr:pl-4 rtl:pr-4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc a {
|
||||||
|
@apply font-normal text-neutral-700 dark:text-neutral-300;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toc ul > li {
|
||||||
|
@apply rtl:mr-0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Code Copy */
|
||||||
|
.highlight {
|
||||||
|
@apply relative z-0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight-wrapper:hover > .copy-button {
|
||||||
|
@apply visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copy-button {
|
||||||
|
@apply absolute top-0 right-0 z-10 invisible w-20 py-1 font-mono text-sm cursor-pointer
|
||||||
|
opacity-90 bg-neutral-200 whitespace-nowrap rounded-bl-md rounded-tr-md text-neutral-700
|
||||||
|
dark:bg-neutral-600 dark:text-neutral-200 overflow-hidden truncate;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copy-button:hover,
|
||||||
|
.copy-button:focus,
|
||||||
|
.copy-button:active,
|
||||||
|
.copy-button:active:hover {
|
||||||
|
@apply bg-primary-100 dark:bg-primary-600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copy-textarea {
|
||||||
|
@apply absolute opacity-5 -z-10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix long KaTeX equations on mobile (see https://katex.org/docs/issues.html#css-customization) */
|
||||||
|
.katex-display {
|
||||||
|
overflow: auto hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix katex overflow https://github.com/nunocoracao/blowfish/issues/2138 */
|
||||||
|
.katex-display {
|
||||||
|
padding: 1em;
|
||||||
|
width: calc(100% - 1em);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix long tables breaking out of article on mobile */
|
||||||
|
table {
|
||||||
|
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 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fix long URLs breaking out of article bounds on mobile */
|
||||||
|
a {
|
||||||
|
word-break: break-word;
|
||||||
|
word-wrap: break-word;
|
||||||
|
overflow-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prose-invert .highlight pre > code {
|
||||||
|
background-color: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Custom */
|
||||||
|
|
||||||
|
pre {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.single_hero_round {
|
||||||
|
max-height: 50vh;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.single_hero_background {
|
||||||
|
width: calc(100% + 1px); /* patch for very small gap at right edge on mobile devices */
|
||||||
|
z-index: -10;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero_gradient {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumbnail_card {
|
||||||
|
min-width: 300px;
|
||||||
|
height: 200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumbnail_card_related {
|
||||||
|
height: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumbnail {
|
||||||
|
width: 300px;
|
||||||
|
min-height: 180px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@variant max-md {
|
||||||
|
.thumbnail {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumbnail-shadow {
|
||||||
|
box-shadow: 5px 5px 20px 1px rgba(0, 0, 0, 0.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* placeholder for gallery/carousel */
|
||||||
|
@variant max-md {
|
||||||
|
.width-patch {
|
||||||
|
width: 80vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@variant min-md {
|
||||||
|
.width-patch {
|
||||||
|
width: 65ch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.anchor {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
top: -150px;
|
||||||
|
height: 0px;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Offset scroll position to avoid header overlap */
|
||||||
|
[id^="fn"],
|
||||||
|
[id^="fnref"] {
|
||||||
|
scroll-margin-top: 145px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* patch for skip to main content */
|
||||||
|
#main-content {
|
||||||
|
scroll-margin-top: -125px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@variant sm {
|
||||||
|
.article {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@variant md {
|
||||||
|
.article {
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.medium-zoom-image--opened {
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
|
||||||
|
@layer utilities {
|
||||||
|
.bf-border-color {
|
||||||
|
@apply border-neutral-300 dark:border-neutral-700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bf-border-color-hover {
|
||||||
|
@apply hover:border-primary-600 dark:hover:border-primary-400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bf-icon-color-hover {
|
||||||
|
@apply hover:text-primary-600 dark:hover:text-primary-400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bf-scrollbar {
|
||||||
|
@apply scrollbar-thin scrollbar-track-neutral-200 scrollbar-thumb-neutral-400 dark:scrollbar-track-neutral-800 dark:scrollbar-thumb-neutral-600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Prevent body scroll when mobile menu is open */
|
||||||
|
body:has(#mobile-menu-toggle:checked) {
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Reset body position for desktop after it was modified on mobile */
|
||||||
|
@media (min-width: 853px) {
|
||||||
|
body:has(#mobile-menu-toggle:checked) {
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide buy me a coffee in mobile menu */
|
||||||
|
#bmc-wbtn {
|
||||||
|
z-index: 50 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nested-menu {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuhide {
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1000;
|
||||||
|
white-space: nowrap;
|
||||||
|
|
||||||
|
opacity: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
|
||||||
|
transition:
|
||||||
|
visibility 0.3s,
|
||||||
|
opacity 0.3s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nested-menu:hover .menuhide,
|
||||||
|
.nested-menu:focus-within .menuhide {
|
||||||
|
opacity: 1;
|
||||||
|
visibility: visible;
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
text-decoration-line: underline;
|
||||||
|
text-decoration-thickness: 3px;
|
||||||
|
text-underline-offset: 4px;
|
||||||
|
}
|
||||||
33
assets/css/schemes/autumn.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
37
assets/css/schemes/avocado.css
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* Avocado scheme */
|
||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
/* Stone */
|
||||||
|
--color-neutral-50: 250, 250, 249;
|
||||||
|
--color-neutral-100: 245, 245, 244;
|
||||||
|
--color-neutral-200: 231, 229, 228;
|
||||||
|
--color-neutral-300: 214, 211, 209;
|
||||||
|
--color-neutral-400: 168, 162, 158;
|
||||||
|
--color-neutral-500: 120, 113, 108;
|
||||||
|
--color-neutral-600: 87, 83, 78;
|
||||||
|
--color-neutral-700: 68, 64, 60;
|
||||||
|
--color-neutral-800: 41, 37, 36;
|
||||||
|
--color-neutral-900: 28, 25, 23;
|
||||||
|
/* Lime */
|
||||||
|
--color-primary-50: 247, 254, 231;
|
||||||
|
--color-primary-100: 236, 252, 203;
|
||||||
|
--color-primary-200: 217, 249, 157;
|
||||||
|
--color-primary-300: 190, 242, 100;
|
||||||
|
--color-primary-400: 163, 230, 53;
|
||||||
|
--color-primary-500: 132, 204, 22;
|
||||||
|
--color-primary-600: 101, 163, 13;
|
||||||
|
--color-primary-700: 77, 124, 15;
|
||||||
|
--color-primary-800: 63, 98, 18;
|
||||||
|
--color-primary-900: 54, 83, 20;
|
||||||
|
/* Emerald */
|
||||||
|
--color-secondary-50: 236, 253, 245;
|
||||||
|
--color-secondary-100: 209, 250, 229;
|
||||||
|
--color-secondary-200: 167, 243, 208;
|
||||||
|
--color-secondary-300: 110, 231, 183;
|
||||||
|
--color-secondary-400: 52, 211, 153;
|
||||||
|
--color-secondary-500: 16, 185, 129;
|
||||||
|
--color-secondary-600: 5, 150, 105;
|
||||||
|
--color-secondary-700: 4, 120, 87;
|
||||||
|
--color-secondary-800: 6, 95, 70;
|
||||||
|
--color-secondary-900: 6, 78, 59;
|
||||||
|
}
|
||||||
33
assets/css/schemes/bloody.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
37
assets/css/schemes/blowfish.css
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* Blowfish scheme */
|
||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
/* Gray */
|
||||||
|
--color-neutral-50: 248, 250, 252;
|
||||||
|
--color-neutral-100: 241, 245, 249;
|
||||||
|
--color-neutral-200: 226, 232, 240;
|
||||||
|
--color-neutral-300: 203, 213, 225;
|
||||||
|
--color-neutral-400: 148, 163, 184;
|
||||||
|
--color-neutral-500: 100, 116, 139;
|
||||||
|
--color-neutral-600: 71, 85, 105;
|
||||||
|
--color-neutral-700: 51, 65, 85;
|
||||||
|
--color-neutral-800: 30, 41, 59;
|
||||||
|
--color-neutral-900: 15, 23, 42;
|
||||||
|
/* Blue */
|
||||||
|
--color-primary-50: 239, 246, 255;
|
||||||
|
--color-primary-100: 219, 234, 254;
|
||||||
|
--color-primary-200: 191, 219, 254;
|
||||||
|
--color-primary-300: 147, 197, 253;
|
||||||
|
--color-primary-400: 96, 165, 250;
|
||||||
|
--color-primary-500: 59, 130, 246;
|
||||||
|
--color-primary-600: 37, 99, 235;
|
||||||
|
--color-primary-700: 29, 78, 216;
|
||||||
|
--color-primary-800: 30, 64, 175;
|
||||||
|
--color-primary-900: 30, 58, 138;
|
||||||
|
/* Cyan */
|
||||||
|
--color-secondary-50: 236, 254, 255;
|
||||||
|
--color-secondary-100: 207, 250, 254;
|
||||||
|
--color-secondary-200: 165, 243, 252;
|
||||||
|
--color-secondary-300: 103, 232, 249;
|
||||||
|
--color-secondary-400: 34, 211, 238;
|
||||||
|
--color-secondary-500: 6, 182, 212;
|
||||||
|
--color-secondary-600: 8, 145, 178;
|
||||||
|
--color-secondary-700: 14, 116, 144;
|
||||||
|
--color-secondary-800: 21, 94, 117;
|
||||||
|
--color-secondary-900: 22, 78, 99;
|
||||||
|
}
|
||||||
37
assets/css/schemes/congo.css
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* Blowfish scheme */
|
||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
/* Gray */
|
||||||
|
--color-neutral-50: 250, 250, 250;
|
||||||
|
--color-neutral-100: 244, 244, 245;
|
||||||
|
--color-neutral-200: 228, 228, 231;
|
||||||
|
--color-neutral-300: 212, 212, 216;
|
||||||
|
--color-neutral-400: 161, 161, 170;
|
||||||
|
--color-neutral-500: 113, 113, 122;
|
||||||
|
--color-neutral-600: 82, 82, 91;
|
||||||
|
--color-neutral-700: 63, 63, 70;
|
||||||
|
--color-neutral-800: 39, 39, 42;
|
||||||
|
--color-neutral-900: 24, 24, 27;
|
||||||
|
/* Violet */
|
||||||
|
--color-primary-50: 245, 243, 255;
|
||||||
|
--color-primary-100: 237, 233, 254;
|
||||||
|
--color-primary-200: 221, 214, 254;
|
||||||
|
--color-primary-300: 196, 181, 253;
|
||||||
|
--color-primary-400: 167, 139, 250;
|
||||||
|
--color-primary-500: 139, 92, 246;
|
||||||
|
--color-primary-600: 124, 58, 237;
|
||||||
|
--color-primary-700: 109, 40, 217;
|
||||||
|
--color-primary-800: 91, 33, 182;
|
||||||
|
--color-primary-900: 76, 29, 149;
|
||||||
|
/* Fuchsia */
|
||||||
|
--color-secondary-50: 253, 244, 255;
|
||||||
|
--color-secondary-100: 250, 232, 255;
|
||||||
|
--color-secondary-200: 245, 208, 254;
|
||||||
|
--color-secondary-300: 240, 171, 252;
|
||||||
|
--color-secondary-400: 232, 121, 249;
|
||||||
|
--color-secondary-500: 217, 70, 239;
|
||||||
|
--color-secondary-600: 192, 38, 211;
|
||||||
|
--color-secondary-700: 162, 28, 175;
|
||||||
|
--color-secondary-800: 134, 25, 143;
|
||||||
|
--color-secondary-900: 112, 26, 117;
|
||||||
|
}
|
||||||
37
assets/css/schemes/fire.css
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* Fire scheme */
|
||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
/* Stone */
|
||||||
|
--color-neutral-50: 250, 250, 249;
|
||||||
|
--color-neutral-100: 245, 245, 244;
|
||||||
|
--color-neutral-200: 231, 229, 228;
|
||||||
|
--color-neutral-300: 214, 211, 209;
|
||||||
|
--color-neutral-400: 168, 162, 158;
|
||||||
|
--color-neutral-500: 120, 113, 108;
|
||||||
|
--color-neutral-600: 87, 83, 78;
|
||||||
|
--color-neutral-700: 68, 64, 60;
|
||||||
|
--color-neutral-800: 41, 37, 36;
|
||||||
|
--color-neutral-900: 28, 25, 23;
|
||||||
|
/* Orange */
|
||||||
|
--color-primary-50: 255, 247, 237;
|
||||||
|
--color-primary-100: 255, 237, 213;
|
||||||
|
--color-primary-200: 254, 215, 170;
|
||||||
|
--color-primary-300: 253, 186, 116;
|
||||||
|
--color-primary-400: 251, 146, 60;
|
||||||
|
--color-primary-500: 249, 115, 22;
|
||||||
|
--color-primary-600: 234, 88, 12;
|
||||||
|
--color-primary-700: 194, 65, 12;
|
||||||
|
--color-primary-800: 154, 52, 18;
|
||||||
|
--color-primary-900: 124, 45, 18;
|
||||||
|
/* Rose */
|
||||||
|
--color-secondary-50: 255, 241, 242;
|
||||||
|
--color-secondary-100: 255, 228, 230;
|
||||||
|
--color-secondary-200: 254, 205, 211;
|
||||||
|
--color-secondary-300: 253, 164, 175;
|
||||||
|
--color-secondary-400: 251, 113, 133;
|
||||||
|
--color-secondary-500: 244, 63, 94;
|
||||||
|
--color-secondary-600: 225, 29, 72;
|
||||||
|
--color-secondary-700: 190, 18, 60;
|
||||||
|
--color-secondary-800: 159, 18, 57;
|
||||||
|
--color-secondary-900: 136, 19, 55;
|
||||||
|
}
|
||||||
33
assets/css/schemes/forest.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
35
assets/css/schemes/github.css
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
--color-neutral-50: 248, 250, 252;
|
||||||
|
--color-neutral-100: 241, 245, 249;
|
||||||
|
--color-neutral-200: 226, 232, 240;
|
||||||
|
--color-neutral-300: 203, 213, 225;
|
||||||
|
--color-neutral-400: 148, 163, 184;
|
||||||
|
--color-neutral-500: 100, 116, 139;
|
||||||
|
--color-neutral-600: 71, 85, 105;
|
||||||
|
--color-neutral-700: 51, 57, 65;
|
||||||
|
--color-neutral-800: 20, 25, 31;
|
||||||
|
--color-neutral-900: 15, 23, 42;
|
||||||
|
|
||||||
|
--color-primary-50: 226, 242, 255;
|
||||||
|
--color-primary-100: 186, 221, 255;
|
||||||
|
--color-primary-200: 141, 201, 255;
|
||||||
|
--color-primary-300: 91, 179, 255;
|
||||||
|
--color-primary-400: 50, 162, 255;
|
||||||
|
--color-primary-500: 0, 146, 255;
|
||||||
|
--color-primary-600: 23, 131, 255;
|
||||||
|
--color-primary-700: 31, 113, 235;
|
||||||
|
--color-primary-800: 35, 95, 216;
|
||||||
|
--color-primary-900: 38, 61, 185;
|
||||||
|
|
||||||
|
--color-secondary-50: 255, 236, 241;
|
||||||
|
--color-secondary-100: 255, 208, 218;
|
||||||
|
--color-secondary-200: 253, 157, 166;
|
||||||
|
--color-secondary-300: 249, 117, 130;
|
||||||
|
--color-secondary-400: 255, 79, 98;
|
||||||
|
--color-secondary-500: 255, 57, 73;
|
||||||
|
--color-secondary-600: 255, 48, 72;
|
||||||
|
--color-secondary-700: 237, 36, 65;
|
||||||
|
--color-secondary-800: 224, 27, 58;
|
||||||
|
--color-secondary-900: 209, 4, 45;
|
||||||
|
}
|
||||||
33
assets/css/schemes/marvel.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
33
assets/css/schemes/neon.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
33
assets/css/schemes/noir.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
37
assets/css/schemes/ocean.css
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* Ocean scheme */
|
||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
/* Gray */
|
||||||
|
--color-neutral-50: 248, 250, 252;
|
||||||
|
--color-neutral-100: 241, 245, 249;
|
||||||
|
--color-neutral-200: 226, 232, 240;
|
||||||
|
--color-neutral-300: 203, 213, 225;
|
||||||
|
--color-neutral-400: 148, 163, 184;
|
||||||
|
--color-neutral-500: 100, 116, 139;
|
||||||
|
--color-neutral-600: 71, 85, 105;
|
||||||
|
--color-neutral-700: 51, 65, 85;
|
||||||
|
--color-neutral-800: 30, 41, 59;
|
||||||
|
--color-neutral-900: 15, 23, 42;
|
||||||
|
/* Blue */
|
||||||
|
--color-primary-50: 239, 246, 255;
|
||||||
|
--color-primary-100: 219, 234, 254;
|
||||||
|
--color-primary-200: 191, 219, 254;
|
||||||
|
--color-primary-300: 147, 197, 253;
|
||||||
|
--color-primary-400: 96, 165, 250;
|
||||||
|
--color-primary-500: 59, 130, 246;
|
||||||
|
--color-primary-600: 37, 99, 235;
|
||||||
|
--color-primary-700: 29, 78, 216;
|
||||||
|
--color-primary-800: 30, 64, 175;
|
||||||
|
--color-primary-900: 30, 58, 138;
|
||||||
|
/* Cyan */
|
||||||
|
--color-secondary-50: 236, 254, 255;
|
||||||
|
--color-secondary-100: 207, 250, 254;
|
||||||
|
--color-secondary-200: 165, 243, 252;
|
||||||
|
--color-secondary-300: 103, 232, 249;
|
||||||
|
--color-secondary-400: 34, 211, 238;
|
||||||
|
--color-secondary-500: 6, 182, 212;
|
||||||
|
--color-secondary-600: 8, 145, 178;
|
||||||
|
--color-secondary-700: 14, 116, 144;
|
||||||
|
--color-secondary-800: 21, 94, 117;
|
||||||
|
--color-secondary-900: 22, 78, 99;
|
||||||
|
}
|
||||||
35
assets/css/schemes/one-light.css
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
--color-neutral-50: 248, 248, 248;
|
||||||
|
--color-neutral-100: 241, 241, 241;
|
||||||
|
--color-neutral-200: 226, 226, 226;
|
||||||
|
--color-neutral-300: 203, 203, 203;
|
||||||
|
--color-neutral-400: 188, 188, 188;
|
||||||
|
--color-neutral-500: 100, 100, 100;
|
||||||
|
--color-neutral-600: 71, 71, 71;
|
||||||
|
--color-neutral-700: 45, 45, 45;
|
||||||
|
--color-neutral-800: 23, 23, 23;
|
||||||
|
--color-neutral-900: 15, 15, 15;
|
||||||
|
|
||||||
|
--color-primary-50: 224, 244, 255;
|
||||||
|
--color-primary-100: 179, 224, 255;
|
||||||
|
--color-primary-200: 128, 202, 255;
|
||||||
|
--color-primary-300: 77, 179, 249;
|
||||||
|
--color-primary-400: 31, 158, 234;
|
||||||
|
--color-primary-500: 0, 122, 204;
|
||||||
|
--color-primary-600: 0, 110, 184;
|
||||||
|
--color-primary-700: 0, 94, 163;
|
||||||
|
--color-primary-800: 0, 79, 143;
|
||||||
|
--color-primary-900: 0, 57, 111;
|
||||||
|
|
||||||
|
--color-secondary-50: 225, 244, 238;
|
||||||
|
--color-secondary-100: 182, 227, 212;
|
||||||
|
--color-secondary-200: 135, 209, 184;
|
||||||
|
--color-secondary-300: 88, 190, 157;
|
||||||
|
--color-secondary-400: 55, 175, 137;
|
||||||
|
--color-secondary-500: 32, 160, 119;
|
||||||
|
--color-secondary-600: 28, 146, 107;
|
||||||
|
--color-secondary-700: 22, 130, 92;
|
||||||
|
--color-secondary-800: 12, 114, 79;
|
||||||
|
--color-secondary-900: 0, 86, 52;
|
||||||
|
}
|
||||||
33
assets/css/schemes/princess.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
37
assets/css/schemes/slate.css
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
/* Slate scheme */
|
||||||
|
:root {
|
||||||
|
--color-neutral: 255, 255, 255;
|
||||||
|
/* Gray */
|
||||||
|
--color-neutral-50: 249, 250, 251;
|
||||||
|
--color-neutral-100: 243, 244, 246;
|
||||||
|
--color-neutral-200: 229, 231, 235;
|
||||||
|
--color-neutral-300: 209, 213, 219;
|
||||||
|
--color-neutral-400: 156, 163, 175;
|
||||||
|
--color-neutral-500: 107, 114, 128;
|
||||||
|
--color-neutral-600: 75, 85, 99;
|
||||||
|
--color-neutral-700: 55, 65, 81;
|
||||||
|
--color-neutral-800: 31, 41, 55;
|
||||||
|
--color-neutral-900: 17, 24, 39;
|
||||||
|
/* Slate */
|
||||||
|
--color-primary-50: 248, 250, 252;
|
||||||
|
--color-primary-100: 241, 245, 249;
|
||||||
|
--color-primary-200: 226, 232, 240;
|
||||||
|
--color-primary-300: 203, 213, 225;
|
||||||
|
--color-primary-400: 148, 163, 184;
|
||||||
|
--color-primary-500: 100, 116, 139;
|
||||||
|
--color-primary-600: 71, 85, 105;
|
||||||
|
--color-primary-700: 51, 65, 85;
|
||||||
|
--color-primary-800: 30, 41, 59;
|
||||||
|
--color-primary-900: 15, 23, 42;
|
||||||
|
/* Gray */
|
||||||
|
--color-secondary-50: 249, 250, 251;
|
||||||
|
--color-secondary-100: 243, 244, 246;
|
||||||
|
--color-secondary-200: 229, 231, 235;
|
||||||
|
--color-secondary-300: 209, 213, 219;
|
||||||
|
--color-secondary-400: 156, 163, 175;
|
||||||
|
--color-secondary-500: 107, 114, 128;
|
||||||
|
--color-secondary-600: 75, 85, 99;
|
||||||
|
--color-secondary-700: 55, 65, 81;
|
||||||
|
--color-secondary-800: 31, 41, 55;
|
||||||
|
--color-secondary-900: 17, 24, 39;
|
||||||
|
}
|
||||||
33
assets/css/schemes/terminal.css
Normal file
@@ -0,0 +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;
|
||||||
|
}
|
||||||
1
assets/icons/a11y.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3l0 50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6l0-50.1c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"/></svg>
|
||||||
|
After Width: | Height: | Size: 680 B |
1
assets/icons/amazon.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M257.2 162.7c-48.7 1.8-169.5 15.5-169.5 117.5 0 109.5 138.3 114 183.5 43.2 6.5 10.2 35.4 37.5 45.3 46.8l56.8-56S341 288.9 341 261.4V114.3C341 89 316.5 32 228.7 32 140.7 32 94 87 94 136.3l73.5 6.8c16.3-49.5 54.2-49.5 54.2-49.5 40.7-.1 35.5 29.8 35.5 69.1zm0 86.8c0 80-84.2 68-84.2 17.2 0-47.2 50.5-56.7 84.2-57.8v40.6zm136 163.5c-7.7 10-70 67-174.5 67S34.2 408.5 9.7 379c-6.8-7.7 1-11.3 5.5-8.3C88.5 415.2 203 488.5 387.7 401c7.5-3.7 13.3 2 5.5 12zm39.8 2.2c-6.5 15.8-16 26.8-21.2 31-5.5 4.5-9.5 2.7-6.5-3.8s19.3-46.5 12.7-55c-6.5-8.3-37-4.3-48-3.2-10.8 1-13 2-14-.3-2.3-5.7 21.7-15.5 37.5-17.5 15.7-1.8 41-.8 46 5.7 3.7 5.1 0 27.1-6.5 43.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 741 B |
1
assets/icons/apple.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"/></svg>
|
||||||
|
After Width: | Height: | Size: 536 B |
1
assets/icons/bars.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416C433.7 64 448 78.33 448 96C448 113.7 433.7 128 416 128H32C14.33 128 0 113.7 0 96zM0 256C0 238.3 14.33 224 32 224H416C433.7 224 448 238.3 448 256C448 273.7 433.7 288 416 288H32C14.33 288 0 273.7 0 256zM416 448H32C14.33 448 0 433.7 0 416C0 398.3 14.33 384 32 384H416C433.7 384 448 398.3 448 416C448 433.7 433.7 448 416 448z"/></svg>
|
||||||
|
After Width: | Height: | Size: 454 B |
2
assets/icons/bell.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
||||||
|
<path fill="currentColor" d="M224 0c-17.7 0-32 14.3-32 32V51.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416H416c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3C401.3 319.2 384 273.9 384 226.8V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H224 160c0 17 6.7 33.3 18.7 45.3s28.3 18.7 45.3 18.7s33.3-6.7 45.3-18.7z"/></svg>
|
||||||
|
After Width: | Height: | Size: 488 B |
1
assets/icons/blogger.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M446.6 222.7c-1.8-8-6.8-15.4-12.5-18.5-1.8-1-13-2.2-25-2.7-20.1-.9-22.3-1.3-28.7-5-10.1-5.9-12.8-12.3-12.9-29.5-.1-33-13.8-63.7-40.9-91.3-19.3-19.7-40.9-33-65.5-40.5-5.9-1.8-19.1-2.4-63.3-2.9-69.4-.8-84.8.6-108.4 10C45.9 59.5 14.7 96.1 3.3 142.9 1.2 151.7.7 165.8.2 246.8c-.6 101.5.1 116.4 6.4 136.5 15.6 49.6 59.9 86.3 104.4 94.3 14.8 2.7 197.3 3.3 216 .8 32.5-4.4 58-17.5 81.9-41.9 17.3-17.7 28.1-36.8 35.2-62.1 4.9-17.6 4.5-142.8 2.5-151.7zm-322.1-63.6c7.8-7.9 10-8.2 58.8-8.2 43.9 0 45.4.1 51.8 3.4 9.3 4.7 13.4 11.3 13.4 21.9 0 9.5-3.8 16.2-12.3 21.6-4.6 2.9-7.3 3.1-50.3 3.3-26.5.2-47.7-.4-50.8-1.2-16.6-4.7-22.8-28.5-10.6-40.8zm191.8 199.8l-14.9 2.4-77.5.9c-68.1.8-87.3-.4-90.9-2-7.1-3.1-13.8-11.7-14.9-19.4-1.1-7.3 2.6-17.3 8.2-22.4 7.1-6.4 10.2-6.6 97.3-6.7 89.6-.1 89.1-.1 97.6 7.8 12.1 11.3 9.5 31.2-4.9 39.4z"/></svg>
|
||||||
|
After Width: | Height: | Size: 921 B |
1
assets/icons/bluesky.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256,232.562c-21.183,-41.196 -78.868,-117.97 -132.503,-155.834c-51.378,-36.272 -70.978,-29.987 -83.828,-24.181c-14.872,6.72 -17.577,29.554 -17.577,42.988c0,13.433 7.365,110.138 12.169,126.281c15.873,53.336 72.376,71.358 124.413,65.574c2.66,-0.395 5.357,-0.759 8.089,-1.097c-2.68,0.429 -5.379,0.796 -8.089,1.097c-76.259,11.294 -143.984,39.085 -55.158,137.972c97.708,101.165 133.908,-21.692 152.484,-83.983c18.576,62.291 39.972,180.718 150.734,83.983c83.174,-83.983 22.851,-126.674 -53.408,-137.969c-2.71,-0.302 -5.409,-0.667 -8.089,-1.096c2.732,0.337 5.429,0.702 8.089,1.096c52.037,5.785 108.54,-12.239 124.413,-65.574c4.804,-16.142 12.169,-112.847 12.169,-126.281c-0,-13.434 -2.705,-36.267 -17.577,-42.988c-12.85,-5.806 -32.45,-12.09 -83.829,24.181c-53.634,37.864 -111.319,114.635 -132.502,155.831Z"/></svg>
|
||||||
|
After Width: | Height: | Size: 898 B |
2
assets/icons/bomb.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path fill="currentColor" d="M459.1 52.4L442.6 6.5C440.7 2.6 436.5 0 432.1 0s-8.5 2.6-10.4 6.5L405.2 52.4l-46 16.8c-4.3 1.6-7.3 5.9-7.2 10.4c0 4.5 3 8.7 7.2 10.2l45.7 16.8 16.8 45.8c1.5 4.4 5.8 7.5 10.4 7.5s8.9-3.1 10.4-7.5l16.5-45.8 45.7-16.8c4.2-1.5 7.2-5.7 7.2-10.2c0-4.6-3-8.9-7.2-10.4L459.1 52.4zm-132.4 53c-12.5-12.5-32.8-12.5-45.3 0l-2.9 2.9C256.5 100.3 232.7 96 208 96C93.1 96 0 189.1 0 304S93.1 512 208 512s208-93.1 208-208c0-24.7-4.3-48.5-12.2-70.5l2.9-2.9c12.5-12.5 12.5-32.8 0-45.3l-80-80zM200 192c-57.4 0-104 46.6-104 104v8c0 8.8-7.2 16-16 16s-16-7.2-16-16v-8c0-75.1 60.9-136 136-136h8c8.8 0 16 7.2 16 16s-7.2 16-16 16h-8z"/></svg>
|
||||||
|
After Width: | Height: | Size: 707 B |
1
assets/icons/bug.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M352 96V99.56C352 115.3 339.3 128 323.6 128H188.4C172.7 128 159.1 115.3 159.1 99.56V96C159.1 42.98 202.1 0 255.1 0C309 0 352 42.98 352 96zM41.37 105.4C53.87 92.88 74.13 92.88 86.63 105.4L150.6 169.4C151.3 170 151.9 170.7 152.5 171.4C166.8 164.1 182.9 160 199.1 160H312C329.1 160 345.2 164.1 359.5 171.4C360.1 170.7 360.7 170 361.4 169.4L425.4 105.4C437.9 92.88 458.1 92.88 470.6 105.4C483.1 117.9 483.1 138.1 470.6 150.6L406.6 214.6C405.1 215.3 405.3 215.9 404.6 216.5C410.7 228.5 414.6 241.9 415.7 256H480C497.7 256 512 270.3 512 288C512 305.7 497.7 320 480 320H416C416 344.6 410.5 367.8 400.6 388.6C402.7 389.9 404.8 391.5 406.6 393.4L470.6 457.4C483.1 469.9 483.1 490.1 470.6 502.6C458.1 515.1 437.9 515.1 425.4 502.6L362.3 439.6C337.8 461.4 306.5 475.8 272 479.2V240C272 231.2 264.8 224 255.1 224C247.2 224 239.1 231.2 239.1 240V479.2C205.5 475.8 174.2 461.4 149.7 439.6L86.63 502.6C74.13 515.1 53.87 515.1 41.37 502.6C28.88 490.1 28.88 469.9 41.37 457.4L105.4 393.4C107.2 391.5 109.3 389.9 111.4 388.6C101.5 367.8 96 344.6 96 320H32C14.33 320 0 305.7 0 288C0 270.3 14.33 256 32 256H96.3C97.38 241.9 101.3 228.5 107.4 216.5C106.7 215.9 106 215.3 105.4 214.6L41.37 150.6C28.88 138.1 28.88 117.9 41.37 105.4H41.37z"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
1
assets/icons/check.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z"/></svg>
|
||||||
|
After Width: | Height: | Size: 349 B |
12
assets/icons/chevron-down.svg
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 20 20"
|
||||||
|
fill="currentColor"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
fill-rule="evenodd"
|
||||||
|
d="M5.23 7.21a.75.75 0 011.06.02L10 11.168l3.71-3.938a.75.75 0 111.08 1.04l-4.25 4.5a.75.75 0 01-1.08 0l-4.25-4.5a.75.75 0 01.02-1.06z"
|
||||||
|
clip-rule="evenodd"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 317 B |
1
assets/icons/circle-info.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 128c17.67 0 32 14.33 32 32c0 17.67-14.33 32-32 32S224 177.7 224 160C224 142.3 238.3 128 256 128zM296 384h-80C202.8 384 192 373.3 192 360s10.75-24 24-24h16v-64H224c-13.25 0-24-10.75-24-24S210.8 224 224 224h32c13.25 0 24 10.75 24 24v88h16c13.25 0 24 10.75 24 24S309.3 384 296 384z"/></svg>
|
||||||
|
After Width: | Height: | Size: 463 B |
3
assets/icons/circle-question.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path fill="currentColor" d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 538 B |
1
assets/icons/cloud-moon.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M495.8 0c5.5 0 10.9 .2 16.3 .7c7 .6 12.8 5.7 14.3 12.5s-1.6 13.9-7.7 17.3c-44.4 25.2-74.4 73-74.4 127.8c0 81 65.5 146.6 146.2 146.6c8.6 0 17-.7 25.1-2.1c6.9-1.2 13.8 2.2 17 8.5s1.9 13.8-3.1 18.7c-34.5 33.6-81.7 54.4-133.6 54.4c-9.3 0-18.4-.7-27.4-1.9c-11.2-22.6-29.8-40.9-52.6-51.7c-2.7-58.5-50.3-105.3-109.2-106.7c-1.7-10.4-2.6-21-2.6-31.8C304 86.1 389.8 0 495.8 0zM447.9 431.9c0 44.2-35.8 80-80 80L96 511.9c-53 0-96-43-96-96c0-47.6 34.6-87 80-94.6l0-1.3c0-53 43-96 96-96c34.9 0 65.4 18.6 82.2 46.4c13-9.1 28.8-14.4 45.8-14.4c44.2 0 80 35.8 80 80c0 5.9-.6 11.7-1.9 17.2c37.4 6.7 65.8 39.4 65.8 78.7z"/></svg>
|
||||||
|
After Width: | Height: | Size: 700 B |
1
assets/icons/cloud.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M0 336c0 79.5 64.5 144 144 144l368 0c70.7 0 128-57.3 128-128c0-61.9-44-113.6-102.4-125.4c4.1-10.7 6.4-22.4 6.4-34.6c0-53-43-96-96-96c-19.7 0-38.1 6-53.3 16.2C367 64.2 315.3 32 256 32C167.6 32 96 103.6 96 192c0 2.7 .1 5.4 .2 8.1C40.2 219.8 0 273.2 0 336z"/></svg>
|
||||||
|
After Width: | Height: | Size: 353 B |
2
assets/icons/code.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
|
||||||
|
<path fill="currentColor" d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3L562.7 256l-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"/></svg>
|
||||||
|
After Width: | Height: | Size: 564 B |
2
assets/icons/codeberg.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<svg fill="currentColor" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><path d="M11.955.49A12 12 0 0 0 0 12.49a12 12 0 0 0 1.832 6.373L11.838 5.928a.187.14 0 0 1 .324 0l10.006 12.935A12 12 0 0 0 24 12.49a12 12 0 0 0-12-12 12 12 0 0 0-.045 0zm.375 6.467 4.416 16.553a12 12 0 0 0 5.137-4.213z"/></svg>
|
||||||
|
After Width: | Height: | Size: 359 B |
1
assets/icons/codepen.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.285 159.704l-234-156c-7.987-4.915-16.511-4.96-24.571 0l-234 156C3.714 163.703 0 170.847 0 177.989v155.999c0 7.143 3.714 14.286 9.715 18.286l234 156.022c7.987 4.915 16.511 4.96 24.571 0l234-156.022c6-3.999 9.715-11.143 9.715-18.286V177.989c-.001-7.142-3.715-14.286-9.716-18.285zM278 63.131l172.286 114.858-76.857 51.429L278 165.703V63.131zm-44 0v102.572l-95.429 63.715-76.857-51.429L234 63.131zM44 219.132l55.143 36.857L44 292.846v-73.714zm190 229.715L61.714 333.989l76.857-51.429L234 346.275v102.572zm22-140.858l-77.715-52 77.715-52 77.715 52-77.715 52zm22 140.858V346.275l95.429-63.715 76.857 51.429L278 448.847zm190-156.001l-55.143-36.857L468 219.132v73.714z"/></svg>
|
||||||
|
After Width: | Height: | Size: 766 B |
1
assets/icons/comment.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 32C114.6 32 .0272 125.1 .0272 240c0 49.63 21.35 94.98 56.97 130.7c-12.5 50.37-54.27 95.27-54.77 95.77c-2.25 2.25-2.875 5.734-1.5 8.734C1.979 478.2 4.75 480 8 480c66.25 0 115.1-31.76 140.6-51.39C181.2 440.9 217.6 448 256 448c141.4 0 255.1-93.13 255.1-208S397.4 32 256 32z"/></svg>
|
||||||
|
After Width: | Height: | Size: 376 B |
1
assets/icons/dev.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M120.12 208.29c-3.88-2.9-7.77-4.35-11.65-4.35H91.03v104.47h17.45c3.88 0 7.77-1.45 11.65-4.35 3.88-2.9 5.82-7.25 5.82-13.06v-69.65c-.01-5.8-1.96-10.16-5.83-13.06zM404.1 32H43.9C19.7 32 .06 51.59 0 75.8v360.4C.06 460.41 19.7 480 43.9 480h360.2c24.21 0 43.84-19.59 43.9-43.8V75.8c-.06-24.21-19.7-43.8-43.9-43.8zM154.2 291.19c0 18.81-11.61 47.31-48.36 47.25h-46.4V172.98h47.38c35.44 0 47.36 28.46 47.37 47.28l.01 70.93zm100.68-88.66H201.6v38.42h32.57v29.57H201.6v38.41h53.29v29.57h-62.18c-11.16.29-20.44-8.53-20.72-19.69V193.7c-.27-11.15 8.56-20.41 19.71-20.69h63.19l-.01 29.52zm103.64 115.29c-13.2 30.75-36.85 24.63-47.44 0l-38.53-144.8h32.57l29.71 113.72 29.57-113.72h32.58l-38.46 144.8z"/></svg>
|
||||||
|
After Width: | Height: | Size: 786 B |
1
assets/icons/discord.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><path fill="currentColor" d="M524.531,69.836a1.5,1.5,0,0,0-.764-.7A485.065,485.065,0,0,0,404.081,32.03a1.816,1.816,0,0,0-1.923.91,337.461,337.461,0,0,0-14.9,30.6,447.848,447.848,0,0,0-134.426,0,309.541,309.541,0,0,0-15.135-30.6,1.89,1.89,0,0,0-1.924-.91A483.689,483.689,0,0,0,116.085,69.137a1.712,1.712,0,0,0-.788.676C39.068,183.651,18.186,294.69,28.43,404.354a2.016,2.016,0,0,0,.765,1.375A487.666,487.666,0,0,0,176.02,479.918a1.9,1.9,0,0,0,2.063-.676A348.2,348.2,0,0,0,208.12,430.4a1.86,1.86,0,0,0-1.019-2.588,321.173,321.173,0,0,1-45.868-21.853,1.885,1.885,0,0,1-.185-3.126c3.082-2.309,6.166-4.711,9.109-7.137a1.819,1.819,0,0,1,1.9-.256c96.229,43.917,200.41,43.917,295.5,0a1.812,1.812,0,0,1,1.924.233c2.944,2.426,6.027,4.851,9.132,7.16a1.884,1.884,0,0,1-.162,3.126,301.407,301.407,0,0,1-45.89,21.83,1.875,1.875,0,0,0-1,2.611,391.055,391.055,0,0,0,30.014,48.815,1.864,1.864,0,0,0,2.063.7A486.048,486.048,0,0,0,610.7,405.729a1.882,1.882,0,0,0,.765-1.352C623.729,277.594,590.933,167.465,524.531,69.836ZM222.491,337.58c-28.972,0-52.844-26.587-52.844-59.239S193.056,219.1,222.491,219.1c29.665,0,53.306,26.82,52.843,59.239C275.334,310.993,251.924,337.58,222.491,337.58Zm195.38,0c-28.971,0-52.843-26.587-52.843-59.239S388.437,219.1,417.871,219.1c29.667,0,53.307,26.82,52.844,59.239C470.715,310.993,447.538,337.58,417.871,337.58Z"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
2
assets/icons/discourse.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
|
||||||
|
<path fill="currentColor" d="M225.9 32C103.3 32 0 130.5 0 252.1 0 256 .1 480 .1 480l225.8-.2c122.7 0 222.1-102.3 222.1-223.9C448 134.3 348.6 32 225.9 32zM224 384c-19.4 0-37.9-4.3-54.4-12.1L88.5 392l22.9-75c-9.8-18.1-15.4-38.9-15.4-61 0-70.7 57.3-128 128-128s128 57.3 128 128-57.3 128-128 128z"/></svg>
|
||||||
|
After Width: | Height: | Size: 364 B |
2
assets/icons/docker.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512">
|
||||||
|
<path fill="currentColor" d="M349.9 236.3h-66.1v-59.4h66.1v59.4zm0-204.3h-66.1v60.7h66.1V32zm78.2 144.8H362v59.4h66.1v-59.4zm-156.3-72.1h-66.1v60.1h66.1v-60.1zm78.1 0h-66.1v60.1h66.1v-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7H2.4c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4.4 67.6.1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zm-511.1-27.9h-66v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm78.1 0h-66.1v59.4h66.1v-59.4zm-78.1-72.1h-66.1v60.1h66.1v-60.1z"/></svg>
|
||||||
|
After Width: | Height: | Size: 684 B |
2
assets/icons/download.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
||||||
|
<path fill="currentColor" d="M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32V274.7l-73.4-73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l128 128c12.5 12.5 32.8 12.5 45.3 0l128-128c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L288 274.7V32zM64 352c-35.3 0-64 28.7-64 64v32c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V416c0-35.3-28.7-64-64-64H346.5l-45.3 45.3c-25 25-65.5 25-90.5 0L165.5 352H64zM432 456c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/></svg>
|
||||||
|
After Width: | Height: | Size: 539 B |
1
assets/icons/dribbble.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M256 8C119.252 8 8 119.252 8 256s111.252 248 248 248 248-111.252 248-248S392.748 8 256 8zm163.97 114.366c29.503 36.046 47.369 81.957 47.835 131.955-6.984-1.477-77.018-15.682-147.502-6.818-5.752-14.041-11.181-26.393-18.617-41.614 78.321-31.977 113.818-77.482 118.284-83.523zM396.421 97.87c-3.81 5.427-35.697 48.286-111.021 76.519-34.712-63.776-73.185-116.168-79.04-124.008 67.176-16.193 137.966 1.27 190.061 47.489zm-230.48-33.25c5.585 7.659 43.438 60.116 78.537 122.509-99.087 26.313-186.36 25.934-195.834 25.809C62.38 147.205 106.678 92.573 165.941 64.62zM44.17 256.323c0-2.166.043-4.322.108-6.473 9.268.19 111.92 1.513 217.706-30.146 6.064 11.868 11.857 23.915 17.174 35.949-76.599 21.575-146.194 83.527-180.531 142.306C64.794 360.405 44.17 310.73 44.17 256.323zm81.807 167.113c22.127-45.233 82.178-103.622 167.579-132.756 29.74 77.283 42.039 142.053 45.189 160.638-68.112 29.013-150.015 21.053-212.768-27.882zm248.38 8.489c-2.171-12.886-13.446-74.897-41.152-151.033 66.38-10.626 124.7 6.768 131.947 9.055-9.442 58.941-43.273 109.844-90.795 141.978z"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
1
assets/icons/edit.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="1em" viewBox="0 0 512 512"><path fill="currentColor" d="M441 58.9L453.1 71c9.4 9.4 9.4 24.6 0 33.9L424 134.1 377.9 88 407 58.9c9.4-9.4 24.6-9.4 33.9 0zM209.8 256.2L344 121.9 390.1 168 255.8 302.2c-2.9 2.9-6.5 5-10.4 6.1l-58.5 16.7 16.7-58.5c1.1-3.9 3.2-7.5 6.1-10.4zM373.1 25L175.8 222.2c-8.7 8.7-15 19.4-18.3 31.1l-28.6 100c-2.4 8.4-.1 17.4 6.1 23.6s15.2 8.5 23.6 6.1l100-28.6c11.8-3.4 22.5-9.7 31.1-18.3L487 138.9c28.1-28.1 28.1-73.7 0-101.8L474.9 25C446.8-3.1 401.2-3.1 373.1 25zM88 64C39.4 64 0 103.4 0 152V424c0 48.6 39.4 88 88 88H360c48.6 0 88-39.4 88-88V312c0-13.3-10.7-24-24-24s-24 10.7-24 24V424c0 22.1-17.9 40-40 40H88c-22.1 0-40-17.9-40-40V152c0-22.1 17.9-40 40-40H200c13.3 0 24-10.7 24-24s-10.7-24-24-24H88z"/></svg>
|
||||||
|
After Width: | Height: | Size: 776 B |
1
assets/icons/email.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z"/></svg>
|
||||||
|
After Width: | Height: | Size: 867 B |
1
assets/icons/envelope.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z"/></svg>
|
||||||
|
After Width: | Height: | Size: 359 B |
3
assets/icons/expand.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="50px" height="50px">
|
||||||
|
<path fill="currentColor" d="M 12.980469 4 C 9.1204688 4 5.9804688 7.14 5.9804688 11 L 6 26 L 9.9804688 26 L 9.9804688 11 C 9.9804688 9.35 11.320469 8 12.980469 8 L 40.019531 8 C 41.679531 8 43.019531 9.35 43.019531 11 L 43.019531 39 C 43.019531 40.65 41.679531 42 40.019531 42 L 29 42 C 29 43.54 28.420938 44.94 27.460938 46 L 40.019531 46 C 43.879531 46 47.019531 42.86 47.019531 39 L 47.019531 11 C 47.019531 7.14 43.879531 4 40.019531 4 L 12.980469 4 z M 7 28 C 4.794 28 3 29.794 3 32 L 3 42 C 3 44.206 4.794 46 7 46 L 23 46 C 25.206 46 27 44.206 27 42 L 27 32 C 27 29.794 25.206 28 23 28 L 7 28 z M 7 32 L 23 32 L 23.001953 42 L 7 42 L 7 32 z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 749 B |
2
assets/icons/eye.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512">
|
||||||
|
<path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4C142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1c3.3-7.9 3.3-16.7 0-24.6c-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM432 256c0 79.5-64.5 144-144 144s-144-64.5-144-144s64.5-144 144-144s144 64.5 144 144zM288 192c0 35.3-28.7 64-64 64c-11.5 0-22.3-3-31.6-8.4c-.2 2.8-.4 5.5-.4 8.4c0 53 43 96 96 96s96-43 96-96s-43-96-96-96c-2.8 0-5.6 .1-8.4 .4c5.3 9.3 8.4 20.1 8.4 31.6z"/></svg>
|
||||||
|
After Width: | Height: | Size: 633 B |
1
assets/icons/facebook.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M504 256C504 119 393 8 256 8S8 119 8 256c0 123.78 90.69 226.38 209.25 245V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.28c-30.8 0-40.41 19.12-40.41 38.73V256h68.78l-11 71.69h-57.78V501C413.31 482.38 504 379.78 504 256z"/></svg>
|
||||||
|
After Width: | Height: | Size: 365 B |
22
assets/icons/fediverse.svg
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="196.52mm" height="196.52mm" viewBox="0 0 196.52 196.52" version="1.1">
|
||||||
|
<g fill="currentColor" transform="translate(6.6789703,-32.495842) matrix(0.26458333,0,0,0.26458333,-6.6789703,32.495842)">
|
||||||
|
<path d="m 181.13086,275.13672 a 68.892408,68.892408 0 0 1 -29.46484,29.32812 l 161.75781,162.38868 38.99805,-19.76368 z m 213.36328,214.1875 -38.99805,19.76367 81.96289,82.2832 a 68.892409,68.892409 0 0 1 29.47071,-29.33203 z"/>
|
||||||
|
<path d="m 581.64648,339.39062 -91.57617,46.41016 6.75196,43.18945 103.61523,-52.51367 A 68.892409,68.892409 0 0 1 581.64648,339.39062 Z M 436.9082,412.74219 220.38281,522.47656 a 68.892408,68.892408 0 0 1 18.79492,37.08985 L 443.66016,455.93359 Z"/>
|
||||||
|
<path d="M 367.27539,142.4375 262.79492,346.4082 293.64258,377.375 404.26562,161.41797 A 68.892408,68.892408 0 0 1 367.27539,142.4375 Z m -131.6543,257.02148 -52.92187,103.31446 a 68.892409,68.892409 0 0 1 36.98633,18.97851 l 46.78125,-91.32812 z"/>
|
||||||
|
<path d="m 150.76758,304.91797 a 68.892408,68.892408 0 0 1 -34.41602,7.19531 68.892408,68.892408 0 0 1 -6.65039,-0.69531 l 30.90235,197.66211 a 68.892409,68.892409 0 0 1 34.41601,-7.19531 68.892409,68.892409 0 0 1 6.64649,0.69531 z"/>
|
||||||
|
<path d="m 239.3418,560.54492 a 68.892408,68.892408 0 0 1 0.7207,13.87696 68.892408,68.892408 0 0 1 -7.26758,27.17968 l 197.62891,31.71289 a 68.892409,68.892409 0 0 1 -0.72266,-13.8789 68.892409,68.892409 0 0 1 7.26953,-27.17774 z"/>
|
||||||
|
<path d="m 601.13281,377.19922 -91.21875,178.08203 a 68.892408,68.892408 0 0 1 36.99414,18.98242 L 638.125,396.18359 a 68.892409,68.892409 0 0 1 -36.99219,-18.98437 z"/>
|
||||||
|
<path d="m 476.72266,125.33008 a 68.892408,68.892408 0 0 1 -29.47071,29.33203 l 141.26563,141.81055 a 68.892409,68.892409 0 0 1 29.46875,-29.33204 z"/>
|
||||||
|
<path d="m 347.78711,104.63086 -178.57617,90.49805 a 68.892409,68.892409 0 0 1 18.79297,37.08593 l 178.57421,-90.50195 a 68.892408,68.892408 0 0 1 -18.79101,-37.08203 z"/>
|
||||||
|
<path d="m 446.92578,154.82617 a 68.892408,68.892408 0 0 1 -34.98242,7.48242 68.892408,68.892408 0 0 1 -6.0293,-0.63281 l 15.81836,101.29102 43.16211,6.92578 z m -16,167.02735 37.40039,239.48242 a 68.892409,68.892409 0 0 1 33.91406,-6.94336 68.892409,68.892409 0 0 1 7.20704,0.79101 L 474.08984,328.77734 Z"/>
|
||||||
|
<path d="m 188.13086,232.97461 a 68.892408,68.892408 0 0 1 0.75781,14.0957 68.892408,68.892408 0 0 1 -7.16015,26.98242 l 101.36914,16.28125 19.92382,-38.9082 z m 173.73633,27.90039 -19.92578,38.91211 239.51367,38.4668 a 68.892409,68.892409 0 0 1 -0.69531,-13.71875 68.892409,68.892409 0 0 1 7.34961,-27.32422 z"/>
|
||||||
|
</g>
|
||||||
|
<g fill="currentColor" transform="translate(6.6789703,-32.495842) rotate(3.1178174)">
|
||||||
|
<circle cx="106.26596" cy="51.535553" r="16.570711" />
|
||||||
|
<circle cx="171.42836" cy="110.19328" r="16.570711" />
|
||||||
|
<circle cx="135.76379" cy="190.27704" r="16.570711" />
|
||||||
|
<circle cx="48.559471" cy="181.1138" r="16.570711" />
|
||||||
|
<circle cx="30.328812" cy="95.366837" r="16.570711" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.0 KiB |
3
assets/icons/file-lines.svg
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
|
||||||
|
<path fill="currentColor" d="M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 479 B |
2
assets/icons/fire.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
||||||
|
<path fill="currentColor" d="M159.3 5.4c7.8-7.3 19.9-7.2 27.7 .1c27.6 25.9 53.5 53.8 77.7 84c11-14.4 23.5-30.1 37-42.9c7.9-7.4 20.1-7.4 28 .1c34.6 33 63.9 76.6 84.5 118c20.3 40.8 33.8 82.5 33.8 111.9C448 404.2 348.2 512 224 512C98.4 512 0 404.1 0 276.5c0-38.4 17.8-85.3 45.4-131.7C73.3 97.7 112.7 48.6 159.3 5.4zM225.7 416c25.3 0 47.7-7 68.8-21c42.1-29.4 53.4-88.2 28.1-134.4c-2.8-5.6-5.6-11.2-9.8-16.8l-50.6 58.8s-81.4-103.6-87.1-110.6C133.1 243.8 112 273.2 112 306.8C112 375.4 162.6 416 225.7 416z"/></svg>
|
||||||
|
After Width: | Height: | Size: 572 B |
1
assets/icons/flickr.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM144.5 319c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5zm159 0c-35.1 0-63.5-28.4-63.5-63.5s28.4-63.5 63.5-63.5 63.5 28.4 63.5 63.5-28.4 63.5-63.5 63.5z"/></svg>
|
||||||
|
After Width: | Height: | Size: 400 B |
1
assets/icons/forgejo.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg viewBox="0 0 212 212" xmlns="http://www.w3.org/2000/svg"><g fill="none" stroke="currentColor"><g style="opacity:.7"><path stroke-width="25" d="M64 174V76a50 50 0 0 1 50-50h20"/><circle stroke-width="15" cx="148" cy="26" r="18"/></g><path stroke-width="25" d="M64 174v-30a50 50 0 0 1 50-50h20"/><circle stroke-width="15" cx="148" cy="94" r="18"/><circle stroke-width="15" cx="64" cy="186" r="18"/></g></svg>
|
||||||
|
After Width: | Height: | Size: 411 B |
1
assets/icons/fork.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M80 104c13.3 0 24-10.7 24-24s-10.7-24-24-24S56 66.7 56 80s10.7 24 24 24zm80-24c0 32.8-19.7 61-48 73.3V192c0 17.7 14.3 32 32 32H304c17.7 0 32-14.3 32-32V153.3C307.7 141 288 112.8 288 80c0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3V192c0 53-43 96-96 96H256v70.7c28.3 12.3 48 40.5 48 73.3c0 44.2-35.8 80-80 80s-80-35.8-80-80c0-32.8 19.7-61 48-73.3V288H144c-53 0-96-43-96-96V153.3C19.7 141 0 112.8 0 80C0 35.8 35.8 0 80 0s80 35.8 80 80zm208 24c13.3 0 24-10.7 24-24s-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24zM248 432c0-13.3-10.7-24-24-24s-24 10.7-24 24s10.7 24 24 24s24-10.7 24-24z"/></svg>
|
||||||
|
After Width: | Height: | Size: 691 B |
1
assets/icons/foursquare.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 368 512"><path fill="currentColor" d="M323.1 3H49.9C12.4 3 0 31.3 0 49.1v433.8c0 20.3 12.1 27.7 18.2 30.1 6.2 2.5 22.8 4.6 32.9-7.1C180 356.5 182.2 354 182.2 354c3.1-3.4 3.4-3.1 6.8-3.1h83.4c35.1 0 40.6-25.2 44.3-39.7l48.6-243C373.8 25.8 363.1 3 323.1 3zm-16.3 73.8l-11.4 59.7c-1.2 6.5-9.5 13.2-16.9 13.2H172.1c-12 0-20.6 8.3-20.6 20.3v13c0 12 8.6 20.6 20.6 20.6h90.4c8.3 0 16.6 9.2 14.8 18.2-1.8 8.9-10.5 53.8-11.4 58.8-.9 4.9-6.8 13.5-16.9 13.5h-73.5c-13.5 0-17.2 1.8-26.5 12.6 0 0-8.9 11.4-89.5 108.3-.9.9-1.8.6-1.8-.3V75.9c0-7.7 6.8-16.6 16.6-16.6h219c8.2 0 15.6 7.7 13.5 17.5z"/></svg>
|
||||||
|
After Width: | Height: | Size: 644 B |
2
assets/icons/ghost.svg
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
|
||||||
|
<path fill="currentColor" d="M50.8 452.1L19.2 477.4c-2.1 1.7-4.7 2.6-7.4 2.6C5.3 480 0 474.7 0 468.2V192C0 86 86 0 192 0S384 86 384 192V468.2c0 6.5-5.3 11.8-11.8 11.8c-2.7 0-5.3-.9-7.4-2.6l-31.6-25.3c-3.3-2.7-7.5-4.1-11.8-4.1c-5.9 0-11.5 2.8-15 7.5l-37.6 50.1c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4l-38.4-51.2c-3-4-7.8-6.4-12.8-6.4s-9.8 2.4-12.8 6.4l-38.4 51.2c-3 4-7.8 6.4-12.8 6.4s-9.8-2.4-12.8-6.4L77.6 455.5c-3.6-4.7-9.1-7.5-15-7.5c-4.3 0-8.4 1.5-11.7 4.1zM160 192c0-17.7-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32s32-14.3 32-32zm96 32c17.7 0 32-14.3 32-32s-14.3-32-32-32s-32 14.3-32 32s14.3 32 32 32z"/></svg>
|
||||||
|
After Width: | Height: | Size: 678 B |
1
assets/icons/gitea.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="5.67 143.05 628.65 387.55"><path fill="currentColor" d="M115.912 143.075c-6.462 0-13.762.525-22.012 2.325-8.7 1.8-33.5 7.4-53.8 26.9C-4.9 212.4 6.6 276.2 8 285.8c1.7 11.7 6.9 44.2 31.7 72.5 45.8 56.1 144.4 54.8 144.4 54.8s12.1 28.9 30.6 55.5c25 33.1 50.7 58.9 75.7 62 63 0 188.9-.1 188.9-.1s12 .1 28.3-10.3c14-8.5 26.5-23.4 26.5-23.4S547 483 565 451.5c5.5-9.7 10.1-19.1 14.1-28 0 0 55.2-117.1 55.2-231.1-1.1-34.5-9.6-40.6-11.6-42.6-4.1-4.1-9.6-4-9.6-4s-117.2 6.6-177.9 8c-13.267.3-26.433.597-39.5.697l.1 117.002s57.4 24.202 83.1 40.102c3.7 2.3 10.2 6.798 12.9 14.398 2.1 6.1 2 13.101-1 19.301l-61 126.9c-6.2 12.7-21.4 18.1-33.9 12l-126.9-61c-12.5-6-17.9-21.2-11.8-33.8l61-126.9c6-12.5 21.2-17.9 33.8-11.8a5290.322 5290.322 0 0 0 27 12.954c0-36.449-.1-109.053-.1-109.053-29 .4-89.2-2.201-89.2-2.201s-141.4-7.1-156.8-8.5c-4.9-.3-10.525-.825-16.988-.825zm12.188 48.026s7.1 59.399 15.7 94.199c7.2 29.2 24.8 77.7 24.8 77.7s-26.1-3.1-43-9.1c-25.9-8.5-36.9-18.7-36.9-18.7S69.6 321.8 60 295.4c-16.5-44.2-1.4-71.2-1.4-71.2s8.4-22.5 38.5-30c13.8-3.7 31-3.1 31-3.1z"/><path fill="currentColor" d="M326.8 380.1c-8.2.1-15.4 5.8-17.3 13.8-1.9 8 2 16.3 9.1 20 7.7 4 17.5 1.8 22.7-5.4 5.1-7.1 4.3-16.9-1.8-23.1l24-49.1c1.5.1 3.7.2 6.2-.5 4.1-.9 7.1-3.6 7.1-3.6 4.2 1.8 8.6 3.8 13.2 6.1 4.8 2.4 9.3 4.9 13.4 7.3.9.5 1.8 1.1 2.8 1.9 1.6 1.3 3.4 3.1 4.7 5.5 1.9 5.5-1.9 14.9-1.9 14.9-2.3 7.6-18.4 40.6-18.4 40.6-8.1-.2-15.3 5-17.7 12.5-2.6 8.1 1.1 17.3 8.9 21.3 7.8 4 17.4 1.7 22.5-5.3 5-6.8 4.6-16.3-1.1-22.6 1.9-3.7 3.7-7.4 5.6-11.3 5-10.4 13.5-30.4 13.5-30.4.9-1.7 5.7-10.3 2.7-21.3-2.5-11.4-12.6-16.7-12.6-16.7-12.2-7.9-29.2-15.2-29.2-15.2s0-4.1-1.1-7.1c-1.1-3.1-2.8-5.1-3.9-6.3 4.7-9.7 9.4-19.3 14.1-29-4.1-2-8.1-4-12.2-6.1-4.8 9.8-9.7 19.7-14.5 29.5-6.7-.1-12.9 3.5-16.1 9.4-3.4 6.3-2.7 14.1 1.9 19.8l-24.6 50.4z"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |