Compare commits
237 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 619c046222 | |||
| 7175b0d21f | |||
| 0cb3365b6a | |||
| 33d91af120 | |||
| 1dc00ccb1e | |||
| 36f42bde9d | |||
| 33c10915a8 | |||
| 0e8e182e33 | |||
| 211a0785fa | |||
| 32c5c04632 | |||
| c52b1f8dcc | |||
| 1685b0a3c4 | |||
| bd10f18553 | |||
| 1ca18416d1 | |||
| 3ef375f488 | |||
| 747106edcc | |||
| 1f17e61ad6 | |||
| 799572c792 | |||
| ca85a71230 | |||
| ea9812ec7c | |||
| d61d39b9fb | |||
| 56615bfa43 | |||
| 35ccacacd2 | |||
| 237a79332a | |||
| 872e2119c2 | |||
| 2500174f94 | |||
| e2463abc4e | |||
| 79282571eb | |||
| 6585f002a9 | |||
| d32ac9a43e | |||
| 412376fdc1 | |||
| 63931ee8f6 | |||
| bb87ee29ac | |||
| eefb6166eb | |||
| 55dd90a0dd | |||
| fe5d8af56d | |||
| b81fd5078b | |||
| eb167e0155 | |||
| 8cb07ffeb4 | |||
| 27c3d0f4cc | |||
| ad3dee71c2 | |||
| bf6f63976b | |||
| 6c8ab46a73 | |||
| 3d6246f3c9 | |||
| 4a5f6ce426 | |||
| 20bc7dd71f | |||
| 65049cfbb7 | |||
| 869eba97a2 | |||
| ddbb4bf7ce | |||
| 2ae15e5235 | |||
| eacae1be3e | |||
| 43fe14bfa1 | |||
| 06ee3c1e1f | |||
| baa4774862 | |||
| a22474538d | |||
| 827a940995 | |||
| f6440e69d5 | |||
| a50f947384 | |||
| a1bff16050 | |||
| e8615c64e2 | |||
| c43da0089d | |||
| c9cebe5fe8 | |||
| 4025a6e321 | |||
| 3809d298ca | |||
| 974d4485ba | |||
| 91b18c0f04 | |||
| c89fe66332 | |||
| 8caa12724e | |||
| 309118c068 | |||
| be903cfd69 | |||
| fe647ce34f | |||
| 17128e9388 | |||
| de221c342d | |||
| 6f5e748b5b | |||
| e151dad461 | |||
| 711d4c7749 | |||
| 56e1bc5a69 | |||
| d3b20dc424 | |||
| 8ac46052e4 | |||
| 6b4b367c13 | |||
| abca4629bc | |||
| 4c6e7d404d | |||
| 2c5f991275 | |||
| 1e951589ef | |||
| 896db21fa5 | |||
| 9e8d0c401d | |||
| 5772734a34 | |||
| 69132a1dae | |||
| 46769a2b6d | |||
| d74549f870 | |||
| 42a0e5100a | |||
| bfa1e4c2b3 | |||
| a159ff65b1 | |||
| e4cda24f7f | |||
| 585c1ef847 | |||
| 2b9ce8fb29 | |||
| d93c49d82a | |||
| 91f6b69fa7 | |||
| 99a131fe43 | |||
| 4ebbb523a5 | |||
| d0a6eb4b28 | |||
| 5e172bca28 | |||
| 93f422675f | |||
| 2e8bf65885 | |||
| 801208c664 | |||
| f69ec4fca3 | |||
| 063c65716b | |||
| 11ca8ef8b3 | |||
| ec80b7f22d | |||
| 2134464267 | |||
| f29aa9b4fa | |||
| d1bc8e2f4c | |||
| bc0b69d726 | |||
| cab383aa12 | |||
| 0b27282e6a | |||
| b5c841295c | |||
| 39e1433fca | |||
| 0c408aa7ce | |||
| e3c84e0ba1 | |||
| fea093c187 | |||
| 4e029b7de8 | |||
| 3cd9c910f7 | |||
| a4e30e80a3 | |||
| 5d3f195c00 | |||
| 8dbe04b95d | |||
| cac27fc8c4 | |||
| b9d6b6612c | |||
| 0d1bd1f9f4 | |||
| b28d8e93cf | |||
| 9c8b6bd59b | |||
| 0773fe303e | |||
| 32837a0938 | |||
| 8e7e195b91 | |||
| 232e5d2f3a | |||
| 2ffc0c7a9c | |||
| 098179ec1f | |||
| ff86f78b4d | |||
| b5c3713277 | |||
| ad149f4d80 | |||
| 35c6586412 | |||
| 6e41689c06 | |||
| f779ac4ebb | |||
| adf5d52ab3 | |||
| ba997ff4c5 | |||
| 7b604b30e5 | |||
| 8a8c0ec9fd | |||
| 6e849034ac | |||
| 41b1106703 | |||
| 20ff5ac182 | |||
| 0072234546 | |||
| c0480898ed | |||
| bb01f1a975 | |||
| 069b0aa328 | |||
| 15c17a471b | |||
| cf7c11421b | |||
| e8e23ed9a3 | |||
| d155f2063b | |||
| c68a0e20af | |||
| e2b666c6d1 | |||
| 02c2483c6c | |||
| b06326bbe8 | |||
| 4803151e93 | |||
| 3c62edec20 | |||
| 7b92452e2b | |||
| 6d98c15136 | |||
| fc3b483697 | |||
| 8c7ae86720 | |||
| 8f239a0ddc | |||
| 990cd7a58b | |||
| d868096c3c | |||
| d36ecdb810 | |||
| 1ed12aacdf | |||
| 03edbac376 | |||
| f56f3dd176 | |||
| ccc67a2a02 | |||
| 3b75961f58 | |||
| 6a55617adc | |||
| ffe40b1cba | |||
| 1a5bbe4eeb | |||
| 46952f6ab9 | |||
| 4099f4f1e6 | |||
| dd0c46593c | |||
| 14ee45e4a0 | |||
| 091c77360d | |||
| 884bf65e43 | |||
| ebe659b12b | |||
| efa63e7990 | |||
| de912c08c6 | |||
| 0b5bde7233 | |||
| 9004e7c423 | |||
| 61e5a34171 | |||
| 929a78837a | |||
| 65a429b664 | |||
| 08a09d5c71 | |||
| 88a0814025 | |||
| 3421c99ebf | |||
| b5fe77f876 | |||
| 6f8280a656 | |||
| 892fe83255 | |||
| e86f574aca | |||
| 4a0aa4758a | |||
| d9df1053e1 | |||
| 0884fb6fc6 | |||
| e7cc9bcbe8 | |||
| 249f18d853 | |||
| fdd2ae46fa | |||
| 1824e56268 | |||
| a811118a53 | |||
| ace2adfeb7 | |||
| cc4f7ee706 | |||
| 3aa610538e | |||
| 5f293a8fcc | |||
| ac28e9824e | |||
| 16f64aa4c2 | |||
| 6a01c1ea4b | |||
| 466580b57b | |||
| c3405ba75b | |||
| 0cdce56244 | |||
| 5798312a92 | |||
| 1fc66aae56 | |||
| 6eefce8533 | |||
| 0ff2ecce52 | |||
| 1124295e82 | |||
| 7d5f1ea324 | |||
| 67c49c7432 | |||
| fc5656c937 | |||
| ab962d4f4a | |||
| 78ea0674dd | |||
| c6183cb404 | |||
| 93f2a53f6c | |||
| 4679efe5c5 | |||
| 19c2edb08d | |||
| 6996894ec1 | |||
| d38634df8d | |||
| d6706e05ee | |||
| cb3df73d53 | |||
| 60d2b21649 |
@@ -6,8 +6,8 @@ title: 'Feature Request'
|
||||
|
||||
<!---
|
||||
Before filing an issue, please review the following:
|
||||
Existing Features: https://github.com/hossainemruz/toha#features
|
||||
Project Roadmap: https://github.com/hossainemruz/toha#project-roadmap
|
||||
Existing Features: https://github.com/hugo-toha/toha#features
|
||||
Project Roadmap: https://github.com/hugo-toha/toha#project-roadmap
|
||||
-->
|
||||
|
||||
### Describe the solution you'd like
|
||||
|
||||
@@ -17,7 +17,7 @@ categories:
|
||||
- 'feature'
|
||||
- 'enhancement'
|
||||
|
||||
- title: 'New Translations'
|
||||
- title: 'Translations'
|
||||
label: 'translation'
|
||||
|
||||
- title: 'Bug Fixes'
|
||||
|
||||
@@ -8,20 +8,20 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout to latest commit
|
||||
uses: actions/checkout@v2.3.4
|
||||
uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v2.1.5
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "15.x"
|
||||
|
||||
- name: Run autoprefixer
|
||||
run: |
|
||||
npm install postcss-cli autoprefixer --save-dev
|
||||
npm install postcss postcss-cli autoprefixer --save-dev
|
||||
npm run autoprefixer
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3.8.2
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
branch: autoprefixer
|
||||
branch-suffix: timestamp
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
name: Run Build
|
||||
|
||||
# Run action on pull request event
|
||||
on: [pull_request]
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
# checkout to the commit that has been pushed
|
||||
- uses: actions/checkout@v3.1.0
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
# install Hugo
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2.6.0
|
||||
with:
|
||||
hugo-version: 'latest'
|
||||
extended: true
|
||||
|
||||
# build website
|
||||
- name: Create Config
|
||||
run: touch config.toml
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
@@ -0,0 +1,71 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ main ]
|
||||
schedule:
|
||||
- cron: '19 16 * * 2'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'javascript' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||
# Learn more:
|
||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3.1.0
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v2
|
||||
@@ -10,6 +10,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Create/Update release draft
|
||||
- uses: release-drafter/release-drafter@v5.15.0
|
||||
- uses: release-drafter/release-drafter@v5.21.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -8,6 +8,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# checkout to latest commit
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/checkout@v3.1.0
|
||||
# run markdown linter
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@v1
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.14
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
name: Project Automation (Issue)
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- closed
|
||||
- labeled
|
||||
- unlabeled
|
||||
jobs:
|
||||
issue_automation:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get project data
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
ORGANIZATION: hugo-toha
|
||||
PROJECT_NUMBER: 4
|
||||
run: |
|
||||
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
|
||||
query($org: String!, $number: Int!) {
|
||||
organization(login: $org){
|
||||
projectNext(number: $number) {
|
||||
id
|
||||
fields(first:20) {
|
||||
nodes {
|
||||
id
|
||||
name
|
||||
settings
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}' -f org="$ORGANIZATION" -F number=$PROJECT_NUMBER > project_data.json
|
||||
|
||||
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
# Read the ID of the "Type" field options
|
||||
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_BUG='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Bug") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_FEATURE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Feature") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_ENHANCEMENT='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Enhancement") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_DOCUMENTATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Documentation") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_TRANSLATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Translation") |.id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
# Read the id of the "Status" field options
|
||||
echo 'STATUS_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_TODO='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_IN_PROGRESS='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="In Progress") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_READY_FOR_REVIEW='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Ready for Review") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_DONE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Done") |.id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
- name: Add Issue to project
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
ISSUE_ID: ${{ github.event.issue.node_id }}
|
||||
run: |
|
||||
item_id="$( gh api graphql -f query='
|
||||
mutation($project:ID!, $issue:ID!) {
|
||||
addProjectNextItem(input: {projectId: $project, contentId: $issue}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f issue="$ISSUE_ID" --jq '.data.addProjectNextItem.projectNextItem.id')"
|
||||
|
||||
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
|
||||
|
||||
- name: Export Labels
|
||||
env:
|
||||
ISSUE_DATA: ${{ toJson(github.event.issue) }}
|
||||
run: |
|
||||
echo 'LABELS='$(echo "$ISSUE_DATA" | jq -r '[.labels[].name] | join(" ")') >> $GITHUB_ENV
|
||||
|
||||
- name: Set "Type" field
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
run: |
|
||||
# Only execute this step if the Issue contains at least one label
|
||||
if [ "${#LABELS[@]}" -gt 0 ]; then
|
||||
|
||||
# Let by default the type is "Bug"
|
||||
OPTION_ID=$TYPE_BUG
|
||||
|
||||
# If it has "feature" label then set the type to "Feature"
|
||||
if [[ "${LABELS[*]}" =~ "feature" ]]; then
|
||||
OPTION_ID=$TYPE_FEATURE
|
||||
fi
|
||||
|
||||
# If it has "enhancement" label then set the type to "Enhancement"
|
||||
if [[ "${LABELS[*]}" =~ "enhancement" ]]; then
|
||||
OPTION_ID=$TYPE_ENHANCEMENT
|
||||
fi
|
||||
|
||||
# If it has "documentation" label then set the type to "Documentation"
|
||||
if [[ "${LABELS[*]}" =~ "documentation" ]]; then
|
||||
OPTION_ID=$TYPE_DOCUMENTATION
|
||||
fi
|
||||
|
||||
# If it has "translation" label then set the type to "Translation"
|
||||
if [[ "${LABELS[*]}" =~ "translation" ]]; then
|
||||
OPTION_ID=$TYPE_TRANSLATION
|
||||
fi
|
||||
|
||||
# Set the "Type" field to appropriate option
|
||||
gh api graphql -f query='
|
||||
mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: String!) {
|
||||
updateProjectNextItemField(input: {
|
||||
projectId: $project
|
||||
itemId: $item
|
||||
fieldId: $field
|
||||
value: $opt_id
|
||||
}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$TYPE_ID" -f opt_id="$OPTION_ID" --silent
|
||||
fi
|
||||
|
||||
- name: Set "Status" field
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
run: |
|
||||
STATE=${{github.event.issue.state}}
|
||||
|
||||
echo "State: $STATE"
|
||||
|
||||
OPTION_ID=$STATUS_TODO
|
||||
|
||||
if [[ "${STATE}" == "closed" ]]
|
||||
then
|
||||
OPTION_ID=$STATUS_DONE
|
||||
fi
|
||||
|
||||
gh api graphql -f query='
|
||||
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
|
||||
updateProjectNextItemField(input: {
|
||||
projectId: $project
|
||||
itemId: $item
|
||||
fieldId: $field
|
||||
value: $status_id
|
||||
}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$STATUS_ID" -f status_id="$OPTION_ID" --silent
|
||||
@@ -0,0 +1,219 @@
|
||||
name: Project Automation (PR)
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- ready_for_review
|
||||
- reopened
|
||||
- review_requested
|
||||
- closed
|
||||
- labeled
|
||||
- unlabeled
|
||||
- synchronize
|
||||
jobs:
|
||||
pr_automation:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Get project data
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
ORGANIZATION: hugo-toha
|
||||
PROJECT_NUMBER: 4
|
||||
run: |
|
||||
gh api graphql --header 'GraphQL-Features: projects_next_graphql' -f query='
|
||||
query($org: String!, $number: Int!) {
|
||||
organization(login: $org){
|
||||
projectNext(number: $number) {
|
||||
id
|
||||
fields(first:20) {
|
||||
nodes {
|
||||
id
|
||||
name
|
||||
settings
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}' -f org="$ORGANIZATION" -F number=$PROJECT_NUMBER > project_data.json
|
||||
|
||||
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
# Read the ID of the "Type" field options
|
||||
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'PROJECT_ID='$(jq -r '.data.organization.projectNext.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_BUG='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Bug") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_FEATURE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Feature") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_ENHANCEMENT='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Enhancement") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_DOCUMENTATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Documentation") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'TYPE_TRANSLATION='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Type") |.settings | fromjson.options[] | select(.name=="Translation") |.id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
# Read the id of the "Status" field options
|
||||
echo 'STATUS_ID='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_TODO='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Todo") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_IN_PROGRESS='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="In Progress") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_READY_FOR_REVIEW='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Ready for Review") |.id' project_data.json) >> $GITHUB_ENV
|
||||
echo 'STATUS_DONE='$(jq -r '.data.organization.projectNext.fields.nodes[] | select(.name== "Status") |.settings | fromjson.options[] | select(.name=="Done") |.id' project_data.json) >> $GITHUB_ENV
|
||||
|
||||
- name: Add PR to project
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
PR_ID: ${{ github.event.pull_request.node_id }}
|
||||
run: |
|
||||
item_id="$( gh api graphql -f query='
|
||||
mutation($project:ID!, $pr:ID!) {
|
||||
addProjectNextItem(input: {projectId: $project, contentId: $pr}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f pr="$PR_ID" --jq '.data.addProjectNextItem.projectNextItem.id')"
|
||||
|
||||
echo 'ITEM_ID='$item_id >> $GITHUB_ENV
|
||||
|
||||
- name: Export Labels
|
||||
env:
|
||||
PR_DATA: ${{ toJson(github.event.pull_request) }}
|
||||
run: |
|
||||
echo 'LABELS='$(echo "$PR_DATA" | jq -r '[.labels[].name] | join(" ")') >> $GITHUB_ENV
|
||||
|
||||
- name: Set "Type" field
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
run: |
|
||||
# Only execute this step if the PR contains at least one label
|
||||
if [ "${#LABELS[@]}" -gt 0 ]; then
|
||||
|
||||
# Let by default the type is "Bug"
|
||||
OPTION_ID=$TYPE_BUG
|
||||
|
||||
# If it has "feature" label then set the type to "Feature"
|
||||
if [[ "${LABELS[*]}" =~ "feature" ]]; then
|
||||
OPTION_ID=$TYPE_FEATURE
|
||||
fi
|
||||
|
||||
# If it has "enhancement" label then set the type to "Enhancement"
|
||||
if [[ "${LABELS[*]}" =~ "enhancement" ]]; then
|
||||
OPTION_ID=$TYPE_ENHANCEMENT
|
||||
fi
|
||||
|
||||
# If it has "documentation" label then set the type to "Documentation"
|
||||
if [[ "${LABELS[*]}" =~ "documentation" ]]; then
|
||||
OPTION_ID=$TYPE_DOCUMENTATION
|
||||
fi
|
||||
|
||||
# If it has "translation" label then set the type to "Translation"
|
||||
if [[ "${LABELS[*]}" =~ "translation" ]]; then
|
||||
OPTION_ID=$TYPE_TRANSLATION
|
||||
fi
|
||||
|
||||
# Set the "Type" field to appropriate option
|
||||
gh api graphql -f query='
|
||||
mutation ($project: ID!, $item: ID!, $field: ID!, $opt_id: String!) {
|
||||
updateProjectNextItemField(input: {
|
||||
projectId: $project
|
||||
itemId: $item
|
||||
fieldId: $field
|
||||
value: $opt_id
|
||||
}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$TYPE_ID" -f opt_id="$OPTION_ID" --silent
|
||||
fi
|
||||
|
||||
- name: Set "Status" field
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
run: |
|
||||
MERGED=${{github.event.pull_request.merged}}
|
||||
STATE=${{github.event.pull_request.state}}
|
||||
REVIEWERS=${{github.event.pull_request.requested_reviewers}}
|
||||
DRAFT=${{github.event.pull_request.draft}}
|
||||
|
||||
echo "Merged: $MERGED"
|
||||
echo "State: $STATE"
|
||||
echo "Draft: $DRAFT"
|
||||
echo "Reviewer: $REVIEWER"
|
||||
|
||||
OPTION_ID=$STATUS_TODO
|
||||
|
||||
if [[ ("${MERGED}" == "true") || ("${STATE}" == "closed") ]]
|
||||
then
|
||||
OPTION_ID=$STATUS_DONE
|
||||
elif [[ ${#REVIEWERS[@]} -gt 0 ]]
|
||||
then
|
||||
OPTION_ID=$STATUS_READY_FOR_REVIEW
|
||||
else
|
||||
OPTION_ID=$STATUS_IN_PROGRESS
|
||||
fi
|
||||
|
||||
# Expose the OPTION_ID so that it can be used in later steps
|
||||
echo 'PR_STATUS='$OPTION_ID >> $GITHUB_ENV
|
||||
|
||||
gh api graphql -f query='
|
||||
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
|
||||
updateProjectNextItemField(input: {
|
||||
projectId: $project
|
||||
itemId: $item
|
||||
fieldId: $field
|
||||
value: $status_id
|
||||
}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f item="$ITEM_ID" -f field="$STATUS_ID" -f status_id="$OPTION_ID" --silent
|
||||
|
||||
- name: Find Linked Issues
|
||||
id: linked_issues
|
||||
uses: hossainemruz/linked-issues@main
|
||||
with:
|
||||
pr_url: ${{github.event.pull_request.html_url}}
|
||||
format: IssueNumber
|
||||
|
||||
- name: Update Linked Issues Status
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.PROJECT_AUTOMATION}}
|
||||
run: |
|
||||
declare -a issues=(${{ steps.linked_issues.outputs.issues }})
|
||||
|
||||
# Loop through the every issues and update their Status to same as the PR Status
|
||||
for i in "${issues[@]}"
|
||||
do
|
||||
# Find the Issue ID
|
||||
ISSUE_ID="$(gh api graphql -f query='
|
||||
query($owner: String!, $name: String!, $issue_number: Int!) {
|
||||
repository(owner: $owner, name: $name) {
|
||||
issue(number: $issue_number) {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f owner="${{github.event.pull_request.head.repo.owner.login}}" -f name="${{github.event.pull_request.head.repo.name}}" -F issue_number=$i --jq='.data.repository.issue.id')"
|
||||
|
||||
# Find the id of the Issue at the project board
|
||||
item_id="$( gh api graphql -f query='
|
||||
mutation($project:ID!, $pr:ID!) {
|
||||
addProjectNextItem(input: {projectId: $project, contentId: $pr}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f pr="$ISSUE_ID" --jq '.data.addProjectNextItem.projectNextItem.id')"
|
||||
|
||||
# Update the Issue Status
|
||||
gh api graphql -f query='
|
||||
mutation ($project: ID!, $item: ID!, $field: ID!, $status_id: String!) {
|
||||
updateProjectNextItemField(input: {
|
||||
projectId: $project
|
||||
itemId: $item
|
||||
fieldId: $field
|
||||
value: $status_id
|
||||
}) {
|
||||
projectNextItem {
|
||||
id
|
||||
}
|
||||
}
|
||||
}' -f project="$PROJECT_ID" -f item="$item_id" -f field="$STATUS_ID" -f status_id="$PR_STATUS" --silent
|
||||
done
|
||||
+3
-1
@@ -2,4 +2,6 @@
|
||||
node_modules/
|
||||
.DS_Store
|
||||
.history/
|
||||
resources/
|
||||
resources/
|
||||
public/
|
||||
.hugo_build.lock
|
||||
@@ -1,6 +1,17 @@
|
||||
# Toha
|
||||
|
||||
[](https://app.netlify.com/sites/toha/deploys) [](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main)          [](https://percy.io/b7cb60ab/hugo-toha.github.io)
|
||||
[](https://app.netlify.com/sites/toha/deploys)
|
||||
[](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main)
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
[](https://percy.io/b7cb60ab/hugo-toha.github.io)
|
||||
|
||||
A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist design and responsiveness.
|
||||
|
||||
@@ -19,8 +30,16 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
|
||||
- Achievement Gallery
|
||||
- Sidebar to Categorize the Posts
|
||||
- Short Codes
|
||||
- Google Analytics Support
|
||||
- Disqus Comment Support
|
||||
- Analytics Support
|
||||
- GoatCounter
|
||||
- counter.dev
|
||||
- Google Analytics
|
||||
- Matomo/Piwik
|
||||
- Comment Support
|
||||
- [Disqus](https://disqus.com/)
|
||||
- [Valine](https://valine.js.org/)
|
||||
- [Uttarances](https://utteranc.es/)
|
||||
- [Giscus](https://giscus.app/)
|
||||
|
||||
For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/).
|
||||
|
||||
@@ -38,7 +57,11 @@ For more details about the features please visit [here](https://toha-guides.netl
|
||||
- 日本語
|
||||
- 한국어
|
||||
- русский
|
||||
- suomi
|
||||
- Tiếng Việt
|
||||
- Turkish
|
||||
- Arabic (العربية)
|
||||
- Português
|
||||
|
||||
To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io).
|
||||
|
||||
@@ -60,7 +83,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
|
||||
|
||||
## Requirements
|
||||
|
||||
- Hugo Version 0.68.0 or higher
|
||||
- Hugo Version 0.87.0 or higher
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -126,10 +149,19 @@ params:
|
||||
# specify whether you want to show Table of Contents in reading page
|
||||
enableTOC: true
|
||||
|
||||
# Provide newsletter configuration. This feature hasn't been implemented yet.
|
||||
# Currently, you can just hide it from the footer.
|
||||
# specify whether you want the language flags to be displayed.
|
||||
showFlags: true
|
||||
|
||||
# Provide newsletter configuration.
|
||||
# This feature has been implemented for Mailchimp only for now.
|
||||
# You can also hide it from the footer.
|
||||
newsletter:
|
||||
# specify whether you want to display the newsletter form
|
||||
enable: true
|
||||
# specify which newsletter provider you want to use
|
||||
provider: mailchimp
|
||||
# specify the target URL for the subscription form
|
||||
mailchimpURL: https://github.us1.list-manage.com/subscribe/post?u=19de52a4603135aae97163fd8&id=094a24c76e
|
||||
```
|
||||
|
||||
Don't forget to update `title`, `baseURL`, and `gitRepo` fields with your own information. To know about more available configuration options, please visit [here](https://toha-guides.netlify.app/posts/configuration/site-parameters/).
|
||||
@@ -139,7 +171,7 @@ Don't forget to update `title`, `baseURL`, and `gitRepo` fields with your own in
|
||||
Now, you can run your hugo site with `toha` theme locally with the following command:
|
||||
|
||||
```console
|
||||
$ hugo server -t toha -w
|
||||
$ hugo server --theme toha --watch
|
||||
```
|
||||
|
||||
When you run your site for first time, it will start with the default parameters. It should look similar to the [example site](https://hugo-toha.github.io). However, it will not have any sections in the homepage as we haven't configured them yet. You can configure your site by following the guides from [here](https://toha-guides.netlify.app/posts/configuration/).
|
||||
@@ -148,10 +180,12 @@ When you run your site for first time, it will start with the default parameters
|
||||
|
||||
Here, are some handy shortcodes you can use with this theme.
|
||||
|
||||
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/)
|
||||
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/)
|
||||
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/)
|
||||
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/)
|
||||
- [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
|
||||
- [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
|
||||
- [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
|
||||
- [Vertical Space](https://toha-guides.netlify.app/posts/shortcodes/#vertical-space)
|
||||
- [Video](https://toha-guides.netlify.app/posts/shortcodes/#video)
|
||||
- [Mermaid](https://hugo-toha.github.io/posts/shortcodes/#mermaid)
|
||||
|
||||
## Project Roadmap
|
||||
|
||||
@@ -213,13 +247,14 @@ Here is the check list for portfolio mode,
|
||||
|
||||
- [ ] **Publications**
|
||||
|
||||
- [ ] Category Filter
|
||||
- [ ] Card
|
||||
- [ ] Abstract
|
||||
- [ ] Authors
|
||||
- [ ] Tags
|
||||
- [ ] Links
|
||||
- [ ] Gallery
|
||||
- [x] Category Filter
|
||||
- [x] Card
|
||||
- [x] Tags
|
||||
- [x] Links
|
||||
- [ ] Dedicated Page
|
||||
- [ ] Abstract
|
||||
- [ ] Authors
|
||||
- [ ] Gallery
|
||||
|
||||
- [x] **Accomplishment / Courses**
|
||||
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "অনুসন্ধানের ফলাফল"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Resultados de Búsqueda"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
Este archivo existe únicamente para responder a la URL /search con la plantilla de diseño `search` relacionada.
|
||||
|
||||
No se muestra ningún contenido aquí, todo el contenido se basa en la plantilla layouts/page/search.html
|
||||
|
||||
Establecer una prioridad muy baja en el mapa del sitio le dirá a los motores de búsqueda que éste no es un contenido importante.
|
||||
|
||||
Esta implementación utiliza Fusejs, jquery y mark.js
|
||||
|
||||
|
||||
## Configuración inicial
|
||||
|
||||
La búsqueda depende del tipo de contenido de salida adicional de JSON en config.toml
|
||||
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Búsqueda de archivos adicionales
|
||||
|
||||
Para buscar campos adicionales definidos en el front matter, debes añadirlo en 2 lugares.
|
||||
|
||||
### Editar layouts/_default/index.JSON
|
||||
Esto expone los valores en /index.json: por ejemplo, para agregar `categories`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Editar las opciones de fuse.js para buscar
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "অনুসন্ধানের ফলাফল"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Resultados de Búsqueda"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
Este archivo existe únicamente para responder a la URL /search con la plantilla de diseño `search` relacionada.
|
||||
|
||||
No se muestra ningún contenido aquí, todo el contenido se basa en la plantilla layouts/page/search.html
|
||||
|
||||
Establecer una prioridad muy baja en el mapa del sitio le dirá a los motores de búsqueda que éste no es un contenido importante.
|
||||
|
||||
Esta implementación utiliza Fusejs, jquery y mark.js
|
||||
|
||||
|
||||
## Configuración inicial
|
||||
|
||||
La búsqueda depende del tipo de contenido de salida adicional de JSON en config.toml
|
||||
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Búsqueda de archivos adicionales
|
||||
|
||||
Para buscar campos adicionales definidos en el front matter, debes añadirlo en 2 lugares.
|
||||
|
||||
### Editar layouts/_default/index.JSON
|
||||
Esto expone los valores en /index.json: por ejemplo, para agregar `categories`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Editar las opciones de fuse.js para buscar
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
@@ -0,0 +1,54 @@
|
||||
---
|
||||
title: "Search Results"
|
||||
date: 2010-06-08T08:06:25+06:00
|
||||
weight: 999999
|
||||
sitemap:
|
||||
priority : 0.1
|
||||
layout: "search"
|
||||
url: search
|
||||
---
|
||||
|
||||
|
||||
This file exists solely to respond to /search URL with the related `search` layout template.
|
||||
|
||||
No content shown here is rendered, all content is based in the template layouts/page/search.html
|
||||
|
||||
Setting a very low sitemap priority will tell search engines this is not important content.
|
||||
|
||||
This implementation uses Fusejs, jquery and mark.js
|
||||
|
||||
|
||||
## Initial setup
|
||||
|
||||
Search depends on additional output content type of JSON in config.toml
|
||||
\```
|
||||
[outputs]
|
||||
home = ["HTML", "JSON"]
|
||||
\```
|
||||
|
||||
## Searching additional fileds
|
||||
|
||||
To search additional fields defined in front matter, you must add it in 2 places.
|
||||
|
||||
### Edit layouts/_default/index.JSON
|
||||
This exposes the values in /index.json
|
||||
i.e. add `category`
|
||||
\```
|
||||
...
|
||||
"contents":{{ .Content | plainify | jsonify }}
|
||||
{{ if .Params.tags }},
|
||||
"tags":{{ .Params.tags | jsonify }}{{end}},
|
||||
"categories" : {{ .Params.categories | jsonify }},
|
||||
...
|
||||
\```
|
||||
|
||||
### Edit fuse.js options to Search
|
||||
`static/js/search.js`
|
||||
\```
|
||||
keys: [
|
||||
"title",
|
||||
"contents",
|
||||
"tags",
|
||||
"categories"
|
||||
]
|
||||
\```
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "الصفحة الرئيسية"
|
||||
|
||||
[posts]
|
||||
other = "المنشورات"
|
||||
|
||||
[toc_heading]
|
||||
other = "قائمة المحتويات"
|
||||
|
||||
[tags]
|
||||
other = "الوسوم"
|
||||
|
||||
[categories]
|
||||
other = "الأقسام"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
[resume]
|
||||
other = "سيرتي الذاتية"
|
||||
|
||||
[navigation]
|
||||
other = "التصفح"
|
||||
|
||||
[contact_me]
|
||||
other = "اتصل بي:"
|
||||
|
||||
[email]
|
||||
other = "البريد الإلكتروني"
|
||||
|
||||
[phone]
|
||||
other = "الهاتف"
|
||||
|
||||
[newsletter_text]
|
||||
other = "ابق على اتصال من خلال القائمة البريدية"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "ادخل بريدك الالكتروني"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "بإدخال بريدك الإلكتروني، أنت توافق على تلقي رسائل إلكترونية دورية من هذا الموقع."
|
||||
|
||||
[submit]
|
||||
other = "إرسال"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "صنع باستخدام"
|
||||
|
||||
[prev]
|
||||
other = "السابق"
|
||||
|
||||
[next]
|
||||
other = "التالي"
|
||||
|
||||
[share_on]
|
||||
other = "المشاركة على"
|
||||
|
||||
[improve_this_page]
|
||||
other = "ساعد في تحسين هذه الصفحة"
|
||||
|
||||
[out_of]
|
||||
other = "من"
|
||||
|
||||
[publications]
|
||||
other = "المنشورات"
|
||||
|
||||
[taken_courses]
|
||||
other = "الدروس"
|
||||
|
||||
[course_name]
|
||||
other = "اسم المادة"
|
||||
|
||||
[total_credit]
|
||||
other = "العلامة العامة"
|
||||
|
||||
[obtained_credit]
|
||||
other = "العلامة"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "نشاطات خارجية"
|
||||
|
||||
[show_more]
|
||||
other = "إظهار المزيد"
|
||||
|
||||
[show_less]
|
||||
other = "إخفاء"
|
||||
|
||||
[responsibilities]
|
||||
other = "المسؤوليات:"
|
||||
|
||||
[present]
|
||||
other = "حاليا"
|
||||
|
||||
[comments_javascript]
|
||||
other = "من فضلك قم بتفعيل جافاسكريب لإظهار"
|
||||
|
||||
[comments_by]
|
||||
other = "التعليقات موفرة بواسطة"
|
||||
|
||||
[read]
|
||||
other = "قراءة"
|
||||
|
||||
[project_star]
|
||||
other = "نجمة"
|
||||
|
||||
[project_details]
|
||||
other = "التفاصيل"
|
||||
|
||||
[err_404]
|
||||
other = "الصفحة التي تبحث عنها ليست بعد هناك."
|
||||
|
||||
[more]
|
||||
other = "المزيد"
|
||||
|
||||
[view_certificate]
|
||||
other = "إظهار الشهادة"
|
||||
|
||||
[notes]
|
||||
other = "ملاحظات"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "إشعار بالمسؤولية"
|
||||
|
||||
[search]
|
||||
other = "بحث"
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "পোষ্ট সমূহ"
|
||||
[toc_heading]
|
||||
other = "সুচিপত্র"
|
||||
|
||||
[tags]
|
||||
other = "ট্যাগ সমুহ"
|
||||
|
||||
[categories]
|
||||
other = "বিভাগ সমুহ"
|
||||
|
||||
[resume]
|
||||
other = "আমার জীবনবৃত্তান্ত"
|
||||
|
||||
@@ -30,7 +36,7 @@ other = "ইমেইল নোটিফিকেশান এর মাধ্
|
||||
other = "ইমেইল প্রবেশ করান"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "আমরা আপনার ইমেল অন্য কারও সাথে শেয়ার করব না।"
|
||||
other = "আপনার ইমেইল ঠিকানা প্রবেশের মাধমে আপনি এই ওয়েবসাইটের নিউজ লেটার পেতে সম্মত হচ্ছেন।"
|
||||
|
||||
[submit]
|
||||
other = "জমা দিন"
|
||||
@@ -44,6 +50,9 @@ other = "পূর্ববর্তী"
|
||||
[next]
|
||||
other = "পরবর্তী"
|
||||
|
||||
[share_on]
|
||||
other = "শেয়ার করুন"
|
||||
|
||||
[improve_this_page]
|
||||
other = "এই পৃষ্ঠাটি উন্নত করুন"
|
||||
|
||||
@@ -106,3 +115,9 @@ other = "সার্টিফিকেট দেখুন"
|
||||
|
||||
[notes]
|
||||
other = "নোট সমূহ"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "দায় বিজ্ঞপ্তি"
|
||||
|
||||
[search]
|
||||
other = "অনুসন্ধান করুন"
|
||||
|
||||
+47
-32
@@ -1,6 +1,6 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Startseite"
|
||||
other = "Home"
|
||||
|
||||
[posts]
|
||||
other = "Beiträge"
|
||||
@@ -8,6 +8,12 @@ other = "Beiträge"
|
||||
[toc_heading]
|
||||
other = "Inhaltsverzeichnis"
|
||||
|
||||
[tags]
|
||||
other = "Stichworte"
|
||||
|
||||
[categories]
|
||||
other = "Kategorien"
|
||||
|
||||
[at]
|
||||
other = "bei"
|
||||
|
||||
@@ -18,7 +24,7 @@ other = "Mein Lebenslauf"
|
||||
other = "Navigation"
|
||||
|
||||
[contact_me]
|
||||
other = "Kontakt aufnehmen"
|
||||
other = "Kontaktiere mich:"
|
||||
|
||||
[email]
|
||||
other = "E-Mail"
|
||||
@@ -30,10 +36,10 @@ other = "Telefon"
|
||||
other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "E-Mail-Adresse eingeben"
|
||||
other = "E-Mail Adresse eingeben"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Wir werden Ihre E-Mail-Adresse nicht an Dritte weitergeben."
|
||||
other = "Mit der Eingabe Ihrer E-Mail-Adresse erklären Sie sich damit einverstanden, den Newsletter dieser Website zu erhalten."
|
||||
|
||||
[submit]
|
||||
other = "Absenden"
|
||||
@@ -47,65 +53,74 @@ other = "Vorherige"
|
||||
[next]
|
||||
other = "Nächste"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Diese Seite verbessern"
|
||||
|
||||
[out_of]
|
||||
other = "van de"
|
||||
other = "aus"
|
||||
|
||||
[publications]
|
||||
other = "Publicaties"
|
||||
other = "Publikationen"
|
||||
|
||||
[taken_courses]
|
||||
other = "Cursussen gevolgd"
|
||||
other = "Belegte Kurse"
|
||||
|
||||
[course_name]
|
||||
other = "Cursus naam"
|
||||
other = "Kursname"
|
||||
|
||||
[total_credit]
|
||||
other = "Totaal krediet"
|
||||
other = "Mögliche Punktzahl"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Krediet verkregen"
|
||||
other = "Note"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Buitenschoolse activiteiten"
|
||||
other = "Außerschulische Aktivitäten"
|
||||
|
||||
[show_more]
|
||||
other = "Bekijk meer"
|
||||
other = "Mehr anzeigen"
|
||||
|
||||
[show_less]
|
||||
other = "Laat minder zien"
|
||||
other = "Weniger anzeigen"
|
||||
|
||||
# [responsibilities]
|
||||
# other = "Responsibilities:"
|
||||
[responsibilities]
|
||||
other = "Verantwortlichkeiten:"
|
||||
|
||||
# [present]
|
||||
# other = "Present"
|
||||
[present]
|
||||
other = "heute"
|
||||
|
||||
# [comments_javascript]
|
||||
# other = "Please enable JavaScript to view the"
|
||||
[comments_javascript]
|
||||
other = "Bitte aktiviere JavaScript um die Kommentare zu sehen"
|
||||
|
||||
# [comments_by]
|
||||
# other = "comments powered by"
|
||||
[comments_by]
|
||||
other = "Kommentare Unterstützt von"
|
||||
|
||||
# [read]
|
||||
# other = "Read"
|
||||
[read]
|
||||
other = "Lesen"
|
||||
|
||||
# [project_star]
|
||||
# other = "Star"
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
# [project_details]
|
||||
# other = "Details"
|
||||
[project_details]
|
||||
other = "Details"
|
||||
|
||||
# [err_404]
|
||||
# other = "The page you are looking for is not there yet."
|
||||
[err_404]
|
||||
other = "Die von Ihnen gesuchte Seite ist noch nicht vorhanden."
|
||||
|
||||
[more]
|
||||
other = "Meer"
|
||||
other = "Mehr"
|
||||
|
||||
[view_certificate]
|
||||
other = "Bekijk certificaat"
|
||||
other = "Zertifikat ansehen"
|
||||
|
||||
[notes]
|
||||
other = "Opmerkingen"
|
||||
other = "Notizen"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Haftungshinweis"
|
||||
|
||||
[search]
|
||||
other = "Suche"
|
||||
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "Posts"
|
||||
[toc_heading]
|
||||
other = "Table of Contents"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[categories]
|
||||
other = "Categories"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "Stay up to date with email notification"
|
||||
other = "Enter email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "We'll never share your email with anyone else."
|
||||
other = "By entering your email address, you agree to receive the newsletter of this website."
|
||||
|
||||
[submit]
|
||||
other = "Submit"
|
||||
@@ -47,6 +53,9 @@ other = "Prev"
|
||||
[next]
|
||||
other = "Next"
|
||||
|
||||
[share_on]
|
||||
other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Improve this page"
|
||||
|
||||
@@ -109,3 +118,9 @@ other = "View Certificate"
|
||||
|
||||
[notes]
|
||||
other = "Notes"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Liability Notice"
|
||||
|
||||
[search]
|
||||
other = "Search"
|
||||
|
||||
+32
-17
@@ -8,6 +8,12 @@ other = "Posts"
|
||||
[toc_heading]
|
||||
other = "Contenido"
|
||||
|
||||
[tags]
|
||||
other = "Etiquetas"
|
||||
|
||||
[categories]
|
||||
other = "Categorías"
|
||||
|
||||
[at]
|
||||
other = "en"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "Subscribirse"
|
||||
other = "Ingrese email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Jamás compartiremos tus datos con alguién mas"
|
||||
other = "Al ingresar su dirección de correo electrónico, acepta recibir el boletín de este sitio web."
|
||||
|
||||
[submit]
|
||||
other = "Enviar"
|
||||
@@ -47,6 +53,9 @@ other = "Anterior"
|
||||
[next]
|
||||
other = "Siguiente"
|
||||
|
||||
[share_on]
|
||||
other = "Compartir en"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Mejorar esta página"
|
||||
|
||||
@@ -77,29 +86,29 @@ other = "Ver más"
|
||||
[show_less]
|
||||
other = "Muestra menos"
|
||||
|
||||
# [responsibilities]
|
||||
# other = "Responsibilities:"
|
||||
[responsibilities]
|
||||
other = "Responsabilidades:"
|
||||
|
||||
# [present]
|
||||
# other = "Present"
|
||||
[present]
|
||||
other = "Presente"
|
||||
|
||||
# [comments_javascript]
|
||||
# other = "Please enable JavaScript to view the"
|
||||
[comments_javascript]
|
||||
other = "Por favor, activa JavaScript para ver el"
|
||||
|
||||
# [comments_by]
|
||||
# other = "comments powered by"
|
||||
[comments_by]
|
||||
other = "comentarios cortesía de"
|
||||
|
||||
# [read]
|
||||
# other = "Read"
|
||||
[read]
|
||||
other = "Leer"
|
||||
|
||||
# [project_star]
|
||||
# other = "Star"
|
||||
[project_star]
|
||||
other = "Favorito"
|
||||
|
||||
# [project_details]
|
||||
# other = "Details"
|
||||
[project_details]
|
||||
other = "Detalles"
|
||||
|
||||
# [err_404]
|
||||
# other = "The page you are looking for is not there yet."
|
||||
[err_404]
|
||||
other = "La página que estás buscando no está aquí (todavía)"
|
||||
|
||||
[more]
|
||||
other = "Más"
|
||||
@@ -109,3 +118,9 @@ other = "Ver Certificado"
|
||||
|
||||
[notes]
|
||||
other = "Notas"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Aviso de responsabilidad"
|
||||
|
||||
[search]
|
||||
other = "Búsqueda"
|
||||
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Koti"
|
||||
|
||||
[posts]
|
||||
other = "Artikkelit"
|
||||
|
||||
[toc_heading]
|
||||
other = "Sisällysluettelo"
|
||||
|
||||
[tags]
|
||||
other = "Tagit"
|
||||
|
||||
[categories]
|
||||
other = "Kategoriat"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
[resume]
|
||||
other = "Ansioluetteloni"
|
||||
|
||||
[navigation]
|
||||
other = "Navigointi"
|
||||
|
||||
[contact_me]
|
||||
other = "Ota yhteyttä minuun:"
|
||||
|
||||
[email]
|
||||
other = "Sähköposti"
|
||||
|
||||
[phone]
|
||||
other = "Puhelin"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Pysy ajan tasalla tilaamalla sähköposti-ilmoitukset"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "Syötä sähköpostiosoite"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Syöttämällä sähköpostin, hyväksyt että haluat vastaanottaa uutiskirjeen tältä sivustolta."
|
||||
|
||||
[submit]
|
||||
other = "Lähetä"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Voimanlähteenä"
|
||||
|
||||
[prev]
|
||||
other = "Edellinen"
|
||||
|
||||
[next]
|
||||
other = "Seuraava"
|
||||
|
||||
[share_on]
|
||||
other = "Jaa"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Paranna tätä sivua"
|
||||
|
||||
[out_of]
|
||||
other = "out of"
|
||||
|
||||
[publications]
|
||||
other = "Julkaisut"
|
||||
|
||||
[taken_courses]
|
||||
other = "Käydyt kurssit"
|
||||
|
||||
[course_name]
|
||||
other = "Kurssin nimi"
|
||||
|
||||
[total_credit]
|
||||
other = "Opintopisteet yhteensä"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Saadut opintopisteet"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Opetusohjelman ulkopuolinen toiminta"
|
||||
|
||||
[show_more]
|
||||
other = "Näytä lisää"
|
||||
|
||||
[show_less]
|
||||
other = "Näytä vähemmän"
|
||||
|
||||
[responsibilities]
|
||||
other = "Työtehtävät:"
|
||||
|
||||
[present]
|
||||
other = "Tämä päivä"
|
||||
|
||||
[comments_javascript]
|
||||
other = "Ole hyvä ja enabloi JavaScript katsoaksesi"
|
||||
|
||||
[comments_by]
|
||||
other = "kommentit mahdollistavat"
|
||||
|
||||
[read]
|
||||
other = "Lue"
|
||||
|
||||
[project_star]
|
||||
other = "Tähti"
|
||||
|
||||
[project_details]
|
||||
other = "Yksityiskohdat"
|
||||
|
||||
[err_404]
|
||||
other = "Sivua jota etsit ei löydy."
|
||||
|
||||
[more]
|
||||
other = "Lisää"
|
||||
|
||||
[view_certificate]
|
||||
other = "Katso todistus"
|
||||
|
||||
[notes]
|
||||
other = "Muistiinpanot"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Vastuuilmoitus"
|
||||
|
||||
[search]
|
||||
other = "Haku"
|
||||
+34
-19
@@ -3,16 +3,22 @@
|
||||
other = "Accueil"
|
||||
|
||||
[posts]
|
||||
other = "Des postes"
|
||||
other = "Articles"
|
||||
|
||||
[toc_heading]
|
||||
other = "Table des matières"
|
||||
|
||||
[tags]
|
||||
other = "Mots clés"
|
||||
|
||||
[categories]
|
||||
other = "Catégories"
|
||||
|
||||
[at]
|
||||
other = "chez"
|
||||
|
||||
[resume]
|
||||
other = "Mon Curriculum vitæ"
|
||||
other = "Mon Curriculum Vitæ"
|
||||
|
||||
[navigation]
|
||||
other = "Navigation"
|
||||
@@ -33,7 +39,7 @@ other = "Restez à jour par e-mail"
|
||||
other = "Entrez une adresse e-mail"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Nous ne partagerons jamais votre courriel avec quelqu'un d'autre."
|
||||
other = "En renseignant votre adresse e-mail, vous acceptez de recevoir la newsletter de ce site."
|
||||
|
||||
[submit]
|
||||
other = "Envoyer"
|
||||
@@ -47,6 +53,9 @@ other = "Précédent"
|
||||
[next]
|
||||
other = "Suivant"
|
||||
|
||||
[share_on]
|
||||
other = "Partager sur"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Améliorez cette page"
|
||||
|
||||
@@ -57,10 +66,10 @@ other = "sur"
|
||||
other = "Publications"
|
||||
|
||||
[taken_courses]
|
||||
other = "Taken Courses"
|
||||
other = "Cours suivis"
|
||||
|
||||
[course_name]
|
||||
other = "Cours suivis"
|
||||
other = "Intitulé du cours"
|
||||
|
||||
[total_credit]
|
||||
other = "Crédit total"
|
||||
@@ -77,29 +86,29 @@ other = "En savoir plus"
|
||||
[show_less]
|
||||
other = "Montrer moins"
|
||||
|
||||
# [responsibilities]
|
||||
# other = "Responsibilities:"
|
||||
[responsibilities]
|
||||
other = "Responsabilitiés :"
|
||||
|
||||
# [present]
|
||||
# other = "Present"
|
||||
[present]
|
||||
other = "Aujourd'hui"
|
||||
|
||||
# [comments_javascript]
|
||||
# other = "Please enable JavaScript to view the"
|
||||
[comments_javascript]
|
||||
other = "Merci d'activer JavaScript pour voir le"
|
||||
|
||||
# [comments_by]
|
||||
# other = "comments powered by"
|
||||
[comments_by]
|
||||
other = "commentaires fournis par"
|
||||
|
||||
# [read]
|
||||
# other = "Read"
|
||||
[read]
|
||||
other = "Lire"
|
||||
|
||||
# [project_star]
|
||||
# other = "Star"
|
||||
|
||||
# [project_details]
|
||||
# other = "Details"
|
||||
[project_details]
|
||||
other = "Détails"
|
||||
|
||||
# [err_404]
|
||||
# other = "The page you are looking for is not there yet."
|
||||
[err_404]
|
||||
other = "La page que vous recherchez n'est pas disponible."
|
||||
|
||||
[more]
|
||||
other = "Suite"
|
||||
@@ -109,3 +118,9 @@ other = "Afficher le certificat"
|
||||
|
||||
[notes]
|
||||
other = "Remarques"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Avis de responsabilité"
|
||||
|
||||
[search]
|
||||
other = "Chercher"
|
||||
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "पोस्ट"
|
||||
[toc_heading]
|
||||
other = "विषयसूची"
|
||||
|
||||
[tags]
|
||||
other = "टैग"
|
||||
|
||||
[categories]
|
||||
other = "श्रेणियाँ"
|
||||
|
||||
[at]
|
||||
other = "अन्य"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "ईमेल अधिसूचना से अवगत रहें"
|
||||
other = "ईमेल दर्ज करें"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "हम आपके ईमेल को कभी भी किसी और के साथ साझा नहीं करेंगे"
|
||||
other = "अपना ईमेल पता दर्ज करके, आप इस वेबसाइट का न्यूज़लेटर प्राप्त करने के लिए सहमत होते हैं।"
|
||||
|
||||
[submit]
|
||||
other = "जमा करें"
|
||||
@@ -47,6 +53,9 @@ other = "पिछला"
|
||||
[next]
|
||||
other = "आगे"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "इस पृष्ठ को सुधारें"
|
||||
|
||||
@@ -109,3 +118,9 @@ other = "प्रमाणपत्र देखें"
|
||||
|
||||
[notes]
|
||||
other = "टिप्पणियाँ"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "दायित्व सूचना"
|
||||
|
||||
[search]
|
||||
other = "खोज"
|
||||
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "Artikel"
|
||||
[toc_heading]
|
||||
other = "Daftar Isi"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[categories]
|
||||
other = "Kategori"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "Ingin selalu update dengan notifikasi email"
|
||||
other = "Masukkan email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Kami tidak pernah berbagi data email dengan siapapun."
|
||||
other = "Dengan memasukkan alamat email Anda, Anda setuju untuk menerima buletin situs web ini."
|
||||
|
||||
[submit]
|
||||
other = "Kirim"
|
||||
@@ -47,6 +53,9 @@ other = "Sebelumnya"
|
||||
[next]
|
||||
other = "Lanjut"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Perbaiki halaman ini"
|
||||
|
||||
@@ -109,3 +118,9 @@ other = "Lihat Sertifikat"
|
||||
|
||||
[notes]
|
||||
other = "Catatan"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Pemberitahuan Kewajiban"
|
||||
|
||||
[search]
|
||||
other = "Mencari"
|
||||
|
||||
+17
-2
@@ -8,6 +8,12 @@ other = "Post"
|
||||
[toc_heading]
|
||||
other = "Contenuti"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[categories]
|
||||
other = "Categorie"
|
||||
|
||||
[at]
|
||||
other = "presso"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "Resta aggiornato con la notifica di email"
|
||||
other = "Inserisci l'email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Non condivideremo l'email con altri."
|
||||
other = "Inserendo il tuo indirizzo email, accetti di ricevere la newsletter di questo sito."
|
||||
|
||||
[submit]
|
||||
other = "Invia"
|
||||
@@ -47,6 +53,9 @@ other = "Precedente"
|
||||
[next]
|
||||
other = "Successivo"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Migliora questa pagina"
|
||||
|
||||
@@ -105,7 +114,13 @@ other = "Mostra meno"
|
||||
other = "Di più"
|
||||
|
||||
[view_certificate]
|
||||
other = "Féach ar an Teastas"
|
||||
other = "Vedi certificato"
|
||||
|
||||
[notes]
|
||||
other = "Appunti"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Avviso di responsabilità"
|
||||
|
||||
[search]
|
||||
other = "Ricerca"
|
||||
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "記事"
|
||||
[toc_heading]
|
||||
other = "目次"
|
||||
|
||||
[tags]
|
||||
other = "タグ"
|
||||
|
||||
[categories]
|
||||
other = "カテゴリ"
|
||||
|
||||
[resume]
|
||||
other = "職務経歴書"
|
||||
|
||||
@@ -30,7 +36,7 @@ other = "メールで最新情報を受け取る"
|
||||
other = "ここにメールアドレスを入力"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "ご入力いただいたメールアドレスが他人に開示されることは決してございません。"
|
||||
other = "メールアドレスを入力すると、このウェブサイトのニュースレターを受け取ることに同意したことになります。"
|
||||
|
||||
[submit]
|
||||
other = "登録"
|
||||
@@ -44,6 +50,9 @@ other = "前"
|
||||
[next]
|
||||
other = "次"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "編集リクエストを送る"
|
||||
|
||||
@@ -106,3 +115,9 @@ other = "ビューの証明書"
|
||||
|
||||
[notes]
|
||||
other = "ノート"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "責任通知"
|
||||
|
||||
[search]
|
||||
other = "検索"
|
||||
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "게시글"
|
||||
[toc_heading]
|
||||
other = "목차"
|
||||
|
||||
[tags]
|
||||
other = "태그"
|
||||
|
||||
[categories]
|
||||
other = "카테고리"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "이메일 알림으로 최신 상태를 유지해보세요"
|
||||
other = "이메일을 입력하세요"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "이메일을 다른 목적으로 사용하지 않습니다."
|
||||
other = "이메일 주소를 입력하면이 웹 사이트의 뉴스 레터 수신에 동의하는 것입니다."
|
||||
|
||||
[submit]
|
||||
other = "제출"
|
||||
@@ -47,6 +53,9 @@ other = "이전"
|
||||
[next]
|
||||
other = "다음"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "이 페이지를 개선"
|
||||
|
||||
@@ -109,3 +118,9 @@ other = "인증서보기"
|
||||
|
||||
[notes]
|
||||
other = "메모"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "책임 고지"
|
||||
|
||||
[search]
|
||||
other = "찾다"
|
||||
|
||||
+125
@@ -0,0 +1,125 @@
|
||||
[home]
|
||||
other = "Hoofdpagina"
|
||||
|
||||
[posts]
|
||||
other = "Posts"
|
||||
|
||||
[toc_heading]
|
||||
other = "Inhoudsopgave"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
|
||||
[categories]
|
||||
other = "Categorieën"
|
||||
|
||||
[at]
|
||||
other = "bij"
|
||||
|
||||
[resume]
|
||||
other = "Curriculum Vitae"
|
||||
|
||||
[navigation]
|
||||
other = "Navigatie"
|
||||
|
||||
[contact_me]
|
||||
other = "Contactgegevens"
|
||||
|
||||
[email]
|
||||
other = "E-Mail"
|
||||
|
||||
[phone]
|
||||
other = "Telefoon"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Ontvang updates via email"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "Email ingeven"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website."
|
||||
|
||||
[submit]
|
||||
other = "Opslaan"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Mogelijk gemaakt met"
|
||||
|
||||
[prev]
|
||||
other = "Vorige"
|
||||
|
||||
[next]
|
||||
other = "Volgende"
|
||||
|
||||
[share_on]
|
||||
other = "Delen op"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Deze pagina verbeteren"
|
||||
|
||||
[out_of]
|
||||
other = "van de"
|
||||
|
||||
[publications]
|
||||
other = "Publicaties"
|
||||
|
||||
[taken_courses]
|
||||
other = "Gevolgde cursussen"
|
||||
|
||||
[course_name]
|
||||
other = "Cursus naam"
|
||||
|
||||
[total_credit]
|
||||
other = "Totaal krediet"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Krediet verkregen"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Buitenschoolse activiteiten"
|
||||
|
||||
[show_more]
|
||||
other = "Bekijk meer"
|
||||
|
||||
[show_less]
|
||||
other = "Laat minder zien"
|
||||
|
||||
[responsibilities]
|
||||
other = "Verantwoordelijkheden:"
|
||||
|
||||
[present]
|
||||
other = "Heden"
|
||||
|
||||
# [comments_javascript]
|
||||
# other = "Please enable JavaScript to view the"
|
||||
|
||||
# [comments_by]
|
||||
# other = "comments powered by"
|
||||
|
||||
# [read]
|
||||
# other = "Read"
|
||||
|
||||
# [project_star]
|
||||
# other = "Star"
|
||||
|
||||
[project_details]
|
||||
other = "Details"
|
||||
|
||||
[err_404]
|
||||
other = "De pagina waar je voor zoekt bestaat nog niet."
|
||||
|
||||
[more]
|
||||
other = "Meer"
|
||||
|
||||
[view_certificate]
|
||||
other = "Bekijk certificaat"
|
||||
|
||||
[notes]
|
||||
other = "Opmerkingen"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Aansprakelijkheidsverklaring"
|
||||
|
||||
[search]
|
||||
other = "Zoek"
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Início"
|
||||
|
||||
[posts]
|
||||
other = "Artigos"
|
||||
|
||||
[toc_heading]
|
||||
other = "Tabela de conteúdos"
|
||||
|
||||
[tags]
|
||||
other = "Etiquetas"
|
||||
|
||||
[categories]
|
||||
other = "Categorias"
|
||||
|
||||
[at]
|
||||
other = "em"
|
||||
|
||||
[resume]
|
||||
other = "O meu Currículo"
|
||||
|
||||
[navigation]
|
||||
other = "Navegação"
|
||||
|
||||
[contact_me]
|
||||
other = "Contacte-me:"
|
||||
|
||||
[email]
|
||||
other = "Email"
|
||||
|
||||
[phone]
|
||||
other = "Telefone"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Mantenha-se actualizado com notificações por email"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "Inserir email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Ao submeter o seu endereço de email, concorda em receber a newsletter deste website."
|
||||
|
||||
[submit]
|
||||
other = "Enviar"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Desenvolvido por"
|
||||
|
||||
[prev]
|
||||
other = "Anterior"
|
||||
|
||||
[next]
|
||||
other = "Próximo"
|
||||
|
||||
[share_on]
|
||||
other = "Partilha"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Melhore esta página"
|
||||
|
||||
[out_of]
|
||||
other = "de"
|
||||
|
||||
[publications]
|
||||
other = "Publicações"
|
||||
|
||||
[taken_courses]
|
||||
other = "Cursos frequentados"
|
||||
|
||||
[course_name]
|
||||
other = "Nome do Curso"
|
||||
|
||||
[total_credit]
|
||||
other = "Créditos Totais"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Créditos Obtidos"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Actividades Extracurriculares"
|
||||
|
||||
[show_more]
|
||||
other = "Ver Mais"
|
||||
|
||||
[show_less]
|
||||
other = "Ver Menos"
|
||||
|
||||
[responsibilities]
|
||||
other = "Responsabilidades:"
|
||||
|
||||
[present]
|
||||
other = "Presente"
|
||||
|
||||
[comments_javascript]
|
||||
other = "Por favor active JavaScript para ver o"
|
||||
|
||||
[comments_by]
|
||||
other = "comentários por"
|
||||
|
||||
[read]
|
||||
other = "Ler"
|
||||
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
[project_details]
|
||||
other = "Detalhes"
|
||||
|
||||
[err_404]
|
||||
other = "A página que procura ainda não está aqui."
|
||||
|
||||
[more]
|
||||
other = "Mais"
|
||||
|
||||
[view_certificate]
|
||||
other = "Ver Certificado"
|
||||
|
||||
[notes]
|
||||
other = "Notas"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Nota legal"
|
||||
|
||||
[search]
|
||||
other = "Pesquisar"
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "Посты"
|
||||
[toc_heading]
|
||||
other = "Оглавление"
|
||||
|
||||
[tags]
|
||||
other = "Теги"
|
||||
|
||||
[categories]
|
||||
other = "Категории"
|
||||
|
||||
[at]
|
||||
other = "в"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "Подпишитесь на уведомления, чтобы не п
|
||||
other = "Введите email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Ваши данные в безопасности"
|
||||
other = "Вводя свой адрес электронной почты, вы соглашаетесь получать информационный бюллетень этого веб-сайта."
|
||||
|
||||
[submit]
|
||||
other = "Подтвердить"
|
||||
@@ -47,6 +53,9 @@ other = "Предыдущий"
|
||||
[next]
|
||||
other = "Следующий"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Улучшить эту страницу"
|
||||
|
||||
@@ -109,3 +118,9 @@ other = "Просмотреть сертификат"
|
||||
|
||||
[notes]
|
||||
other = "Ноты"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Уведомление об ответственности"
|
||||
|
||||
[search]
|
||||
other = "Поиск"
|
||||
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Anasayfa"
|
||||
|
||||
[posts]
|
||||
other = "Gönderiler"
|
||||
|
||||
[toc_heading]
|
||||
other = "İçerik Tablous"
|
||||
|
||||
[tags]
|
||||
other = "Etiketler"
|
||||
|
||||
[categories]
|
||||
other = "Kategoriler"
|
||||
|
||||
[at]
|
||||
other = ","
|
||||
|
||||
[resume]
|
||||
other = "Özgeçmişim"
|
||||
|
||||
[navigation]
|
||||
other = "Menü"
|
||||
|
||||
[contact_me]
|
||||
other = "İletişime geç:"
|
||||
|
||||
[email]
|
||||
other = "E-Posta"
|
||||
|
||||
[phone]
|
||||
other = "Telefon"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Yeni içeriklerden haberdar olmak için E-Posta adresinizi giriniz."
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "E-Posta adresi giriniz."
|
||||
|
||||
[newsletter_warning]
|
||||
other = "E-Posta adresini girerseniz, bu web sitesinin haber bültenini almayı kabul ediyorsunuz."
|
||||
|
||||
[submit]
|
||||
other = "Onayla"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = ""
|
||||
|
||||
[prev]
|
||||
other = "Önceki"
|
||||
|
||||
[next]
|
||||
other = "Sonraki"
|
||||
|
||||
[share_on]
|
||||
other = "Paylaş"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Bu sayfaya katkıda bulunun"
|
||||
|
||||
[out_of]
|
||||
other = "/"
|
||||
|
||||
[publications]
|
||||
other = "Akademik Yayınlar"
|
||||
|
||||
[taken_courses]
|
||||
other = "Alınan Dersler"
|
||||
|
||||
[course_name]
|
||||
other = "Ders Adı"
|
||||
|
||||
[total_credit]
|
||||
other = "Üzerinden"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Alınan Not"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Ders Dışı Aktiviteler"
|
||||
|
||||
[show_more]
|
||||
other = "Devamını Göster"
|
||||
|
||||
[show_less]
|
||||
other = "Gizle"
|
||||
|
||||
[responsibilities]
|
||||
other = "Sorumluluklar:"
|
||||
|
||||
[present]
|
||||
other = "Halen"
|
||||
|
||||
[comments_javascript]
|
||||
other = "Görüntüleyebilmek için lüften Javascript etkinleştirin"
|
||||
|
||||
[comments_by]
|
||||
other = "comments powered by"
|
||||
|
||||
[read]
|
||||
other = "Oku"
|
||||
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
[project_details]
|
||||
other = "Detaylar"
|
||||
|
||||
[err_404]
|
||||
other = "Aradığınız sayfa bulunmamakta."
|
||||
|
||||
[more]
|
||||
other = "Devamını Göster"
|
||||
|
||||
[view_certificate]
|
||||
other = "Sertifikayı Görüntüle"
|
||||
|
||||
[notes]
|
||||
other = "Notlar"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Yükümlülük Bildirisi"
|
||||
|
||||
[search]
|
||||
other = "Ara"
|
||||
+16
-1
@@ -8,6 +8,12 @@ other = "Bài viết"
|
||||
[toc_heading]
|
||||
other = "Mục lục"
|
||||
|
||||
[tags]
|
||||
other = "Thẻ"
|
||||
|
||||
[categories]
|
||||
other = "Thể loại"
|
||||
|
||||
[at]
|
||||
other = "tại"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "Nhận email cập nhật thông tin"
|
||||
other = "Nhập email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Chúng tôi sẽ không bao giờ chia sẻ email của bạn."
|
||||
other = "Bằng cách nhập địa chỉ email của bạn, bạn đồng ý nhận bản tin của trang web này."
|
||||
|
||||
[submit]
|
||||
other = "Gửi"
|
||||
@@ -47,6 +53,9 @@ other = "Trước"
|
||||
[next]
|
||||
other = "Tiếp theo"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Cải thiện trang này"
|
||||
|
||||
@@ -109,3 +118,9 @@ other = "Xem chứng chỉ"
|
||||
|
||||
[notes]
|
||||
other = "Ghi chú"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Thông báo trách nhiệm"
|
||||
|
||||
[search]
|
||||
other = "Tìm kiếm"
|
||||
|
||||
@@ -8,6 +8,12 @@ other = "博文"
|
||||
[toc_heading]
|
||||
other = "目录"
|
||||
|
||||
[tags]
|
||||
other = "标签"
|
||||
|
||||
[categories]
|
||||
other = "类别"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
@@ -33,7 +39,7 @@ other = "通过电子邮件接收最新信息"
|
||||
other = "填入 E-mail"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "我们绝不会与任何人共享您的电子邮件。"
|
||||
other = "输入您的电子邮件地址,即表示您同意接收本网站的时事通讯"
|
||||
|
||||
[submit]
|
||||
other = "提交"
|
||||
@@ -47,6 +53,9 @@ other = "上一篇"
|
||||
[next]
|
||||
other = "下一篇"
|
||||
|
||||
[share_on]
|
||||
other = "分享"
|
||||
|
||||
[improve_this_page]
|
||||
other = "改善此页面"
|
||||
|
||||
@@ -77,29 +86,29 @@ other = "查看更多"
|
||||
[show_less]
|
||||
other = "显示较少"
|
||||
|
||||
# [responsibilities]
|
||||
# other = "Responsibilities:"
|
||||
[responsibilities]
|
||||
other = "职责:"
|
||||
|
||||
# [present]
|
||||
# other = "Present"
|
||||
[present]
|
||||
other = "至今"
|
||||
|
||||
# [comments_javascript]
|
||||
# other = "Please enable JavaScript to view the"
|
||||
[comments_javascript]
|
||||
other = "请启用 JavaScript 以查看"
|
||||
|
||||
# [comments_by]
|
||||
# other = "comments powered by"
|
||||
[comments_by]
|
||||
other = "评论支持 by"
|
||||
|
||||
# [read]
|
||||
# other = "Read"
|
||||
[read]
|
||||
other = "阅读"
|
||||
|
||||
# [project_star]
|
||||
# other = "Star"
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
# [project_details]
|
||||
# other = "Details"
|
||||
[project_details]
|
||||
other = "详情"
|
||||
|
||||
# [err_404]
|
||||
# other = "The page you are looking for is not there yet."
|
||||
[err_404]
|
||||
other = "您查找的页面已私奔。"
|
||||
|
||||
[more]
|
||||
other = "更多的"
|
||||
@@ -109,3 +118,9 @@ other = "查看证书"
|
||||
|
||||
[notes]
|
||||
other = "笔记"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "免责声明"
|
||||
|
||||
[search]
|
||||
other = "搜索"
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "首頁"
|
||||
|
||||
[posts]
|
||||
other = "文章"
|
||||
|
||||
[toc_heading]
|
||||
other = "目錄"
|
||||
|
||||
[tags]
|
||||
other = "标签"
|
||||
|
||||
[categories]
|
||||
other = "类别"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
[resume]
|
||||
other = "履歷"
|
||||
|
||||
[navigation]
|
||||
other = "導覽列"
|
||||
|
||||
[contact_me]
|
||||
other = "聯絡方式:"
|
||||
|
||||
[email]
|
||||
other = "信箱"
|
||||
|
||||
[phone]
|
||||
other = "電話"
|
||||
|
||||
[newsletter_text]
|
||||
other = "通過電子郵件接收最新消息"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "在此輸入您的電子郵件地址"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "輸入您的電子郵件地址,即表示您同意接受本網站的最新消息"
|
||||
|
||||
[submit]
|
||||
other = "提交"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Powered by"
|
||||
|
||||
[prev]
|
||||
other = "上一篇"
|
||||
|
||||
[next]
|
||||
other = "下一篇"
|
||||
|
||||
[share_on]
|
||||
other = "分享"
|
||||
|
||||
[improve_this_page]
|
||||
other = "改善此頁面"
|
||||
|
||||
[out_of]
|
||||
other = "/"
|
||||
|
||||
[publications]
|
||||
other = "出版"
|
||||
|
||||
[taken_courses]
|
||||
other = "修習課程"
|
||||
|
||||
[course_name]
|
||||
other = "課程名稱"
|
||||
|
||||
[total_credit]
|
||||
other = "總分"
|
||||
|
||||
[obtained_credit]
|
||||
other = "獲得學分"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "課外活動"
|
||||
|
||||
[show_more]
|
||||
other = "查看更多"
|
||||
|
||||
[show_less]
|
||||
other = "顯示較少"
|
||||
|
||||
[responsibilities]
|
||||
other = "職責:"
|
||||
|
||||
[present]
|
||||
other = "現在"
|
||||
|
||||
[comments_javascript]
|
||||
other = "請開啟 JavaScript 查看"
|
||||
|
||||
[comments_by]
|
||||
other = "評論由"
|
||||
|
||||
[read]
|
||||
other = "閱讀"
|
||||
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
[project_details]
|
||||
other = "詳情"
|
||||
|
||||
[err_404]
|
||||
other = "您訪問的頁面不存在"
|
||||
|
||||
[more]
|
||||
other = "更多的"
|
||||
|
||||
[view_certificate]
|
||||
other = "查看證書"
|
||||
|
||||
[notes]
|
||||
other = "筆記"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "免責聲明"
|
||||
|
||||
[search]
|
||||
other = "搜索"
|
||||
@@ -4,14 +4,14 @@
|
||||
<title>{{ .Page.Title }}</title>
|
||||
<!------ ADD COMMON HEADERS -------->
|
||||
{{- partial "header.html" . -}}
|
||||
{{ template "_internal/opengraph.html" . }}
|
||||
|
||||
<!------ ADD PAGE SPECIFIC HEADERS ------->
|
||||
{{ block "header" . }} {{ end }}
|
||||
|
||||
<!-- ADD GOOGLE ANALYTICS IF ENABLED -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
{{ template "_internal/google_analytics_async.html" . }}
|
||||
{{ end }}
|
||||
<!--================= add analytics if enabled =========================-->
|
||||
{{- partial "analytics.html" . -}}
|
||||
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
|
||||
@@ -30,12 +30,17 @@
|
||||
</div>
|
||||
|
||||
<!------- ADD FOOTER ------------>
|
||||
{{- partial "footer.html" . -}}
|
||||
{{ $footerTemplate:= site.Params.footer.template | default "footer.html" }}
|
||||
{{- partial $footerTemplate . -}}
|
||||
|
||||
<!------- ADD COMMON SCRIPTS ------->
|
||||
{{ partial "scripts.html" . }}
|
||||
|
||||
<!------- ADD PAGE SPECIFIC SCRIPTS ------>
|
||||
{{ block "scripts" . }} {{ end }}
|
||||
|
||||
<!------ IF WANTED, ADD SUPPORT LINKS -------->
|
||||
{{- partial "misc/support.html" . -}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
{{ define "header" }}
|
||||
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
||||
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
||||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ define "navbar" }}
|
||||
@@ -16,8 +19,8 @@
|
||||
<section class="sidebar-section" id="sidebar-section">
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | absURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
@@ -36,7 +39,8 @@
|
||||
<section class="content-section" id="content-section">
|
||||
<div class="content container-fluid" id="content">
|
||||
<div class="container-fluid post-card-holder" id="post-card-holder">
|
||||
{{ $paginator := .Paginate .RegularPagesRecursive 12 }}
|
||||
{{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }}
|
||||
{{ $paginator := .Paginate $posts 12 }}
|
||||
{{ range $paginator.Pages }}
|
||||
{{ if .Layout }}
|
||||
{{/* ignore the search.md file*/}}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
{{- $pctx := . -}}
|
||||
{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}}
|
||||
{{- $pages := slice -}}
|
||||
{{- if $.IsHome -}}
|
||||
{{- $pages = sort $pctx.RegularPages "Date" "desc" -}}
|
||||
{{- else if $.IsSection -}}
|
||||
{{- $pages = sort $pctx.RegularPagesRecursive "Date" "desc" -}}
|
||||
{{- else -}}
|
||||
{{- $pages = sort $pctx.RegularPagesRecursive "Date" "desc" -}}
|
||||
{{- end -}}
|
||||
{{- $limit := .Site.Config.Services.RSS.Limit -}}
|
||||
{{- if ge $limit 1 -}}
|
||||
{{- $pages = $pages | first $limit -}}
|
||||
{{- end -}}
|
||||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||
<channel>
|
||||
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
||||
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
|
||||
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
|
||||
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
|
||||
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
|
||||
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||
{{- with .OutputFormats.Get "RSS" -}}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{- end -}}
|
||||
{{ range $pages }}
|
||||
{{- if ne .RelPermalink "/search/" -}}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ .Summary | html }}</description>
|
||||
</item>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</channel>
|
||||
</rss>
|
||||
@@ -1,6 +1,9 @@
|
||||
{{ define "header" }}
|
||||
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
||||
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
||||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ define "navbar" }}
|
||||
@@ -16,8 +19,8 @@
|
||||
<section class="sidebar-section" id="sidebar-section">
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | absURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
||||
+112
-12
@@ -6,6 +6,9 @@
|
||||
/>
|
||||
<link rel="stylesheet" href="{{ "/css/layouts/single.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL }}">
|
||||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ define "navbar" }}
|
||||
@@ -16,8 +19,8 @@
|
||||
<section class="sidebar-section" id="sidebar-section">
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | absURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
@@ -37,7 +40,7 @@
|
||||
<div class="content">
|
||||
<div class="container p-0 read-area">
|
||||
<!--Hero Area-->
|
||||
<div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ strings.TrimSuffix "/" site.BaseURL }}{{ partial "helpers/get-hero.html" . }});'>
|
||||
<div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ partial "helpers/get-hero.html" . }});'>
|
||||
</div>
|
||||
|
||||
<!--Content Start-->
|
||||
@@ -45,35 +48,124 @@
|
||||
<div class="author-profile ml-auto align-self-lg-center">
|
||||
<img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}' alt="Author Image">
|
||||
<h5 class="author-name">{{ partial "helpers/get-author-name.html" . }}</h5>
|
||||
<p>{{ .Page.Date.Format "January 2, 2006" }}</p>
|
||||
<p>{{ .Page.Date | time.Format ":date_full" }}</p>
|
||||
</div>
|
||||
|
||||
<div class="title">
|
||||
<h1>{{ .Page.Title }}</h1>
|
||||
</div>
|
||||
|
||||
{{ if site.Params.enableTags }}
|
||||
<div class="taxonomy-terms">
|
||||
<ul style="padding-left: 0;">
|
||||
{{ range .Params.tags }}
|
||||
{{ $url:= printf "tags/%s" . }}
|
||||
<li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn, btn-sm">{{ . }}</a></li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
<div class="post-content" id="post-content">
|
||||
{{ .Page.Content }}
|
||||
</div>
|
||||
|
||||
<!-- Share or Contribute -->
|
||||
<div class="row pl-3 pr-3">
|
||||
<!--Social Media Share Buttons-->
|
||||
<div class="col-md-6 share-buttons">
|
||||
{{ if site.Params.features.blog.shareButtons }}
|
||||
<strong>{{ i18n "share_on" }}:</strong>
|
||||
{{ if site.Params.features.blog.shareButtons.facebook }}
|
||||
<a class="btn btn-sm facebook-btn" href="https://www.facebook.com/sharer.php?u={{ .Permalink }}" target="_blank">
|
||||
<i class="fab fa-facebook"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.twitter }}
|
||||
<a class="btn btn-sm twitter-btn" href="https://twitter.com/share?url={{ .Permalink }}&text={{ .Title }}&via={{- site.Title -}}" target="_blank">
|
||||
<i class="fab fa-twitter"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.reddit }}
|
||||
<a class="btn btn-sm reddit-btn" href="https://reddit.com/submit?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
|
||||
<i class="fab fa-reddit"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.tumblr }}
|
||||
<a class="btn btn-sm tumblr-btn" href="https://www.tumblr.com/share/link?url={{ .Permalink }}&name={{ .Title }}{{- with .Params.description -}}&description={{- . -}}{{- end -}}" target="_blank">
|
||||
<i class="fab fa-tumblr"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.pocket }}
|
||||
<a class="btn btn-sm pocket-btn" href="https://getpocket.com/save?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
|
||||
<i class="fab fa-get-pocket"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.linkedin }}
|
||||
<a class="btn btn-sm linkedin-btn" href="https://www.linkedin.com/shareArticle?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
|
||||
<i class="fab fa-linkedin"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.diaspora }}
|
||||
<a class="btn btn-sm diaspora-btn" href="https://share.diasporafoundation.org/?title={{ .Title }}&url={{ .Permalink }}" rel="nofollow" target="_blank">
|
||||
<i class="fab fa-diaspora"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.mastodon }}
|
||||
<a class="btn btn-sm mastodon-btn" href="https://mastodon.social/share?text={{ .Title }} - {{ .Permalink }}" target="_blank">
|
||||
<i class="fab fa-mastodon"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.whatsapp }}
|
||||
<a class="btn btn-sm whatsapp-btn" href="https://api.whatsapp.com/send?text={{ .Title }} {{ .Permalink }}" target="_blank">
|
||||
<i class="fab fa-whatsapp"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ if site.Params.features.blog.shareButtons.email }}
|
||||
<a class="btn btn-sm email-btn" href="mailto:?subject={{ .Title }}&body={{ .Permalink }}" target="_blank">
|
||||
<i class="fas fa-envelope-open-text"></i>
|
||||
</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<!--- Improve this page button --->
|
||||
{{ if site.Params.GitRepo }}
|
||||
<div class="btn-improve-page">
|
||||
<a href="{{ site.Params.GitRepo }}/edit/{{ site.Params.GitBranch }}/content/{{ .File.Path }}">
|
||||
{{ if site.Params.GitBranch }}
|
||||
{{ .Scratch.Set "GitBranch" site.Params.GitBranch }}
|
||||
{{ else }}
|
||||
{{ .Scratch.Set "GitBranch" "main" }}
|
||||
{{ end }}
|
||||
<div class="col-md-6 btn-improve-page">
|
||||
{{ if ( eq site.Params.GitForge "gitlab" ) }}
|
||||
<a href="{{ site.Params.GitRepo }}/-/edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
||||
{{ else if ( eq site.Params.GitForge "gitea" ) }}
|
||||
<a href="{{ site.Params.GitRepo }}/_edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
||||
{{ else }} <!--- Make Github-style the default -->
|
||||
<a href="{{ site.Params.GitRepo }}/edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
||||
{{ end }}
|
||||
<i class="fas fa-code-branch"></i>
|
||||
{{ i18n "improve_this_page" }}
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
<!---Next and Previous Navigator -->
|
||||
|
||||
|
||||
<!---Next and Previous Navigator -->
|
||||
<hr />
|
||||
{{ partial "navigators/next-prev-navigator.html" . }}
|
||||
<hr />
|
||||
<!-- Add Disqus forum -->
|
||||
{{ if site.DisqusShortname }}
|
||||
{{ partial "disqus.html" . }}
|
||||
|
||||
<!----- Add comment support ----->
|
||||
{{ if site.Params.features.comment.enable }}
|
||||
{{ partial "comments.html" site.Params.features.comment }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Keep backward compatibility with old config.yaml -->
|
||||
{{ if site.DisqusShortname }}
|
||||
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }}
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -87,7 +179,7 @@
|
||||
|
||||
{{ define "toc" }}
|
||||
<section class="toc-section" id="toc-section">
|
||||
{{ if site.Params.enableTOC }}
|
||||
{{ if and site.Params.enableTOC ( .Params.enableTOC | default true ) }}
|
||||
<div class="toc-holder">
|
||||
<h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5>
|
||||
<hr>
|
||||
@@ -105,7 +197,15 @@
|
||||
<script>
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
<!-------------- Enable Math support for this page ---------------->
|
||||
{{ if .Params.math }}
|
||||
{{ partial "math.html" . }}
|
||||
{{ end }}
|
||||
|
||||
<!-------------- Enable mermaid support for this page ---------------->
|
||||
{{ if .Params.mermaid }}
|
||||
{{ partial "mermaid.html" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
{{ define "header" }}
|
||||
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
||||
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
||||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
|
||||
{{ end }}
|
||||
|
||||
{{ define "navbar" }}
|
||||
{{ partial "navigators/navbar-2.html" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ define "sidebar" }}
|
||||
{{ $homePage:="#" }}
|
||||
{{ if site.IsMultiLingual }}
|
||||
{{ $homePage = (path.Join (cond ( eq .Language.Lang "en") "" .Language.Lang) .Type) }}
|
||||
{{ end }}
|
||||
|
||||
<section class="sidebar-section" id="sidebar-section">
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
<li id="list-heading"><a href="{{ .Type | relLangURL }}" data-filter="all">{{ i18n .Type }}</a></li>
|
||||
<div class="subtree taxonomy-terms">
|
||||
{{ $context := . }}
|
||||
{{ partial "navigators/taxonomies.html" (dict "context" $context "taxo" "categories" "title" ( humanize "categories" ) ) }}
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{ define "content" }}
|
||||
<section class="content-section" id="content-section">
|
||||
<div class="content container-fluid" id="content">
|
||||
<div class="container-fluid post-card-holder" id="post-card-holder">
|
||||
{{ $posts := where .RegularPagesRecursive "Layout" "!=" "search" }}
|
||||
{{ $paginator := .Paginate $posts 12 }}
|
||||
{{ range $paginator.Pages }}
|
||||
{{ if .Layout }}
|
||||
{{/* ignore the search.md file*/}}
|
||||
{{ else }}
|
||||
{{ partial "cards/post.html" . }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="paginator">
|
||||
{{ template "_internal/pagination.html" . }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{{ end }}
|
||||
|
||||
{{ define "scripts" }}
|
||||
<script src="{{ "/js/list.js" | relURL }}"></script>
|
||||
{{ end }}
|
||||
+14
-6
@@ -1,5 +1,5 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="{{ .Site.Language.Lang }}">
|
||||
<head>
|
||||
<title>{{- .Site.Title -}}</title>
|
||||
{{ $siteDescription := .Site.Params.description }}
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
<!-- import common headers -->
|
||||
{{- partial "header.html" . -}}
|
||||
{{- partial "opengraph.html" . -}}
|
||||
|
||||
<!-- import index page specific headers -->
|
||||
<link rel="stylesheet" href="{{ "/css/sections/home.css" | relURL }}"/>
|
||||
@@ -24,11 +25,13 @@
|
||||
<link rel="stylesheet" href="{{ "/css/sections/recent-posts.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/sections/achievements.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/sections/accomplishments.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/sections/publications.css" | relURL }}"/>
|
||||
|
||||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
|
||||
<!-- Add Google Analytics if enabled in configuration -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
{{ template "_internal/google_analytics_async.html" . }}
|
||||
{{ end }}
|
||||
<!--================= add analytics if enabled =========================-->
|
||||
{{- partial "analytics.html" . -}}
|
||||
</head>
|
||||
<body data-spy="scroll" data-target="#top-navbar" data-offset="100">
|
||||
|
||||
@@ -66,7 +69,8 @@
|
||||
{{ end }}
|
||||
|
||||
<!--- ADD FOOTER ----------------------->
|
||||
{{- partial "footer.html" . -}}
|
||||
{{ $footerTemplate:= site.Params.footer.template | default "footer.html" }}
|
||||
{{- partial $footerTemplate . -}}
|
||||
|
||||
<!--- ADD COMMON SCRIPTS --------------->
|
||||
{{ partial "scripts.html" . }}
|
||||
@@ -76,5 +80,9 @@
|
||||
<script src="{{ "/js/github-button.js" | relURL }}"></script>
|
||||
<script src="{{ "/js/home.js" | relURL }}"></script>
|
||||
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
|
||||
|
||||
<!------ ADD SUPPORT LINKS -------->
|
||||
{{- partial "misc/support.html" . -}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+12
-3
@@ -20,8 +20,8 @@
|
||||
<section class="sidebar-section" id="sidebar-section">
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | absURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
@@ -40,7 +40,14 @@
|
||||
<section class="content-section" id="content-section">
|
||||
<div class="content container-fluid" id="content">
|
||||
<div class="container-fluid note-card-holder" id="note-card-holder">
|
||||
{{ partial "note-aggregator.html" . }}
|
||||
{{ $paginator := .Paginate .RegularPagesRecursive 10 }}
|
||||
{{ range $paginator.Pages }}
|
||||
{{ if .Layout }}
|
||||
{{/* ignore search.md file*/}}
|
||||
{{ else }}
|
||||
{{ .Content }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="paginator">
|
||||
{{ template "_internal/pagination.html" . }}
|
||||
@@ -51,6 +58,8 @@
|
||||
|
||||
{{ define "scripts" }}
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js"></script>
|
||||
<script src="{{ "/js/imagesloaded.pkgd.min.js" | relURL }}"></script>
|
||||
<script src="{{ "/js/note.js" | relURL }}"></script>
|
||||
<script>
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
@@ -20,8 +20,8 @@
|
||||
<section class="sidebar-section" id="sidebar-section">
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | absURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
@@ -40,9 +40,7 @@
|
||||
<section class="content-section" id="content-section">
|
||||
<div class="content container-fluid" id="content">
|
||||
<div class="container-fluid note-card-holder" id="note-card-holder">
|
||||
<div class="note-collection">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -50,6 +48,8 @@
|
||||
|
||||
{{ define "scripts" }}
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js"></script>
|
||||
<script src="{{ "/js/imagesloaded.pkgd.min.js" | relURL }}"></script>
|
||||
<script src="{{ "/js/note.js" | relURL }}"></script>
|
||||
<script>
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<!-- Add Analytics if enabled in configuration -->
|
||||
{{ with site.Params.features.analytics }}
|
||||
{{ if .enabled }}
|
||||
<!-- Google Analytics -->
|
||||
{{ with .google }}
|
||||
{{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }}
|
||||
{{ $analyticsConfig := dict (slice "Site" "GoogleAnalytics") .id }}
|
||||
{{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Counter.dev -->
|
||||
{{ with .counterDev }}
|
||||
<script src="https://cdn.counter.dev/script.js"
|
||||
data-id="{{ .id }}"
|
||||
data-utcoffset="1"
|
||||
></script>
|
||||
{{ end }}
|
||||
|
||||
<!-- GoatCounter -->
|
||||
{{ with .goatCounter }}
|
||||
<script
|
||||
data-goatcounter="https://{{ .code }}.goatcounter.com/count"
|
||||
async
|
||||
src="/js/goat-counter.js"
|
||||
></script>
|
||||
{{ end }}
|
||||
|
||||
<!-- Piwik/Matomo -->
|
||||
{{ with .matomo }}
|
||||
<!-- Matomo -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//{{ .instance }}/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '{{ .siteId }}']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Keep backwards compatibility and consistency with HUGO defaults -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
{{ template "_internal/google_analytics.html" . }}
|
||||
{{ end }}
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="card-header">
|
||||
<h5 class="card-title mb-0">{{ .name }}</h5>
|
||||
<div class="sub-title">
|
||||
<span><a href="{{ .organization.url }}" target="_blank">{{ .organization.name }}</a></span>
|
||||
<span><a href="{{ .organization.url }}" title="{{ .organization.name }}" target="_blank" rel="noopener">{{ .organization.name }}</a></span>
|
||||
<span class="ml-2">{{ .timeline }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -11,7 +11,9 @@
|
||||
<p>{{ .courseOverview | markdownify }}</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a class="btn btn-outline-info ml-1 pl-2 mb-2" href="{{ .certificateURL | default "#"}}" target="_blank" role="button">{{ i18n "view_certificate"}}</a>
|
||||
{{ if .certificateURL }}
|
||||
<a class="btn btn-outline-info ml-1 pl-2 mb-2" href="{{ .certificateURL }}" target="_blank" rel="noopener" role="button">{{ i18n "view_certificate"}}</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -4,14 +4,17 @@
|
||||
>
|
||||
<div class="card mt-1">
|
||||
<div class="card">
|
||||
<a class="card-header" href="{{ if .repo }}{{ .repo }}{{ else if .url }}{{ .url }}{{ else }}javascript:void(0){{ end }}" target="_blank">
|
||||
<a class="card-header" href="{{ if .repo }}{{ .repo }}{{ else if .url }}{{ .url }}{{ else }}javascript:void(0){{ end }}" {{ if or .repo .url }}target="_blank" rel="noopener"{{ end }}>
|
||||
<div>
|
||||
<div class="d-flex">
|
||||
{{ if .logo }}
|
||||
|
||||
{{ $logoImage:= resources.Get .logo}}
|
||||
{{ if $logoImage }}
|
||||
{{ $logoImage := $logoImage.Fit "24x24" }}
|
||||
{{/* svg don't support "Fit" operation */}}
|
||||
{{ if ne $logoImage.MediaType.SubType "svg" }}
|
||||
{{ $logoImage = $logoImage.Fit "24x24" }}
|
||||
{{ end }}
|
||||
|
||||
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||
{{ end }}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
{{ $dataCategories:= slice "pub-all"}}
|
||||
{{ range .categories}}
|
||||
{{ $dataCategories = $dataCategories | append (printf "pub-%s" .)}}
|
||||
{{end}}
|
||||
|
||||
<div
|
||||
class="col-12 p-2 pub-filtr-item"
|
||||
data-category='{{ delimit $dataCategories ","}}'
|
||||
>
|
||||
<div class="card mt-3">
|
||||
<div class="card-header">
|
||||
<h5 class="card-title mb-0">{{ .title }}</h5>
|
||||
<div class="sub-title">
|
||||
<span><a class="" href="{{.publishedIn.url}}">{{ .publishedIn.name }}</a></span>
|
||||
<span class="ml-2">{{ .publishedIn.date }}</span>
|
||||
</div>
|
||||
<div class="authors">
|
||||
{{ range $index,$author:= .authors }}
|
||||
<span class="mr-2"><a class="" href="{{.url}}">{{ .name }}</a></span>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p>{{ .paper.summary | markdownify }}</p>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<div class="tags">
|
||||
{{ range $index,$tag:= .tags }}
|
||||
<span class="btn badge btn-info ml-1 p-2">
|
||||
{{ $tag }}
|
||||
</span>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="details-btn">
|
||||
<a class="btn btn-outline-info ml-1 pl-2 mb-2" href="{{ .paper.url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="col-lg-4 col-md-6 pt-2 post-card">
|
||||
<a href="{{ .RelPermalink }}" class="post-card-link">
|
||||
<a href="{{ .RelPermalink }}" title="{{ .Title }}" class="post-card-link">
|
||||
<div class="card">
|
||||
<div class="card-head">
|
||||
<img class="card-img-top" src='{{ partial "helpers/get-hero.html" . }}'
|
||||
@@ -12,7 +12,7 @@
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<span class="float-left">{{ .Date.Format "January 2, 2006" }}</span>
|
||||
<a href="{{ .RelPermalink }}" class="float-right btn btn-outline-info btn-sm">{{ i18n "read" }}</a>
|
||||
<a href="{{ .RelPermalink }}" title="{{ i18n "read" }}" class="float-right btn btn-outline-info btn-sm">{{ i18n "read" }}</a>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
<div class="col-xs-12 col-sm-6 col-lg-4 pt-2">
|
||||
<a class="skill-card-link" href="{{ if .url }}{{ .url }}{{ else }}javascript:void(0){{ end }}" target="_blank">
|
||||
<a class="skill-card-link" {{ if .url }}href="{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"{{ end }}>
|
||||
<div class="card">
|
||||
<div class="card-head d-flex">
|
||||
{{ if .logo }}
|
||||
{{ $logoImage := resources.Get .logo }}
|
||||
|
||||
{{/* svg don't support "Fit" operation */}}
|
||||
{{ if ne $logoImage.MediaType.SubType "svg" }}
|
||||
{{ $logoImage := $logoImage.Fit "24x24" }}
|
||||
{{ $logoImage = $logoImage.Fit "24x24" }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
{{ else if .icon }}
|
||||
{{ $iconName := .icon }}
|
||||
<h5 class="card-title"><span class="{{ $iconName }}"> {{ .name }}</span></h5>
|
||||
{{ else }}
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
{{ end }}
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">{{ .summary | markdownify }}</p>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{{ if .disqus.shortName }}
|
||||
{{ partial "comments/disqus.html" . }}
|
||||
{{ else if .valine }}
|
||||
{{ partial "comments/valine.html" . }}
|
||||
{{ else if .utteranc }}
|
||||
{{ partial "comments/utteranc.html" . }}
|
||||
{{ else if .giscus }}
|
||||
{{ partial "comments/giscus.html" . }}
|
||||
{{ else if .commento }}
|
||||
{{ partial "comments/commento.html" . }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{ with .commento }}
|
||||
{{ $serverURL := .serverURL }}
|
||||
{{ $autoInit := .autoInit | default "true"}}
|
||||
{{ $hideDeleted := .hideDeleted | default "false"}}
|
||||
|
||||
<script defer
|
||||
src="http://{{ $serverURL }}/js/commento.js"
|
||||
data-auto-init="{{ $autoInit }}"
|
||||
data-hide-deleted="{{ $hideDeleted }}"
|
||||
></script>
|
||||
<div id="commento"></div>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,29 @@
|
||||
{{ with .disqus }}
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ .shortName }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,28 @@
|
||||
{{ with .giscus }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $repoID := .repoID }}
|
||||
{{ $category := .category | default "General" }}
|
||||
{{ $categoryID := .categoryID }}
|
||||
{{ $theme := .theme | default "light" }}
|
||||
{{ $map := .map | default "url" }}
|
||||
{{ $reaction := .reaction | default "1" }}
|
||||
{{ $metadata := .metadata | default "0" }}
|
||||
{{ $inputPosition := .inputPosition | default "bottom" }}
|
||||
{{ $crossOrigin := .crossOrigin | default "anonymous" }}
|
||||
|
||||
<script src="https://giscus.app/client.js"
|
||||
data-repo="{{ $repo }}"
|
||||
data-repo-id="{{ $repoID }}"
|
||||
data-category="{{ $category }}"
|
||||
data-category-id="{{ $categoryID }}"
|
||||
data-mapping="{{ $map }}"
|
||||
data-reactions-enabled="{{ $reaction }}"
|
||||
data-emit-metadata="{{ $metadata }}"
|
||||
data-input-position="{{ $inputPosition }}"
|
||||
data-theme="{{ $theme }}"
|
||||
data-lang="{{ .Site.Language.Lang }}"
|
||||
crossorigin="{{ $crossOrigin }}"
|
||||
async>
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
{{ with .utteranc }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $issueTerm := .issueTerm }}
|
||||
{{ $theme := .theme }}
|
||||
|
||||
<div id="utteranc_thread"></div>
|
||||
<div id="comments" class="comments">
|
||||
<div id="comments-container"></div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
var utterances = document.createElement('script');
|
||||
utterances.type = 'text/javascript';
|
||||
utterances.async = true;
|
||||
utterances.setAttribute('repo','{{ $repo }}')
|
||||
utterances.setAttribute('issue-term','{{ $issueTerm }}')
|
||||
utterances.setAttribute('theme','{{ $theme }}')
|
||||
utterances.crossorigin = 'anonymous';
|
||||
utterances.src = 'https://utteranc.es/client.js';
|
||||
|
||||
document.getElementById('comments-container').appendChild(utterances);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{ with .valine }}
|
||||
<div id="vcomments"></div>
|
||||
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
|
||||
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
new Valine({
|
||||
el: "#vcomments",
|
||||
appId: "{{ .appId }}",
|
||||
appKey: "{{ .appKey }}",
|
||||
avatar: "{{ .avatar }}",
|
||||
placeholder: "{{ .placeholder }}",
|
||||
visitor: "{{ .visitor }}",
|
||||
lang: "{{ .lang }}",
|
||||
recordIP: "{{ .recordIP }}",
|
||||
enableQQ: "{{ .enableQQ }}",
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
||||
@@ -1,27 +0,0 @@
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ site.DisqusShortname }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
||||
+200
-99
@@ -1,112 +1,213 @@
|
||||
{{ $author:= site.Data.author }}
|
||||
{{ if (index site.Data site.Language.Lang).author }}
|
||||
{{ $author = (index site.Data site.Language.Lang).author }}
|
||||
{{ end }}
|
||||
{{/* variables for enabling/disabling parts of the footer */}}
|
||||
{{ $footerEnabled := site.Params.footer.enable | default true }}
|
||||
{{ $navigationEnabled := site.Params.footer.navigation.enable | default true }}
|
||||
{{ $customMenusEnabled := site.Params.footer.navigation.customMenus | default true }}
|
||||
{{ $contactMeEnabled := site.Params.footer.contactMe.enable | default true }}
|
||||
{{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }}
|
||||
{{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }}
|
||||
{{ $disclaimerEnabled := site.Params.footer.disclaimer.enable | default false }}
|
||||
|
||||
{{ $sections:= site.Data.sections }}
|
||||
{{ if (index site.Data site.Language.Lang).sections }}
|
||||
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
||||
{{ end }}
|
||||
|
||||
{{ $copyrightNotice := "© 2020 Copyright."}}
|
||||
{{ if (index site.Data site.Language.Lang).site }}
|
||||
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
||||
{{ if $siteConfig.copyright }}
|
||||
{{ $copyrightNotice = $siteConfig.copyright }}
|
||||
{{/* Keep backward compatibility for the newsletter function */}}
|
||||
{{ if site.Params.newsletter }}
|
||||
{{ if site.Params.newsletter.enable }}
|
||||
{{ $newsletterEnabled = true }}
|
||||
{{ else }}
|
||||
{{ $newsletterEnabled = false }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{/* footer logos */}}
|
||||
{{ $themeLogo := "/images/theme-logo.png" }}
|
||||
{{ $hugoLogo := "/images/hugo-logo.svg" }}
|
||||
{{ if $footerEnabled }}
|
||||
{{ $author:= site.Data.author }}
|
||||
{{ if (index site.Data site.Language.Lang).author }}
|
||||
{{ $author = (index site.Data site.Language.Lang).author }}
|
||||
{{ end }}
|
||||
|
||||
{{/* resize the logos. don't resize svg because it is not supported */}}
|
||||
{{ $themeLogo:= resources.Get $themeLogo}}
|
||||
{{ if and $themeLogo (ne $themeLogo.MediaType.SubType "svg") }}
|
||||
{{ $themeLogo = $themeLogo.Resize "32x" }}
|
||||
{{ end }}
|
||||
{{ $themeLogo = $themeLogo.RelPermalink}}
|
||||
{{ $sections:= site.Data.sections }}
|
||||
{{ if (index site.Data site.Language.Lang).sections }}
|
||||
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
||||
{{ end }}
|
||||
|
||||
{{ $hugoLogo:= resources.Get $hugoLogo}}
|
||||
{{ if and $hugoLogo (ne $hugoLogo.MediaType.SubType "svg")}}
|
||||
{{ $hugoLogo = $hugoLogo.Resize "32x" }}
|
||||
{{ end }}
|
||||
{{ $hugoLogo = $hugoLogo.RelPermalink}}
|
||||
{{ $customMenus := site.Params.customMenus }}
|
||||
{{ if (index site.Data site.Language.Lang).site.customMenus }}
|
||||
{{ $customMenus = (index site.Data site.Language.Lang).site.customMenus }}
|
||||
{{ end }}
|
||||
|
||||
<footer class="container-fluid text-center align-content-center footer pb-2">
|
||||
<div class="container pt-5">
|
||||
<div class="row text-left">
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<h5>{{ i18n "navigation" }}</h5>
|
||||
{{ if $sections }}
|
||||
<ul>
|
||||
{{- range sort $sections "section.weight" }}
|
||||
{{ if and (.section.enable) (.section.showOnNavbar)}}
|
||||
{{ $sectionID := replace (lower .section.name) " " "-" }}
|
||||
{{ if .section.id }}
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ $copyrightNotice := now.Format "2006" | printf "© %s Copyright."}}
|
||||
{{ if (index site.Data site.Language.Lang).site }}
|
||||
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
||||
{{ if $siteConfig.copyright }}
|
||||
{{ $copyrightNotice = $siteConfig.copyright }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
{{ $disclaimer := "" }}
|
||||
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
||||
{{ if $siteConfig.disclaimer }}
|
||||
{{ $disclaimer = $siteConfig.disclaimer }}
|
||||
{{ end }}
|
||||
|
||||
{{/* footer logos */}}
|
||||
{{ $themeLogo := "/images/theme-logo.png" }}
|
||||
{{ $hugoLogo := "/images/hugo-logo.svg" }}
|
||||
|
||||
{{/* resize the logos. don't resize svg because it is not supported */}}
|
||||
{{ $themeLogo:= resources.Get $themeLogo}}
|
||||
{{ if and $themeLogo (ne $themeLogo.MediaType.SubType "svg") }}
|
||||
{{ $themeLogo = $themeLogo.Resize "32x" }}
|
||||
{{ end }}
|
||||
{{ $themeLogo = $themeLogo.RelPermalink}}
|
||||
|
||||
{{ $hugoLogo:= resources.Get $hugoLogo}}
|
||||
{{ if and $hugoLogo (ne $hugoLogo.MediaType.SubType "svg")}}
|
||||
{{ $hugoLogo = $hugoLogo.Resize "32x" }}
|
||||
{{ end }}
|
||||
{{ $hugoLogo = $hugoLogo.RelPermalink}}
|
||||
|
||||
<footer id="footer" class="container-fluid text-center align-content-center footer pb-2">
|
||||
<div class="container pt-5">
|
||||
<div class="row text-left">
|
||||
{{ if $navigationEnabled }}
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<h5>{{ i18n "navigation" }}</h5>
|
||||
{{ if $sections }}
|
||||
<ul>
|
||||
{{- range sort $sections "section.weight" }}
|
||||
{{ if and (.section.enable) (.section.showOnNavbar)}}
|
||||
{{ $sectionID := replace (lower .section.name) " " "-" }}
|
||||
{{ if .section.id }}
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ end }}
|
||||
<li class="nav-item">
|
||||
<a class="smooth-scroll" href="{{ "" | absLangURL }}#{{ $sectionID }}">{{ .section.name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{ if $customMenusEnabled }}
|
||||
{{ range $customMenus }}
|
||||
{{ if .showOnFooter }}
|
||||
<li class="nav-item">
|
||||
<a class="smooth-scroll" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
<li class="nav-item">
|
||||
<a class="smooth-scroll" href="/#{{ $sectionID }}">{{ .section.name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
{{ if $author }}
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<h5>{{ i18n "contact_me" }}</h5>
|
||||
<ul>
|
||||
{{ range $key,$value:= $author.contactInfo }}
|
||||
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
|
||||
</ul>
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if site.Params.newsletter.enable }}
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<!-- <h5>Newsletter</h5> -->
|
||||
<p>{{ i18n "newsletter_text" }}</p>
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<input
|
||||
type="email"
|
||||
class="form-control"
|
||||
id="exampleInputEmail1"
|
||||
aria-describedby="emailHelp"
|
||||
placeholder="{{ i18n "newsletter_input_placeholder" }}"
|
||||
/>
|
||||
<small id="emailHelp" class="form-text text-muted"
|
||||
>{{ i18n "newsletter_warning" }}</small
|
||||
>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if (and $contactMeEnabled $author) }}
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<h5>{{ i18n "contact_me" }}</h5>
|
||||
<ul>
|
||||
{{ range $key,$value:= $author.contactInfo }}
|
||||
{{ if (eq $key "email") }}
|
||||
<li><a href={{ printf "mailto:%s" $value }} target="_blank" rel="noopener">
|
||||
<span><i class="fas fa-envelope"></i></span> <span>{{ $value }}</span>
|
||||
</a></li>
|
||||
{{ else if (eq $key "phone") }}
|
||||
<li><span><i class="fas fa-phone-alt"></i></span> <span>{{ $value }}</span></li>
|
||||
{{ else if (eq $key "linkedin") }}
|
||||
<li><a href={{ printf "https://www.linkedin.com/in/%s" $value }} target="_blank" rel="noopener">
|
||||
<span><i class="fab fa-linkedin"></i></span> <span>{{ $author.name }}</span>
|
||||
</a></li>
|
||||
{{ else if (eq $key "github") }}
|
||||
<li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener">
|
||||
<span><i class="fab fa-github"></i></span> <span>{{ $value }}</span>
|
||||
</a></li>
|
||||
{{ else if reflect.IsMap $value }}
|
||||
<li>
|
||||
{{ if (and (isset $value "url") (isset $value "icon"))}}
|
||||
<a href={{ $value.url }} target="_blank" rel="noopener">
|
||||
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
|
||||
</a>
|
||||
{{ else if isset $value "icon" }}
|
||||
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
|
||||
{{ else }}
|
||||
<a href={{ $value.url }} target="_blank" rel="noopener">
|
||||
<span>{{ title $key }}: </span> <span>{{ $value.text }}</span>
|
||||
</a>
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ else }}
|
||||
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
{{ end }}
|
||||
<!-------------- Newsletter --------------->
|
||||
{{ if $newsletterEnabled }}
|
||||
{{ $provider := site.Params.footer.newsletter.provider }}
|
||||
<div class="col-md-4 col-sm-12">
|
||||
<p>{{ i18n "newsletter_text" }}</p>
|
||||
{{ if and (eq $provider "mailchimp") site.Params.footer.newsletter.mailchimpURL }} <!-- mailchimp -->
|
||||
<form
|
||||
action="{{ site.Params.footer.newsletter.mailchimpURL }}"
|
||||
method="post"
|
||||
id="mc-embedded-subscribe-form"
|
||||
name="mc-embedded-subscribe-form"
|
||||
class="validate"
|
||||
target="_blank"
|
||||
novalidate >
|
||||
<div class="form-group">
|
||||
<input
|
||||
type="email"
|
||||
class="form-control"
|
||||
id="mce-EMAIL"
|
||||
name="EMAIL"
|
||||
aria-describedby="emailHelp"
|
||||
placeholder="{{ i18n "newsletter_input_placeholder" }}"
|
||||
/>
|
||||
<small id="emailHelp" class="form-text text-muted"
|
||||
>{{ i18n "newsletter_warning" }}</small
|
||||
>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-info">{{ i18n "submit" }}</button>
|
||||
</form>
|
||||
{{ else }}
|
||||
<form method='post' action='https://blogtrottr.com'>
|
||||
<div class="form-group">
|
||||
<input type='email' class="form-control" name='btr_email' placeholder="{{ i18n "newsletter_input_placeholder" }}"/><br />
|
||||
<input type='hidden' name='btr_url' value='{{ "" | absLangURL }}index.xml' />
|
||||
<input type='hidden' name='schedule_type' value='1' />
|
||||
<small id="emailHelp" class="form-text text-muted">{{ i18n "newsletter_warning" }}</small>
|
||||
<button type="submit" class="btn btn-info"> {{ i18n "submit" }} </button>
|
||||
</div>
|
||||
</form>
|
||||
{{ end }}
|
||||
</div>
|
||||
<button type="submit" class="btn btn-info">{{ i18n "submit" }}</button>
|
||||
</form>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
<div class="container">
|
||||
<div class="row text-left">
|
||||
<div class="col-md-4">
|
||||
<a id="theme" href="https://github.com/hossainemruz/toha" target="#">
|
||||
<img src="{{ $themeLogo }}" alt="Toha Theme Logo">
|
||||
Toha
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4 text-center">{{ $copyrightNotice | markdownify }}</div>
|
||||
<div class="col-md-4 text-right">
|
||||
<a id="hugo" href="https://gohugo.io/">{{ i18n "hugoAttributionText" }}
|
||||
<img
|
||||
src="{{ $hugoLogo }}"
|
||||
alt="Hugo Logo"
|
||||
height="18"
|
||||
/>
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
{{ if and $disclaimerEnabled $disclaimer}}
|
||||
<hr />
|
||||
<div class="container">
|
||||
<p id="disclaimer"><strong>{{ i18n "disclaimer_text" }}:</strong> {{ $disclaimer | markdownify }}</p>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if $credentialsEnabled }}
|
||||
<hr />
|
||||
<div class="container">
|
||||
<div class="row text-left">
|
||||
<div class="col-md-4">
|
||||
<a id="theme" href="https://github.com/hugo-toha/toha" target="_blank" rel="noopener">
|
||||
<img src="{{ $themeLogo }}" alt="Toha Theme Logo">
|
||||
Toha
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-md-4 text-center">{{ $copyrightNotice | markdownify }}</div>
|
||||
<div class="col-md-4 text-right">
|
||||
<a id="hugo" href="https://gohugo.io/" target="_blank" rel="noopener">{{ i18n "hugoAttributionText" }}
|
||||
<img
|
||||
src="{{ $hugoLogo }}"
|
||||
alt="Hugo Logo"
|
||||
height="18"
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</footer>
|
||||
{{end}}
|
||||
|
||||
@@ -1,18 +1,3 @@
|
||||
{{/* default favicon */}}
|
||||
{{ $favicon := "/images/favicon.png" }}
|
||||
|
||||
{{/* if favicon is provided in the config, then use that */}}
|
||||
{{ if site.Params.logo.favicon }}
|
||||
{{ $favicon = site.Params.logo.favicon }}
|
||||
{{ end }}
|
||||
|
||||
{{/* resize the favicon. don't resize svg because it is not supported */}}
|
||||
{{ $favicon := resources.Get $favicon }}
|
||||
{{ if and $favicon (ne $favicon.MediaType.SubType "svg") }}
|
||||
{{ $favicon = $favicon.Resize "42x" }}
|
||||
{{ end }}
|
||||
{{ $favicon = $favicon.RelPermalink}}
|
||||
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
@@ -20,15 +5,33 @@
|
||||
<!-- ============ import common css ========== -->
|
||||
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/layouts/main.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/navigators/navbar.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
|
||||
{{ end }}
|
||||
<!--=================== fonts ==============================-->
|
||||
<link rel="stylesheet" href="{{ "/google-fonts/Mulish/mulish.css" | relURL }}"/>
|
||||
|
||||
<!--=================== cdn ==============================-->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
|
||||
<!--=================== icons ==============================-->
|
||||
<link rel="stylesheet" href="{{ "/fontawesome/css/all.min.css" | relURL }}"/>
|
||||
|
||||
<!--=================== dark mode ==========================-->
|
||||
{{ if site.Params.darkMode.enable }}
|
||||
<link rel="stylesheet" href="{{ "/css/colortheme/colortheme.css" | relURL }}"/>
|
||||
{{ end }}
|
||||
|
||||
<!--================= fab-icon =========================-->
|
||||
<link rel="icon" type="image/png" href="{{ $favicon }}" />
|
||||
{{/* add favicon only if the site author has provided the the favicon */}}
|
||||
{{ if site.Params.logo.favicon }}
|
||||
{{ $favicon := site.Params.logo.favicon }}
|
||||
|
||||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
{{/* resize the favicon. don't resize svg because it is not supported */}}
|
||||
{{ $favicon = resources.Get $favicon }}
|
||||
{{ if and $favicon (ne $favicon.MediaType.SubType "svg") }}
|
||||
{{ $favicon = $favicon.Resize "42x" }}
|
||||
{{ end }}
|
||||
{{ $favicon = $favicon.RelPermalink}}
|
||||
|
||||
<link rel="icon" type="image/png" href="{{ $favicon }}" />
|
||||
{{end}}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
{{ $addNavbarSeparator:= false }}
|
||||
|
||||
{{/* If "blog" feature is enabled, then add navbar separator */}}
|
||||
{{ if site.Params.features.blog.enable }}
|
||||
{{ $addNavbarSeparator = true }}
|
||||
{{ end }}
|
||||
|
||||
{{/* If "notes" feature is enabled, then add navbar separator */}}
|
||||
{{ if site.Params.features.notes.enable }}
|
||||
{{ $addNavbarSeparator = true }}
|
||||
{{ end }}
|
||||
|
||||
{{/* If site has custom menus, then add navbar separator */}}
|
||||
{{ $customMenus := site.Params.customMenus }}
|
||||
{{ if (index site.Data site.Language.Lang).site.customMenus }}
|
||||
{{ $customMenus = (index site.Data site.Language.Lang).site.customMenus }}
|
||||
{{ end }}
|
||||
|
||||
{{ if $customMenus }}
|
||||
{{ if gt (len $customMenus) 0 }}
|
||||
{{ $addNavbarSeparator = true }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ return $addNavbarSeparator }}
|
||||
@@ -1,8 +1,9 @@
|
||||
{{/* if there is no custom flag provided, we define the flag with the country code */}}
|
||||
{{ $languageCode:= .Lang }}
|
||||
{{/* by default the language code and the country code are same */}}
|
||||
{{/* by default the language code and the country code are same */}}
|
||||
{{ $countryCode:= $languageCode }}
|
||||
|
||||
{{/* language code and country code are not same for some countries. we need to fix them. */}}
|
||||
{{/* language code and country code are not same for some countries. we need to fix them. */}}
|
||||
{{ if eq $languageCode "en" }}
|
||||
{{ $countryCode = "gb" }}
|
||||
{{ else if eq $languageCode "bn" }}
|
||||
@@ -11,5 +12,13 @@
|
||||
{{ $countryCode = "in" }}
|
||||
{{ end }}
|
||||
|
||||
|
||||
{{/* if the user specify a country code for a language via "params.flagOverwrites" field, then use it. */}}
|
||||
{{ range site.Params.flagOverwrites }}
|
||||
{{ if eq $languageCode .languageCode }}
|
||||
{{ $countryCode = .countryCode }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{/* return the country code */}}
|
||||
{{ return $countryCode }}
|
||||
|
||||
@@ -18,12 +18,12 @@
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{/* apply image processing. don't use "Fit" in svg because its not supported */}}
|
||||
{{/* apply image processing. don't use "Fit" in svg or gif because its not supported */}}
|
||||
{{ $authorImage:= resources.Get $authorImage}}
|
||||
{{ if and $authorImage (ne $authorImage.MediaType.SubType "svg") }}
|
||||
{{ $authorImage := $authorImage.Fit "120x120" }}
|
||||
|
||||
{{ if and $authorImage (and (ne $authorImage.MediaType.SubType "svg") ( ne $authorImage.MediaType.SubType "gif")) }}
|
||||
{{ $authorImage = $authorImage.Fit "120x120" }}
|
||||
{{ end }}
|
||||
|
||||
{{/* return the author image link */}}
|
||||
{{ return $authorImage.RelPermalink }}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
{{/* if hero image is specified in the page front-matter, then use that */}}
|
||||
{{ if .Params.hero }}
|
||||
{{ $heroImage = .Page.Resources.GetMatch .Params.hero }}
|
||||
{{ $heroImage = resources.Get .Params.hero }}
|
||||
{{ end }}
|
||||
{{ .Scratch.Set "heroScratch" $heroImage }}
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
{{ $pages:= slice}}
|
||||
{{ range . }}
|
||||
{{ if .HasChildren }}
|
||||
{{ $nestedPages:=partial "helpers/get-pages.html" .Children }}
|
||||
{{ $pages = $pages | append $nestedPages }}
|
||||
{{ else }}
|
||||
{{ $pages = $pages | append .Page }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ return $pages}}
|
||||
@@ -1,5 +1,15 @@
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
|
||||
onload="renderMathInElement(document.body);">
|
||||
<link rel="stylesheet" href="{{ "/katex/katex.min.css" | relURL }}">
|
||||
<script type="text/javascript" defer src="{{ "/katex/katex.min.js" | relURL }}"></script>
|
||||
<script type="text/javascript" defer src="{{ "/katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);">
|
||||
renderMathInElement(
|
||||
document.body,
|
||||
{
|
||||
delimiters: [
|
||||
{left: "$$", right: "$$", display: true},
|
||||
{left: "\\[", right: "\\]", display: true},
|
||||
{left: "$", right: "$", display: false},
|
||||
{left: "\\(", right: "\\)", display: false}
|
||||
]
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<script src="{{ "/js/mermaid-8.14.0.min.js" | relURL }}"></script>
|
||||
<script>
|
||||
mermaid.initialize({
|
||||
startOnLoad:true
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,35 @@
|
||||
<div class="col-6 col-lg-4 p-2">
|
||||
{{ if eq .type "certification" }}
|
||||
{{/* Verifiable certificate badge from https://www.credly.com */}}
|
||||
<div class="">
|
||||
<a href="{{ .url }}" target="_blank" rel="noopener noreferrer">
|
||||
<img src="{{ .badge }}" alt="{{ .name }}" />
|
||||
</a>
|
||||
</div>
|
||||
{{ else if eq .type "soft-skill-indicator" }}
|
||||
{{/* Circular bar indicating the level of expertise in a skill */}}
|
||||
{{ $predefinedColor:= true}}
|
||||
{{ if hasPrefix .color "#"}}
|
||||
{{ $predefinedColor = false }}
|
||||
{{ end }}
|
||||
<div class="circular-progress {{if $predefinedColor}}{{ .color }}{{end}}">
|
||||
<span class="circular-progress-left">
|
||||
<span
|
||||
class="circular-progress-bar circular-progress-percentage-{{ .percentage }}"
|
||||
{{ if not $predefinedColor }}
|
||||
style="border-color: {{.color}};"
|
||||
{{ end }}
|
||||
></span>
|
||||
</span>
|
||||
<span class="circular-progress-right">
|
||||
<span
|
||||
class="circular-progress-bar"
|
||||
{{ if not $predefinedColor }}
|
||||
style="border-color: {{.color}};"
|
||||
{{ end }}
|
||||
></span>
|
||||
</span>
|
||||
<div class="circular-progress-value">{{ .name }}</div>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
@@ -1,3 +1,4 @@
|
||||
{{/* TODO: Delete this file in version v4+ */}}
|
||||
<div class="col-6 col-lg-4 p-2">
|
||||
{{ $predefinedColor:= true}}
|
||||
{{ if hasPrefix .color "#"}}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{{ with site.Params.features.support }}
|
||||
{{ if .enabled }}
|
||||
<!-- Enable Ko-Fi floating button -->
|
||||
{{ with .kofi }}
|
||||
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
|
||||
<script>
|
||||
kofiWidgetOverlay.draw('{{ .user }}', {
|
||||
'type': 'floating-chat',
|
||||
'floating-chat.donateButton.text': '{{ .text }}',
|
||||
'floating-chat.donateButton.text-color': '{{ .textColor }}',
|
||||
'floating-chat.donateButton.background-color': '{{ .backgroundColor }}',
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -5,17 +5,21 @@
|
||||
|
||||
<div class="dropdown languageSelector">
|
||||
<a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ $countryCode := partial "helpers/country-code.html" .Language }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range .Translations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
|
||||
{{ $countryCode := partial "helpers/country-code.html" .Language }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ .Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,17 +5,21 @@
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ $countryCode := partial "helpers/country-code.html" .Language }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range .Translations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
|
||||
{{ $countryCode := partial "helpers/country-code.html" .Language }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ .Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</li>
|
||||
</li>
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ $countryCode := partial "helpers/country-code.html" .Language }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}">
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range site.Home.AllTranslations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
|
||||
{{ $countryCode := partial "helpers/country-code.html" .Language }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}">
|
||||
{{ .Language.LanguageName }}
|
||||
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</li>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range site.Home.AllTranslations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ .Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -1,28 +1,31 @@
|
||||
{{/* default logos */}}
|
||||
{{ $mainLogo := "/images/main-logo.png" }}
|
||||
{{ $invertedLogo := "/images/inverted-logo.png" }}
|
||||
{{/* by default, don't use any logo */}}
|
||||
{{ $mainLogo := "" }}
|
||||
{{ $invertedLogo := "" }}
|
||||
|
||||
{{/* if custom logo has been provided in the config file, then use them */}}
|
||||
{{/* if custom logo has been provided, use them */}}
|
||||
{{ if site.Params.logo.main }}
|
||||
{{ $mainLogo = site.Params.logo.main }}
|
||||
{{ end }}
|
||||
|
||||
{{ if site.Params.logo.inverted }}
|
||||
{{ $invertedLogo = site.Params.logo.inverted }}
|
||||
{{ end }}
|
||||
|
||||
{{/* resize the logos. don't resize svg because it is not supported */}}
|
||||
{{ $mainLogo := resources.Get $mainLogo}}
|
||||
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
||||
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
||||
{{ if $mainLogo }}
|
||||
{{ $mainLogo = resources.Get $mainLogo}}
|
||||
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
||||
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
||||
{{ end }}
|
||||
{{ $mainLogo = $mainLogo.RelPermalink}}
|
||||
{{ end }}
|
||||
{{ $mainLogo = $mainLogo.RelPermalink}}
|
||||
|
||||
{{ $invertedLogo := resources.Get $invertedLogo}}
|
||||
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg") }}
|
||||
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
||||
{{ if $invertedLogo }}
|
||||
{{ $invertedLogo = resources.Get $invertedLogo}}
|
||||
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
|
||||
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
||||
{{ end }}
|
||||
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
||||
{{ end }}
|
||||
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
||||
|
||||
<nav class="navbar navbar-expand-xl top-navbar final-navbar shadow">
|
||||
<div class="container">
|
||||
@@ -30,7 +33,9 @@
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
||||
<img src="{{ $mainLogo }}" alt="Logo">
|
||||
{{ if $mainLogo }}
|
||||
<img src="{{ $mainLogo }}" alt="Logo">
|
||||
{{ end }}
|
||||
{{- site.Title -}}
|
||||
</a>
|
||||
<button class="navbar-toggler navbar-light" id="toc-toggler" type="button" onclick="toggleTOC()">
|
||||
@@ -42,10 +47,17 @@
|
||||
{{ if .IsTranslated }}
|
||||
{{ partial "navigators/lang-selector-2.html" . }}
|
||||
{{ end }}
|
||||
{{ if site.Params.darkMode.enable }}
|
||||
{{ partial "navigators/theme-selector.html" . }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Store the logo information in a hidden img for the JS -->
|
||||
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
|
||||
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
|
||||
{{ if $mainLogo }}
|
||||
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
|
||||
{{ end }}
|
||||
{{ if $invertedLogo }}
|
||||
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
|
||||
{{ end }}
|
||||
</nav>
|
||||
|
||||
@@ -1,8 +1,18 @@
|
||||
{{/* default logos */}}
|
||||
{{ $mainLogo := "/images/main-logo.png" }}
|
||||
{{ $invertedLogo := "/images/inverted-logo.png" }}
|
||||
{{/* variables for enabling/disabling various features */}}
|
||||
{{ $blogEnabled := site.Params.features.blog.enable | default false }}
|
||||
{{ $notesEnabled := site.Params.features.notes.enable | default false }}
|
||||
{{ $maxVisibleSections := site.Params.topNavbar.maxVisibleSections | default 5 }}
|
||||
|
||||
{{/* if custom logo is used, them */}}
|
||||
{{/* keep backward compatibility for blog post */}}
|
||||
{{ if site.Params.enableBlogPost }}
|
||||
{{ $blogEnabled = true }}
|
||||
{{ end }}
|
||||
|
||||
{{/* by default, don't use any logo */}}
|
||||
{{ $mainLogo := "" }}
|
||||
{{ $invertedLogo := "" }}
|
||||
|
||||
{{/* if custom logo has been provided, use them */}}
|
||||
{{ if site.Params.logo.main }}
|
||||
{{ $mainLogo = site.Params.logo.main }}
|
||||
{{ end }}
|
||||
@@ -11,17 +21,21 @@
|
||||
{{ end }}
|
||||
|
||||
{{/* resize the logos. don't resize svg because it is not supported */}}
|
||||
{{ $mainLogo := resources.Get $mainLogo}}
|
||||
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
||||
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
||||
{{ if $mainLogo }}
|
||||
{{ $mainLogo = resources.Get $mainLogo}}
|
||||
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
||||
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
||||
{{ end }}
|
||||
{{ $mainLogo = $mainLogo.RelPermalink}}
|
||||
{{ end }}
|
||||
{{ $mainLogo = $mainLogo.RelPermalink}}
|
||||
|
||||
{{ $invertedLogo := resources.Get $invertedLogo}}
|
||||
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
|
||||
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
||||
{{ if $invertedLogo }}
|
||||
{{ $invertedLogo = resources.Get $invertedLogo}}
|
||||
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
|
||||
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
||||
{{ end }}
|
||||
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
||||
{{ end }}
|
||||
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
||||
|
||||
{{ $customMenus := site.Params.customMenus }}
|
||||
{{ if (index site.Data site.Language.Lang).site.customMenus }}
|
||||
@@ -36,7 +50,9 @@
|
||||
<nav class="navbar navbar-expand-xl top-navbar initial-navbar" id="top-navbar">
|
||||
<div class="container">
|
||||
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
||||
<img src="{{ $invertedLogo }}" id="logo" alt="Logo">
|
||||
{{ if $invertedLogo }}
|
||||
<img src="{{ $invertedLogo }}" id="logo" alt="Logo">
|
||||
{{ end }}
|
||||
{{- site.Title -}}
|
||||
</a>
|
||||
<button
|
||||
@@ -45,36 +61,37 @@
|
||||
type="button"
|
||||
data-toggle="collapse"
|
||||
data-target="#top-nav-items"
|
||||
aria-label="menu"
|
||||
>
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="top-nav-items">
|
||||
<div class="collapse navbar-collapse dynamic-navbar" id="top-nav-items">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#home">{{ i18n "home" }}</a>
|
||||
</li>
|
||||
{{ if $sections }}
|
||||
{{ $sectionCount := 0}}
|
||||
{{ $sectionCount := 1 }}
|
||||
{{ range sort $sections "section.weight" }}
|
||||
{{ if and (.section.enable) (.section.showOnNavbar)}}
|
||||
{{ $sectionCount = add $sectionCount 1}}
|
||||
{{ if le $sectionCount 5 }}
|
||||
{{ if le $sectionCount $maxVisibleSections }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{ if gt $sectionCount 5 }}
|
||||
{{ if gt $sectionCount $maxVisibleSections }}
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{i18n "more" }}</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{{ $sectionCount := 0 }}
|
||||
{{ $sectionCount := 1 }}
|
||||
{{ range sort $sections "section.weight" }}
|
||||
{{ if and (.section.enable) (.section.showOnNavbar) }}
|
||||
{{ $sectionCount = add $sectionCount 1}}
|
||||
{{ if gt $sectionCount 5 }}
|
||||
{{ if gt $sectionCount $maxVisibleSections }}
|
||||
<a class="dropdown-item" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -83,32 +100,41 @@
|
||||
</li>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{ $hasCustomMenus:= false }}
|
||||
{{ if $customMenus }}
|
||||
{{ if gt (len $customMenus) 0 }}
|
||||
{{ $hasCustomMenus = true }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if (or site.Params.enableBlogPost $hasCustomMenus) }}
|
||||
{{ $shouldAddSeparator:= partial "helpers/add-navbar-separator.html" . }}
|
||||
{{ if $shouldAddSeparator }}
|
||||
<div class="dropdown-divider" id="top-navbar-divider"></div>
|
||||
{{ end }}
|
||||
{{ if site.Params.enableBlogPost }}
|
||||
{{ if $blogEnabled }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" id="blog-link" href="{{ "/posts" | relLangURL }}">{{ i18n "posts" }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ range $customMenus }}
|
||||
{{ if $notesEnabled }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||
<a class="nav-link" id="note-link" href="{{ "/notes" | relLangURL }}">{{ i18n "notes" }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ range $customMenus }}
|
||||
{{ if (not .hideFromNavbar) }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .IsTranslated }}
|
||||
{{ partial "navigators/lang-selector.html" . }}
|
||||
{{ end }}
|
||||
{{ if site.Params.darkMode.enable }}
|
||||
{{ partial "navigators/theme-selector.html" . }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Store the logo information in a hidden img for the JS -->
|
||||
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
|
||||
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
|
||||
{{ if $mainLogo }}
|
||||
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
|
||||
{{ end }}
|
||||
{{ if $invertedLogo }}
|
||||
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
|
||||
{{ end }}
|
||||
</nav>
|
||||
|
||||
@@ -1,33 +1,43 @@
|
||||
{{ $curPage := . }}
|
||||
{{ $prevPage := "" }}
|
||||
{{ $nextPage := "" }}
|
||||
|
||||
<!-- List all the pages. It uses the sidebar menu to discover the page order. -->
|
||||
{{ $pages := slice }}
|
||||
|
||||
{{ if isset site.Menus "sidebar" }}
|
||||
{{ $pages = partial "helpers/get-pages.html" site.Menus.sidebar }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Now, find the current page index in the pages list. Then, find previous page and next page. -->
|
||||
{{ $idx := 0 }}
|
||||
{{ range $pages }}
|
||||
{{ if eq .RelPermalink $curPage.RelPermalink }}
|
||||
{{ $prevPage = index $pages (sub $idx 1) }}
|
||||
{{ $nextPage = index $pages (add $idx 1) }}
|
||||
{{ end }}
|
||||
{{ $idx = add $idx 1 }}
|
||||
{{ end }}
|
||||
|
||||
<div class="row next-prev-navigator">
|
||||
{{ $currentPage := . }}
|
||||
{{ range (where site.RegularPages.ByDate "Type" "in" site.Params.mainSections )}}
|
||||
{{ if eq .RelPermalink $currentPage.RelPermalink }}
|
||||
{{ if .Next }}
|
||||
{{ if (in site.Params.mainSections .Next.Type) }}
|
||||
<div class="col-md-6 previous-article">
|
||||
<a href="{{.Next.RelPermalink}}" class="btn btn-outline-info">
|
||||
<div><i class="fas fa-chevron-circle-left"></i> {{ i18n "prev" }}</div>
|
||||
<div class="next-prev-text">{{ .Next.Title }}</div>
|
||||
{{ if $prevPage }}
|
||||
<div class="col-md-6 previous-article">
|
||||
<a href="{{ $prevPage.RelPermalink }}" title="{{ $prevPage.Title }}" class="btn btn-outline-info">
|
||||
<div><i class="fas fa-chevron-circle-left"></i> {{ i18n "prev" }}</div>
|
||||
<div class="next-prev-text">{{ $prevPage.Title }}</div>
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if $nextPage }}
|
||||
{{ $columnWidth:="col-md-12" }}
|
||||
{{ if $prevPage }}
|
||||
{{ $columnWidth = "col-md-6" }}
|
||||
{{ end}}
|
||||
<div class="{{ $columnWidth }} next-article">
|
||||
<a href="{{ $nextPage.RelPermalink }}" title="{{ $nextPage.Title }}" class="btn btn-outline-info">
|
||||
<div>{{ i18n "next" }} <i class="fas fa-chevron-circle-right"></i></div>
|
||||
<div class="next-prev-text">{{ $nextPage.Title }}</div>
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .Prev }}
|
||||
{{ if (in site.Params.mainSections .Prev.Type) }}
|
||||
{{ $columnWidth:="col-md-12" }}
|
||||
{{ if .Next }}
|
||||
{{ if (in site.Params.mainSections .Next.Type) }}
|
||||
{{ $columnWidth = "col-md-6" }}
|
||||
{{ end }}
|
||||
{{ end}}
|
||||
<div class="{{ $columnWidth }} next-article">
|
||||
<a href="{{ .Prev.RelPermalink }}" class="btn btn-outline-info">
|
||||
<div>{{ i18n "next" }} <i class="fas fa-chevron-circle-right"></i></div>
|
||||
<div class="next-prev-text">{{ .Prev.Title }}</div>
|
||||
</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
@@ -17,6 +17,6 @@
|
||||
</li>
|
||||
{{ else }}
|
||||
<!-- No sub-tree. So, only add current entry -->
|
||||
<li><a class="{{$class}}" href="{{ .URL }}">{{.Name}}</a></li>
|
||||
<li><a class="{{$class}}" href="{{ .URL }}" title="{{ .Name }}">{{.Name}}</a></li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
{{ $context := .context }}
|
||||
{{ $taxo := .taxo }}
|
||||
{{ $class:= "" }}
|
||||
{{ if isset $context.Site.Taxonomies ( lower $taxo ) }}
|
||||
{{ $taxonomy := index $context.Site.Taxonomies ( lower $taxo ) }}
|
||||
{{ if (gt (len $taxonomy) 0)}}
|
||||
{{ range $taxonomy }}
|
||||
{{if eq $context.Title .Page.Title}}
|
||||
{{ $class = "active" }}
|
||||
{{else}}
|
||||
{{$class = ""}}
|
||||
{{end}}
|
||||
<li><a class="taxonomy-term {{ $class }}" href="{{ .Page.Permalink }}" data-taxonomy-term="{{ urlize .Page.Title }}"><span class="taxonomy-label">{{ .Page.Title }}</span></a></li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,20 @@
|
||||
<li class="nav-item dropdown">
|
||||
<!-- This is for initializing the color scheme selection for new visitors. See /js/darkmode.js -->
|
||||
<div id="theme-initialization" style="display: none;"
|
||||
default-theme="{{ site.Params.darkMode.default }}"></div>
|
||||
<a class="nav-link dropdown-toggle" href="#" id="themeSelector" role="button"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<img id="navbar-theme-icon-svg" src="{{ "/icons/moon-svgrepo-com.svg" }}" width=20>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-icons-only" aria-labelledby="themeSelector">
|
||||
<a class="dropdown-item nav-link" href="#" onclick="enableLightTheme()">
|
||||
<img class="menu-icon-center" src="{{ "/icons/sun-svgrepo-com.svg" }}" width=20>
|
||||
</a>
|
||||
<a class="dropdown-item nav-link" href="#" onclick="enableDarkTheme()">
|
||||
<img class="menu-icon-center" src="{{ "/icons/moon-svgrepo-com.svg" }}" width=20>
|
||||
</a>
|
||||
<a class="dropdown-item nav-link" href="#" onclick="useSystemTheme()">
|
||||
<img class="menu-icon-center" src="{{ "/icons/computer-svgrepo-com.svg" }}" width=20>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
@@ -1,18 +0,0 @@
|
||||
{{ $paginator := .Paginate .RegularPagesRecursive 10 }}
|
||||
{{ range $paginator.Pages }}
|
||||
{{ if .Layout }}
|
||||
{{/* ignore search.md file*/}}
|
||||
{{ else }}
|
||||
{{$id := .Params.Menu.Notes.Identifier }}
|
||||
<h4 class="note-collection-title" id="{{ $id }}">
|
||||
<a href="#{{ $id }}"># {{ .Title }}</a>
|
||||
{{$badges:= split .File.Dir "/"}}
|
||||
{{ range after 1 $badges }}
|
||||
<span class="badge btn-info note-badge">{{ . }}</span>
|
||||
{{ end }}
|
||||
</h4>
|
||||
<div class="note-collection">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{ $title := (index site.Data site.Language.Lang).site.openGraph.title | default site.Title }}
|
||||
{{ $type := (index site.Data site.Language.Lang).site.openGraph.type | default "website" }}
|
||||
{{ $description := (index site.Data site.Language.Lang).site.openGraph.description | default (index site.Data site.Language.Lang).site.description }}
|
||||
{{ $image := (index site.Data site.Language.Lang).site.openGraph.image | default (index site.Data site.Language.Lang).author.image }}
|
||||
{{ $url := (index site.Data site.Language.Lang).site.openGraph.url | default site.BaseURL }}
|
||||
|
||||
<!-- ============ open graph tags ========== -->
|
||||
<meta property="og:title" content="{{ $title }}"/>
|
||||
<meta property="og:type" content="{{ $type }}"/>
|
||||
<meta property="og:description" content="{{ $description }}"/>
|
||||
<meta property="og:image" content="{{ $image | absURL }}">
|
||||
<meta property="og:url" content="{{ $url }}">
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user