Compare commits
198 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 |
@@ -6,8 +6,8 @@ title: 'Feature Request'
|
|||||||
|
|
||||||
<!---
|
<!---
|
||||||
Before filing an issue, please review the following:
|
Before filing an issue, please review the following:
|
||||||
Existing Features: https://github.com/hossainemruz/toha#features
|
Existing Features: https://github.com/hugo-toha/toha#features
|
||||||
Project Roadmap: https://github.com/hossainemruz/toha#project-roadmap
|
Project Roadmap: https://github.com/hugo-toha/toha#project-roadmap
|
||||||
-->
|
-->
|
||||||
|
|
||||||
### Describe the solution you'd like
|
### Describe the solution you'd like
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ categories:
|
|||||||
- 'feature'
|
- 'feature'
|
||||||
- 'enhancement'
|
- 'enhancement'
|
||||||
|
|
||||||
- title: 'New Translations'
|
- title: 'Translations'
|
||||||
label: 'translation'
|
label: 'translation'
|
||||||
|
|
||||||
- title: 'Bug Fixes'
|
- title: 'Bug Fixes'
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout to latest commit
|
- name: Checkout to latest commit
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v3.1.0
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v2.1.5
|
uses: actions/setup-node@v3
|
||||||
with:
|
with:
|
||||||
node-version: "15.x"
|
node-version: "15.x"
|
||||||
|
|
||||||
@@ -21,7 +21,7 @@ jobs:
|
|||||||
npm run autoprefixer
|
npm run autoprefixer
|
||||||
|
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@v3.10.0
|
uses: peter-evans/create-pull-request@v4
|
||||||
with:
|
with:
|
||||||
branch: autoprefixer
|
branch: autoprefixer
|
||||||
branch-suffix: timestamp
|
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
|
||||||
@@ -39,11 +39,11 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3.1.0
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v2
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||||
@@ -54,7 +54,7 @@ jobs:
|
|||||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
# 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)
|
# If this step fails, then you should remove it and run the build manually (see below)
|
||||||
- name: Autobuild
|
- name: Autobuild
|
||||||
uses: github/codeql-action/autobuild@v1
|
uses: github/codeql-action/autobuild@v2
|
||||||
|
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 https://git.io/JvXDl
|
||||||
@@ -68,4 +68,4 @@ jobs:
|
|||||||
# make release
|
# make release
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v2
|
||||||
|
|||||||
@@ -10,6 +10,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
# Create/Update release draft
|
# Create/Update release draft
|
||||||
- uses: release-drafter/release-drafter@v5.15.0
|
- uses: release-drafter/release-drafter@v5.21.1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
@@ -8,6 +8,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
# checkout to latest commit
|
# checkout to latest commit
|
||||||
- uses: actions/checkout@master
|
- uses: actions/checkout@v3.1.0
|
||||||
# run markdown linter
|
# run markdown linter
|
||||||
- uses: gaurav-nelson/github-action-markdown-link-check@1.0.12
|
- 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/
|
node_modules/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
.history/
|
.history/
|
||||||
resources/
|
resources/
|
||||||
|
public/
|
||||||
|
.hugo_build.lock
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
[](https://app.netlify.com/sites/toha/deploys)
|
[](https://app.netlify.com/sites/toha/deploys)
|
||||||
[](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main)
|
[](https://actions-badge.atrox.dev/hugo-toha/toha/goto?ref=main)
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
@@ -30,8 +30,16 @@ A [Hugo](https://gohugo.io/) theme for a personal portfolio with minimalist desi
|
|||||||
- Achievement Gallery
|
- Achievement Gallery
|
||||||
- Sidebar to Categorize the Posts
|
- Sidebar to Categorize the Posts
|
||||||
- Short Codes
|
- Short Codes
|
||||||
- Google Analytics Support
|
- Analytics Support
|
||||||
- Disqus Comment 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/).
|
For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/).
|
||||||
|
|
||||||
@@ -49,7 +57,11 @@ For more details about the features please visit [here](https://toha-guides.netl
|
|||||||
- 日本語
|
- 日本語
|
||||||
- 한국어
|
- 한국어
|
||||||
- русский
|
- русский
|
||||||
|
- suomi
|
||||||
- Tiếng Việt
|
- 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).
|
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).
|
||||||
|
|
||||||
@@ -71,7 +83,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- Hugo Version 0.68.0 or higher
|
- Hugo Version 0.87.0 or higher
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -137,6 +149,9 @@ params:
|
|||||||
# specify whether you want to show Table of Contents in reading page
|
# specify whether you want to show Table of Contents in reading page
|
||||||
enableTOC: true
|
enableTOC: true
|
||||||
|
|
||||||
|
# specify whether you want the language flags to be displayed.
|
||||||
|
showFlags: true
|
||||||
|
|
||||||
# Provide newsletter configuration.
|
# Provide newsletter configuration.
|
||||||
# This feature has been implemented for Mailchimp only for now.
|
# This feature has been implemented for Mailchimp only for now.
|
||||||
# You can also hide it from the footer.
|
# You can also hide it from the footer.
|
||||||
@@ -165,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.
|
Here, are some handy shortcodes you can use with this theme.
|
||||||
|
|
||||||
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/)
|
- [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
|
||||||
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/)
|
- [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
|
||||||
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/)
|
- [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
|
||||||
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/)
|
- [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
|
## Project Roadmap
|
||||||
|
|
||||||
@@ -230,13 +247,14 @@ Here is the check list for portfolio mode,
|
|||||||
|
|
||||||
- [ ] **Publications**
|
- [ ] **Publications**
|
||||||
|
|
||||||
- [ ] Category Filter
|
- [x] Category Filter
|
||||||
- [ ] Card
|
- [x] Card
|
||||||
- [ ] Abstract
|
- [x] Tags
|
||||||
- [ ] Authors
|
- [x] Links
|
||||||
- [ ] Tags
|
- [ ] Dedicated Page
|
||||||
- [ ] Links
|
- [ ] Abstract
|
||||||
- [ ] Gallery
|
- [ ] Authors
|
||||||
|
- [ ] Gallery
|
||||||
|
|
||||||
- [x] **Accomplishment / Courses**
|
- [x] **Accomplishment / Courses**
|
||||||
|
|
||||||
|
|||||||
+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 = "بحث"
|
||||||
+13
-1
@@ -8,6 +8,12 @@ other = "পোষ্ট সমূহ"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "সুচিপত্র"
|
other = "সুচিপত্র"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "ট্যাগ সমুহ"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "বিভাগ সমুহ"
|
||||||
|
|
||||||
[resume]
|
[resume]
|
||||||
other = "আমার জীবনবৃত্তান্ত"
|
other = "আমার জীবনবৃত্তান্ত"
|
||||||
|
|
||||||
@@ -30,7 +36,7 @@ other = "ইমেইল নোটিফিকেশান এর মাধ্
|
|||||||
other = "ইমেইল প্রবেশ করান"
|
other = "ইমেইল প্রবেশ করান"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "আমরা আপনার ইমেল অন্য কারও সাথে শেয়ার করব না।"
|
other = "আপনার ইমেইল ঠিকানা প্রবেশের মাধমে আপনি এই ওয়েবসাইটের নিউজ লেটার পেতে সম্মত হচ্ছেন।"
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "জমা দিন"
|
other = "জমা দিন"
|
||||||
@@ -44,6 +50,9 @@ other = "পূর্ববর্তী"
|
|||||||
[next]
|
[next]
|
||||||
other = "পরবর্তী"
|
other = "পরবর্তী"
|
||||||
|
|
||||||
|
[share_on]
|
||||||
|
other = "শেয়ার করুন"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "এই পৃষ্ঠাটি উন্নত করুন"
|
other = "এই পৃষ্ঠাটি উন্নত করুন"
|
||||||
|
|
||||||
@@ -109,3 +118,6 @@ other = "নোট সমূহ"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "দায় বিজ্ঞপ্তি"
|
other = "দায় বিজ্ঞপ্তি"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "অনুসন্ধান করুন"
|
||||||
|
|||||||
+16
-4
@@ -8,6 +8,12 @@ other = "Beiträge"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Inhaltsverzeichnis"
|
other = "Inhaltsverzeichnis"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Stichworte"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Kategorien"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "bei"
|
other = "bei"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
|
|||||||
other = "E-Mail Adresse eingeben"
|
other = "E-Mail Adresse eingeben"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "Wir geben deine E-Mail Adresse nicht an Dritte weiter."
|
other = "Mit der Eingabe Ihrer E-Mail-Adresse erklären Sie sich damit einverstanden, den Newsletter dieser Website zu erhalten."
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "Absenden"
|
other = "Absenden"
|
||||||
@@ -47,6 +53,9 @@ other = "Vorherige"
|
|||||||
[next]
|
[next]
|
||||||
other = "Nächste"
|
other = "Nächste"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Diese Seite verbessern"
|
other = "Diese Seite verbessern"
|
||||||
|
|
||||||
@@ -63,10 +72,10 @@ other = "Belegte Kurse"
|
|||||||
other = "Kursname"
|
other = "Kursname"
|
||||||
|
|
||||||
[total_credit]
|
[total_credit]
|
||||||
other = "Gesamtguthaben"
|
other = "Mögliche Punktzahl"
|
||||||
|
|
||||||
[obtained_credit]
|
[obtained_credit]
|
||||||
other = "Erhaltenes Guthaben"
|
other = "Note"
|
||||||
|
|
||||||
[extracurricular_activities]
|
[extracurricular_activities]
|
||||||
other = "Außerschulische Aktivitäten"
|
other = "Außerschulische Aktivitäten"
|
||||||
@@ -99,7 +108,7 @@ other = "Star"
|
|||||||
other = "Details"
|
other = "Details"
|
||||||
|
|
||||||
[err_404]
|
[err_404]
|
||||||
other = "Die Seite nach der Seite ist noch nicht vorhanden."
|
other = "Die von Ihnen gesuchte Seite ist noch nicht vorhanden."
|
||||||
|
|
||||||
[more]
|
[more]
|
||||||
other = "Mehr"
|
other = "Mehr"
|
||||||
@@ -112,3 +121,6 @@ other = "Notizen"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Haftungshinweis"
|
other = "Haftungshinweis"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Suche"
|
||||||
|
|||||||
+13
-1
@@ -8,6 +8,12 @@ other = "Posts"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Table of Contents"
|
other = "Table of Contents"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Tags"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Categories"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "at"
|
other = "at"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "Stay up to date with email notification"
|
|||||||
other = "Enter email"
|
other = "Enter email"
|
||||||
|
|
||||||
[newsletter_warning]
|
[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]
|
[submit]
|
||||||
other = "Submit"
|
other = "Submit"
|
||||||
@@ -47,6 +53,9 @@ other = "Prev"
|
|||||||
[next]
|
[next]
|
||||||
other = "Next"
|
other = "Next"
|
||||||
|
|
||||||
|
[share_on]
|
||||||
|
other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Improve this page"
|
other = "Improve this page"
|
||||||
|
|
||||||
@@ -112,3 +121,6 @@ other = "Notes"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Liability Notice"
|
other = "Liability Notice"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Search"
|
||||||
|
|||||||
+29
-17
@@ -8,6 +8,12 @@ other = "Posts"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Contenido"
|
other = "Contenido"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Etiquetas"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Categorías"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "en"
|
other = "en"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "Subscribirse"
|
|||||||
other = "Ingrese email"
|
other = "Ingrese email"
|
||||||
|
|
||||||
[newsletter_warning]
|
[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]
|
[submit]
|
||||||
other = "Enviar"
|
other = "Enviar"
|
||||||
@@ -47,6 +53,9 @@ other = "Anterior"
|
|||||||
[next]
|
[next]
|
||||||
other = "Siguiente"
|
other = "Siguiente"
|
||||||
|
|
||||||
|
[share_on]
|
||||||
|
other = "Compartir en"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Mejorar esta página"
|
other = "Mejorar esta página"
|
||||||
|
|
||||||
@@ -77,29 +86,29 @@ other = "Ver más"
|
|||||||
[show_less]
|
[show_less]
|
||||||
other = "Muestra menos"
|
other = "Muestra menos"
|
||||||
|
|
||||||
# [responsibilities]
|
[responsibilities]
|
||||||
# other = "Responsibilities:"
|
other = "Responsabilidades:"
|
||||||
|
|
||||||
# [present]
|
[present]
|
||||||
# other = "Present"
|
other = "Presente"
|
||||||
|
|
||||||
# [comments_javascript]
|
[comments_javascript]
|
||||||
# other = "Please enable JavaScript to view the"
|
other = "Por favor, activa JavaScript para ver el"
|
||||||
|
|
||||||
# [comments_by]
|
[comments_by]
|
||||||
# other = "comments powered by"
|
other = "comentarios cortesía de"
|
||||||
|
|
||||||
# [read]
|
[read]
|
||||||
# other = "Read"
|
other = "Leer"
|
||||||
|
|
||||||
# [project_star]
|
[project_star]
|
||||||
# other = "Star"
|
other = "Favorito"
|
||||||
|
|
||||||
# [project_details]
|
[project_details]
|
||||||
# other = "Details"
|
other = "Detalles"
|
||||||
|
|
||||||
# [err_404]
|
[err_404]
|
||||||
# other = "The page you are looking for is not there yet."
|
other = "La página que estás buscando no está aquí (todavía)"
|
||||||
|
|
||||||
[more]
|
[more]
|
||||||
other = "Más"
|
other = "Más"
|
||||||
@@ -112,3 +121,6 @@ other = "Notas"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Aviso de responsabilidad"
|
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"
|
||||||
+31
-19
@@ -3,16 +3,22 @@
|
|||||||
other = "Accueil"
|
other = "Accueil"
|
||||||
|
|
||||||
[posts]
|
[posts]
|
||||||
other = "Des postes"
|
other = "Articles"
|
||||||
|
|
||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Table des matières"
|
other = "Table des matières"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Mots clés"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Catégories"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "chez"
|
other = "chez"
|
||||||
|
|
||||||
[resume]
|
[resume]
|
||||||
other = "Mon Curriculum vitæ"
|
other = "Mon Curriculum Vitæ"
|
||||||
|
|
||||||
[navigation]
|
[navigation]
|
||||||
other = "Navigation"
|
other = "Navigation"
|
||||||
@@ -33,7 +39,7 @@ other = "Restez à jour par e-mail"
|
|||||||
other = "Entrez une adresse e-mail"
|
other = "Entrez une adresse e-mail"
|
||||||
|
|
||||||
[newsletter_warning]
|
[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]
|
[submit]
|
||||||
other = "Envoyer"
|
other = "Envoyer"
|
||||||
@@ -47,6 +53,9 @@ other = "Précédent"
|
|||||||
[next]
|
[next]
|
||||||
other = "Suivant"
|
other = "Suivant"
|
||||||
|
|
||||||
|
[share_on]
|
||||||
|
other = "Partager sur"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Améliorez cette page"
|
other = "Améliorez cette page"
|
||||||
|
|
||||||
@@ -57,10 +66,10 @@ other = "sur"
|
|||||||
other = "Publications"
|
other = "Publications"
|
||||||
|
|
||||||
[taken_courses]
|
[taken_courses]
|
||||||
other = "Taken Courses"
|
other = "Cours suivis"
|
||||||
|
|
||||||
[course_name]
|
[course_name]
|
||||||
other = "Cours suivis"
|
other = "Intitulé du cours"
|
||||||
|
|
||||||
[total_credit]
|
[total_credit]
|
||||||
other = "Crédit total"
|
other = "Crédit total"
|
||||||
@@ -77,29 +86,29 @@ other = "En savoir plus"
|
|||||||
[show_less]
|
[show_less]
|
||||||
other = "Montrer moins"
|
other = "Montrer moins"
|
||||||
|
|
||||||
# [responsibilities]
|
[responsibilities]
|
||||||
# other = "Responsibilities:"
|
other = "Responsabilitiés :"
|
||||||
|
|
||||||
# [present]
|
[present]
|
||||||
# other = "Present"
|
other = "Aujourd'hui"
|
||||||
|
|
||||||
# [comments_javascript]
|
[comments_javascript]
|
||||||
# other = "Please enable JavaScript to view the"
|
other = "Merci d'activer JavaScript pour voir le"
|
||||||
|
|
||||||
# [comments_by]
|
[comments_by]
|
||||||
# other = "comments powered by"
|
other = "commentaires fournis par"
|
||||||
|
|
||||||
# [read]
|
[read]
|
||||||
# other = "Read"
|
other = "Lire"
|
||||||
|
|
||||||
# [project_star]
|
# [project_star]
|
||||||
# other = "Star"
|
# other = "Star"
|
||||||
|
|
||||||
# [project_details]
|
[project_details]
|
||||||
# other = "Details"
|
other = "Détails"
|
||||||
|
|
||||||
# [err_404]
|
[err_404]
|
||||||
# other = "The page you are looking for is not there yet."
|
other = "La page que vous recherchez n'est pas disponible."
|
||||||
|
|
||||||
[more]
|
[more]
|
||||||
other = "Suite"
|
other = "Suite"
|
||||||
@@ -112,3 +121,6 @@ other = "Remarques"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Avis de responsabilité"
|
other = "Avis de responsabilité"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Chercher"
|
||||||
|
|||||||
+13
-1
@@ -8,6 +8,12 @@ other = "पोस्ट"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "विषयसूची"
|
other = "विषयसूची"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "टैग"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "श्रेणियाँ"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "अन्य"
|
other = "अन्य"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "ईमेल अधिसूचना से अवगत रहें"
|
|||||||
other = "ईमेल दर्ज करें"
|
other = "ईमेल दर्ज करें"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "हम आपके ईमेल को कभी भी किसी और के साथ साझा नहीं करेंगे"
|
other = "अपना ईमेल पता दर्ज करके, आप इस वेबसाइट का न्यूज़लेटर प्राप्त करने के लिए सहमत होते हैं।"
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "जमा करें"
|
other = "जमा करें"
|
||||||
@@ -47,6 +53,9 @@ other = "पिछला"
|
|||||||
[next]
|
[next]
|
||||||
other = "आगे"
|
other = "आगे"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "इस पृष्ठ को सुधारें"
|
other = "इस पृष्ठ को सुधारें"
|
||||||
|
|
||||||
@@ -112,3 +121,6 @@ other = "टिप्पणियाँ"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "दायित्व सूचना"
|
other = "दायित्व सूचना"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "खोज"
|
||||||
|
|||||||
+13
-1
@@ -8,6 +8,12 @@ other = "Artikel"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Daftar Isi"
|
other = "Daftar Isi"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Tags"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Kategori"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "at"
|
other = "at"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "Ingin selalu update dengan notifikasi email"
|
|||||||
other = "Masukkan email"
|
other = "Masukkan email"
|
||||||
|
|
||||||
[newsletter_warning]
|
[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]
|
[submit]
|
||||||
other = "Kirim"
|
other = "Kirim"
|
||||||
@@ -47,6 +53,9 @@ other = "Sebelumnya"
|
|||||||
[next]
|
[next]
|
||||||
other = "Lanjut"
|
other = "Lanjut"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Perbaiki halaman ini"
|
other = "Perbaiki halaman ini"
|
||||||
|
|
||||||
@@ -112,3 +121,6 @@ other = "Catatan"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Pemberitahuan Kewajiban"
|
other = "Pemberitahuan Kewajiban"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Mencari"
|
||||||
|
|||||||
+14
-2
@@ -8,6 +8,12 @@ other = "Post"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Contenuti"
|
other = "Contenuti"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Tags"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Categorie"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "presso"
|
other = "presso"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "Resta aggiornato con la notifica di email"
|
|||||||
other = "Inserisci l'email"
|
other = "Inserisci l'email"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "Non condivideremo l'email con altri."
|
other = "Inserendo il tuo indirizzo email, accetti di ricevere la newsletter di questo sito."
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "Invia"
|
other = "Invia"
|
||||||
@@ -47,6 +53,9 @@ other = "Precedente"
|
|||||||
[next]
|
[next]
|
||||||
other = "Successivo"
|
other = "Successivo"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Migliora questa pagina"
|
other = "Migliora questa pagina"
|
||||||
|
|
||||||
@@ -105,10 +114,13 @@ other = "Mostra meno"
|
|||||||
other = "Di più"
|
other = "Di più"
|
||||||
|
|
||||||
[view_certificate]
|
[view_certificate]
|
||||||
other = "Féach ar an Teastas"
|
other = "Vedi certificato"
|
||||||
|
|
||||||
[notes]
|
[notes]
|
||||||
other = "Appunti"
|
other = "Appunti"
|
||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Avviso di responsabilità"
|
other = "Avviso di responsabilità"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Ricerca"
|
||||||
|
|||||||
+13
-1
@@ -8,6 +8,12 @@ other = "記事"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "目次"
|
other = "目次"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "タグ"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "カテゴリ"
|
||||||
|
|
||||||
[resume]
|
[resume]
|
||||||
other = "職務経歴書"
|
other = "職務経歴書"
|
||||||
|
|
||||||
@@ -30,7 +36,7 @@ other = "メールで最新情報を受け取る"
|
|||||||
other = "ここにメールアドレスを入力"
|
other = "ここにメールアドレスを入力"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "ご入力いただいたメールアドレスが他人に開示されることは決してございません。"
|
other = "メールアドレスを入力すると、このウェブサイトのニュースレターを受け取ることに同意したことになります。"
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "登録"
|
other = "登録"
|
||||||
@@ -44,6 +50,9 @@ other = "前"
|
|||||||
[next]
|
[next]
|
||||||
other = "次"
|
other = "次"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "編集リクエストを送る"
|
other = "編集リクエストを送る"
|
||||||
|
|
||||||
@@ -109,3 +118,6 @@ other = "ノート"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "責任通知"
|
other = "責任通知"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "検索"
|
||||||
|
|||||||
+13
-1
@@ -8,6 +8,12 @@ other = "게시글"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "목차"
|
other = "목차"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "태그"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "카테고리"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "at"
|
other = "at"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "이메일 알림으로 최신 상태를 유지해보세요"
|
|||||||
other = "이메일을 입력하세요"
|
other = "이메일을 입력하세요"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "이메일을 다른 목적으로 사용하지 않습니다."
|
other = "이메일 주소를 입력하면이 웹 사이트의 뉴스 레터 수신에 동의하는 것입니다."
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "제출"
|
other = "제출"
|
||||||
@@ -47,6 +53,9 @@ other = "이전"
|
|||||||
[next]
|
[next]
|
||||||
other = "다음"
|
other = "다음"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "이 페이지를 개선"
|
other = "이 페이지를 개선"
|
||||||
|
|
||||||
@@ -112,3 +121,6 @@ other = "메모"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "책임 고지"
|
other = "책임 고지"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "찾다"
|
||||||
|
|||||||
+38
-26
@@ -1,53 +1,62 @@
|
|||||||
[home]
|
[home]
|
||||||
other = "Startseite"
|
other = "Hoofdpagina"
|
||||||
|
|
||||||
[posts]
|
[posts]
|
||||||
other = "Beiträge"
|
other = "Posts"
|
||||||
|
|
||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Inhaltsverzeichnis"
|
other = "Inhoudsopgave"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Tags"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Categorieën"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "bei"
|
other = "bij"
|
||||||
|
|
||||||
[resume]
|
[resume]
|
||||||
other = "Mein Lebenslauf"
|
other = "Curriculum Vitae"
|
||||||
|
|
||||||
[navigation]
|
[navigation]
|
||||||
other = "Navigation"
|
other = "Navigatie"
|
||||||
|
|
||||||
[contact_me]
|
[contact_me]
|
||||||
other = "Kontakt aufnehmen"
|
other = "Contactgegevens"
|
||||||
|
|
||||||
[email]
|
[email]
|
||||||
other = "E-Mail"
|
other = "E-Mail"
|
||||||
|
|
||||||
[phone]
|
[phone]
|
||||||
other = "Telefon"
|
other = "Telefoon"
|
||||||
|
|
||||||
[newsletter_text]
|
[newsletter_text]
|
||||||
other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
|
other = "Ontvang updates via email"
|
||||||
|
|
||||||
[newsletter_input_placeholder]
|
[newsletter_input_placeholder]
|
||||||
other = "E-Mail-Adresse eingeben"
|
other = "Email ingeven"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "Wir werden Ihre E-Mail-Adresse nicht an Dritte weitergeben."
|
other = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website."
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "Absenden"
|
other = "Opslaan"
|
||||||
|
|
||||||
[hugoAttributionText]
|
[hugoAttributionText]
|
||||||
other = "Unterstützt von"
|
other = "Mogelijk gemaakt met"
|
||||||
|
|
||||||
[prev]
|
[prev]
|
||||||
other = "Vorherige"
|
other = "Vorige"
|
||||||
|
|
||||||
[next]
|
[next]
|
||||||
other = "Nächste"
|
other = "Volgende"
|
||||||
|
|
||||||
|
[share_on]
|
||||||
|
other = "Delen op"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Diese Seite verbessern"
|
other = "Deze pagina verbeteren"
|
||||||
|
|
||||||
[out_of]
|
[out_of]
|
||||||
other = "van de"
|
other = "van de"
|
||||||
@@ -56,7 +65,7 @@ other = "van de"
|
|||||||
other = "Publicaties"
|
other = "Publicaties"
|
||||||
|
|
||||||
[taken_courses]
|
[taken_courses]
|
||||||
other = "Cursussen gevolgd"
|
other = "Gevolgde cursussen"
|
||||||
|
|
||||||
[course_name]
|
[course_name]
|
||||||
other = "Cursus naam"
|
other = "Cursus naam"
|
||||||
@@ -76,11 +85,11 @@ other = "Bekijk meer"
|
|||||||
[show_less]
|
[show_less]
|
||||||
other = "Laat minder zien"
|
other = "Laat minder zien"
|
||||||
|
|
||||||
# [responsibilities]
|
[responsibilities]
|
||||||
# other = "Responsibilities:"
|
other = "Verantwoordelijkheden:"
|
||||||
|
|
||||||
# [present]
|
[present]
|
||||||
# other = "Present"
|
other = "Heden"
|
||||||
|
|
||||||
# [comments_javascript]
|
# [comments_javascript]
|
||||||
# other = "Please enable JavaScript to view the"
|
# other = "Please enable JavaScript to view the"
|
||||||
@@ -94,11 +103,11 @@ other = "Laat minder zien"
|
|||||||
# [project_star]
|
# [project_star]
|
||||||
# other = "Star"
|
# other = "Star"
|
||||||
|
|
||||||
# [project_details]
|
[project_details]
|
||||||
# other = "Details"
|
other = "Details"
|
||||||
|
|
||||||
# [err_404]
|
[err_404]
|
||||||
# other = "The page you are looking for is not there yet."
|
other = "De pagina waar je voor zoekt bestaat nog niet."
|
||||||
|
|
||||||
[more]
|
[more]
|
||||||
other = "Meer"
|
other = "Meer"
|
||||||
@@ -110,4 +119,7 @@ other = "Bekijk certificaat"
|
|||||||
other = "Opmerkingen"
|
other = "Opmerkingen"
|
||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Haftungshinweis"
|
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"
|
||||||
+13
-1
@@ -8,6 +8,12 @@ other = "Посты"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Оглавление"
|
other = "Оглавление"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Теги"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Категории"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "в"
|
other = "в"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "Подпишитесь на уведомления, чтобы не п
|
|||||||
other = "Введите email"
|
other = "Введите email"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "Ваши данные в безопасности"
|
other = "Вводя свой адрес электронной почты, вы соглашаетесь получать информационный бюллетень этого веб-сайта."
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "Подтвердить"
|
other = "Подтвердить"
|
||||||
@@ -47,6 +53,9 @@ other = "Предыдущий"
|
|||||||
[next]
|
[next]
|
||||||
other = "Следующий"
|
other = "Следующий"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Улучшить эту страницу"
|
other = "Улучшить эту страницу"
|
||||||
|
|
||||||
@@ -112,3 +121,6 @@ other = "Ноты"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Уведомление об ответственности"
|
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"
|
||||||
+13
-1
@@ -8,6 +8,12 @@ other = "Bài viết"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Mục lục"
|
other = "Mục lục"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "Thẻ"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "Thể loại"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "tại"
|
other = "tại"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "Nhận email cập nhật thông tin"
|
|||||||
other = "Nhập email"
|
other = "Nhập email"
|
||||||
|
|
||||||
[newsletter_warning]
|
[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]
|
[submit]
|
||||||
other = "Gửi"
|
other = "Gửi"
|
||||||
@@ -47,6 +53,9 @@ other = "Trước"
|
|||||||
[next]
|
[next]
|
||||||
other = "Tiếp theo"
|
other = "Tiếp theo"
|
||||||
|
|
||||||
|
# [share_on]
|
||||||
|
# other = "Share on"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "Cải thiện trang này"
|
other = "Cải thiện trang này"
|
||||||
|
|
||||||
@@ -112,3 +121,6 @@ other = "Ghi chú"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Thông báo trách nhiệm"
|
other = "Thông báo trách nhiệm"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Tìm kiếm"
|
||||||
|
|||||||
@@ -8,6 +8,12 @@ other = "博文"
|
|||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "目录"
|
other = "目录"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
other = "标签"
|
||||||
|
|
||||||
|
[categories]
|
||||||
|
other = "类别"
|
||||||
|
|
||||||
[at]
|
[at]
|
||||||
other = "at"
|
other = "at"
|
||||||
|
|
||||||
@@ -33,7 +39,7 @@ other = "通过电子邮件接收最新信息"
|
|||||||
other = "填入 E-mail"
|
other = "填入 E-mail"
|
||||||
|
|
||||||
[newsletter_warning]
|
[newsletter_warning]
|
||||||
other = "我们绝不会与任何人共享您的电子邮件。"
|
other = "输入您的电子邮件地址,即表示您同意接收本网站的时事通讯"
|
||||||
|
|
||||||
[submit]
|
[submit]
|
||||||
other = "提交"
|
other = "提交"
|
||||||
@@ -47,6 +53,9 @@ other = "上一篇"
|
|||||||
[next]
|
[next]
|
||||||
other = "下一篇"
|
other = "下一篇"
|
||||||
|
|
||||||
|
[share_on]
|
||||||
|
other = "分享"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "改善此页面"
|
other = "改善此页面"
|
||||||
|
|
||||||
@@ -77,29 +86,29 @@ other = "查看更多"
|
|||||||
[show_less]
|
[show_less]
|
||||||
other = "显示较少"
|
other = "显示较少"
|
||||||
|
|
||||||
# [responsibilities]
|
[responsibilities]
|
||||||
# other = "Responsibilities:"
|
other = "职责:"
|
||||||
|
|
||||||
# [present]
|
[present]
|
||||||
# other = "Present"
|
other = "至今"
|
||||||
|
|
||||||
# [comments_javascript]
|
[comments_javascript]
|
||||||
# other = "Please enable JavaScript to view the"
|
other = "请启用 JavaScript 以查看"
|
||||||
|
|
||||||
# [comments_by]
|
[comments_by]
|
||||||
# other = "comments powered by"
|
other = "评论支持 by"
|
||||||
|
|
||||||
# [read]
|
[read]
|
||||||
# other = "Read"
|
other = "阅读"
|
||||||
|
|
||||||
# [project_star]
|
[project_star]
|
||||||
# other = "Star"
|
other = "Star"
|
||||||
|
|
||||||
# [project_details]
|
[project_details]
|
||||||
# other = "Details"
|
other = "详情"
|
||||||
|
|
||||||
# [err_404]
|
[err_404]
|
||||||
# other = "The page you are looking for is not there yet."
|
other = "您查找的页面已私奔。"
|
||||||
|
|
||||||
[more]
|
[more]
|
||||||
other = "更多的"
|
other = "更多的"
|
||||||
@@ -111,4 +120,7 @@ other = "查看证书"
|
|||||||
other = "笔记"
|
other = "笔记"
|
||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "责任通知"
|
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 = "搜索"
|
||||||
@@ -9,10 +9,9 @@
|
|||||||
<!------ ADD PAGE SPECIFIC HEADERS ------->
|
<!------ ADD PAGE SPECIFIC HEADERS ------->
|
||||||
{{ block "header" . }} {{ end }}
|
{{ block "header" . }} {{ end }}
|
||||||
|
|
||||||
<!-- ADD GOOGLE ANALYTICS IF ENABLED -->
|
<!--================= add analytics if enabled =========================-->
|
||||||
{{ if site.GoogleAnalytics }}
|
{{- partial "analytics.html" . -}}
|
||||||
{{ template "_internal/google_analytics_async.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
|
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
|
||||||
@@ -39,5 +38,9 @@
|
|||||||
|
|
||||||
<!------- ADD PAGE SPECIFIC SCRIPTS ------>
|
<!------- ADD PAGE SPECIFIC SCRIPTS ------>
|
||||||
{{ block "scripts" . }} {{ end }}
|
{{ block "scripts" . }} {{ end }}
|
||||||
|
|
||||||
|
<!------ IF WANTED, ADD SUPPORT LINKS -------->
|
||||||
|
{{- partial "misc/support.html" . -}}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
{{ define "header" }}
|
{{ define "header" }}
|
||||||
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
||||||
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
||||||
|
<!--================= custom style overrides =========================-->
|
||||||
|
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "navbar" }}
|
{{ define "navbar" }}
|
||||||
@@ -17,7 +20,7 @@
|
|||||||
<div class="sidebar-holder">
|
<div class="sidebar-holder">
|
||||||
<div class="sidebar" id="sidebar">
|
<div class="sidebar" id="sidebar">
|
||||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||||
</form>
|
</form>
|
||||||
<div class="sidebar-tree">
|
<div class="sidebar-tree">
|
||||||
<ul class="tree" id="tree">
|
<ul class="tree" id="tree">
|
||||||
|
|||||||
@@ -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" }}
|
{{ define "header" }}
|
||||||
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "/css/layouts/list.css" | relURL }}">
|
||||||
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL}}">
|
||||||
|
<!--================= custom style overrides =========================-->
|
||||||
|
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "navbar" }}
|
{{ define "navbar" }}
|
||||||
@@ -17,7 +20,7 @@
|
|||||||
<div class="sidebar-holder">
|
<div class="sidebar-holder">
|
||||||
<div class="sidebar" id="sidebar">
|
<div class="sidebar" id="sidebar">
|
||||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||||
</form>
|
</form>
|
||||||
<div class="sidebar-tree">
|
<div class="sidebar-tree">
|
||||||
<ul class="tree" id="tree">
|
<ul class="tree" id="tree">
|
||||||
|
|||||||
+111
-11
@@ -6,6 +6,9 @@
|
|||||||
/>
|
/>
|
||||||
<link rel="stylesheet" href="{{ "/css/layouts/single.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/layouts/single.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL }}">
|
<link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL }}">
|
||||||
|
<!--================= custom style overrides =========================-->
|
||||||
|
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||||
|
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ define "navbar" }}
|
{{ define "navbar" }}
|
||||||
@@ -17,7 +20,7 @@
|
|||||||
<div class="sidebar-holder">
|
<div class="sidebar-holder">
|
||||||
<div class="sidebar" id="sidebar">
|
<div class="sidebar" id="sidebar">
|
||||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||||
</form>
|
</form>
|
||||||
<div class="sidebar-tree">
|
<div class="sidebar-tree">
|
||||||
<ul class="tree" id="tree">
|
<ul class="tree" id="tree">
|
||||||
@@ -37,7 +40,7 @@
|
|||||||
<div class="content">
|
<div class="content">
|
||||||
<div class="container p-0 read-area">
|
<div class="container p-0 read-area">
|
||||||
<!--Hero 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>
|
</div>
|
||||||
|
|
||||||
<!--Content Start-->
|
<!--Content Start-->
|
||||||
@@ -45,35 +48,124 @@
|
|||||||
<div class="author-profile ml-auto align-self-lg-center">
|
<div class="author-profile ml-auto align-self-lg-center">
|
||||||
<img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}' alt="Author Image">
|
<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>
|
<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>
|
||||||
|
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<h1>{{ .Page.Title }}</h1>
|
<h1>{{ .Page.Title }}</h1>
|
||||||
</div>
|
</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">
|
<div class="post-content" id="post-content">
|
||||||
{{ .Page.Content }}
|
{{ .Page.Content }}
|
||||||
</div>
|
</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 --->
|
<!--- Improve this page button --->
|
||||||
{{ if site.Params.GitRepo }}
|
{{ if site.Params.GitRepo }}
|
||||||
<div class="btn-improve-page">
|
{{ if site.Params.GitBranch }}
|
||||||
<a href="{{ site.Params.GitRepo }}/edit/{{ site.Params.GitBranch }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
{{ .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>
|
<i class="fas fa-code-branch"></i>
|
||||||
{{ i18n "improve_this_page" }}
|
{{ i18n "improve_this_page" }}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
|
||||||
<!---Next and Previous Navigator -->
|
|
||||||
|
|
||||||
|
<!---Next and Previous Navigator -->
|
||||||
<hr />
|
<hr />
|
||||||
{{ partial "navigators/next-prev-navigator.html" . }}
|
{{ partial "navigators/next-prev-navigator.html" . }}
|
||||||
<hr />
|
<hr />
|
||||||
<!-- Add Disqus forum -->
|
|
||||||
{{ if site.DisqusShortname }}
|
<!----- Add comment support ----->
|
||||||
{{ partial "disqus.html" . }}
|
{{ if site.Params.features.comment.enable }}
|
||||||
|
{{ partial "comments.html" site.Params.features.comment }}
|
||||||
{{ end }}
|
{{ 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>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -87,7 +179,7 @@
|
|||||||
|
|
||||||
{{ define "toc" }}
|
{{ define "toc" }}
|
||||||
<section class="toc-section" id="toc-section">
|
<section class="toc-section" id="toc-section">
|
||||||
{{ if site.Params.enableTOC }}
|
{{ if and site.Params.enableTOC ( .Params.enableTOC | default true ) }}
|
||||||
<div class="toc-holder">
|
<div class="toc-holder">
|
||||||
<h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5>
|
<h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5>
|
||||||
<hr>
|
<hr>
|
||||||
@@ -105,7 +197,15 @@
|
|||||||
<script>
|
<script>
|
||||||
hljs.initHighlightingOnLoad();
|
hljs.initHighlightingOnLoad();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<!-------------- Enable Math support for this page ---------------->
|
||||||
{{ if .Params.math }}
|
{{ if .Params.math }}
|
||||||
{{ partial "math.html" . }}
|
{{ partial "math.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
<!-------------- Enable mermaid support for this page ---------------->
|
||||||
|
{{ if .Params.mermaid }}
|
||||||
|
{{ partial "mermaid.html" . }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
{{ 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 }}
|
||||||
+10
-4
@@ -25,11 +25,13 @@
|
|||||||
<link rel="stylesheet" href="{{ "/css/sections/recent-posts.css" | relURL }}"/>
|
<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/achievements.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/css/sections/accomplishments.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 -->
|
<!--================= add analytics if enabled =========================-->
|
||||||
{{ if site.GoogleAnalytics }}
|
{{- partial "analytics.html" . -}}
|
||||||
{{ template "_internal/google_analytics_async.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
</head>
|
</head>
|
||||||
<body data-spy="scroll" data-target="#top-navbar" data-offset="100">
|
<body data-spy="scroll" data-target="#top-navbar" data-offset="100">
|
||||||
|
|
||||||
@@ -78,5 +80,9 @@
|
|||||||
<script src="{{ "/js/github-button.js" | relURL }}"></script>
|
<script src="{{ "/js/github-button.js" | relURL }}"></script>
|
||||||
<script src="{{ "/js/home.js" | relURL }}"></script>
|
<script src="{{ "/js/home.js" | relURL }}"></script>
|
||||||
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
|
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
|
||||||
|
|
||||||
|
<!------ ADD SUPPORT LINKS -------->
|
||||||
|
{{- partial "misc/support.html" . -}}
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<div class="sidebar-holder">
|
<div class="sidebar-holder">
|
||||||
<div class="sidebar" id="sidebar">
|
<div class="sidebar" id="sidebar">
|
||||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||||
</form>
|
</form>
|
||||||
<div class="sidebar-tree">
|
<div class="sidebar-tree">
|
||||||
<ul class="tree" id="tree">
|
<ul class="tree" id="tree">
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<div class="sidebar-holder">
|
<div class="sidebar-holder">
|
||||||
<div class="sidebar" id="sidebar">
|
<div class="sidebar" id="sidebar">
|
||||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||||
</form>
|
</form>
|
||||||
<div class="sidebar-tree">
|
<div class="sidebar-tree">
|
||||||
<ul class="tree" id="tree">
|
<ul class="tree" id="tree">
|
||||||
|
|||||||
@@ -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 }}
|
||||||
@@ -11,7 +11,10 @@
|
|||||||
|
|
||||||
{{ $logoImage:= resources.Get .logo}}
|
{{ $logoImage:= resources.Get .logo}}
|
||||||
{{ if $logoImage }}
|
{{ 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 }}" />
|
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||||
{{ end }}
|
{{ 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>
|
||||||
@@ -4,15 +4,19 @@
|
|||||||
<div class="card-head d-flex">
|
<div class="card-head d-flex">
|
||||||
{{ if .logo }}
|
{{ if .logo }}
|
||||||
{{ $logoImage := resources.Get .logo }}
|
{{ $logoImage := resources.Get .logo }}
|
||||||
|
|
||||||
{{/* svg don't support "Fit" operation */}}
|
{{/* svg don't support "Fit" operation */}}
|
||||||
{{ if ne $logoImage.MediaType.SubType "svg" }}
|
{{ if ne $logoImage.MediaType.SubType "svg" }}
|
||||||
{{ $logoImage := $logoImage.Fit "24x24" }}
|
{{ $logoImage = $logoImage.Fit "24x24" }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
<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 }}
|
{{ end }}
|
||||||
<h5 class="card-title">{{ .name }}</h5>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<p class="card-text">{{ .summary | markdownify }}</p>
|
<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
|
|
||||||
>
|
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
{{/* variables for enabling/disabling parts of the footer */}}
|
{{/* variables for enabling/disabling parts of the footer */}}
|
||||||
{{ $footerEnabled := site.Params.footer.enable | default true }}
|
{{ $footerEnabled := site.Params.footer.enable | default true }}
|
||||||
{{ $navigationEnabled := site.Params.footer.navigation.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 }}
|
{{ $contactMeEnabled := site.Params.footer.contactMe.enable | default true }}
|
||||||
{{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }}
|
{{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }}
|
||||||
{{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }}
|
{{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }}
|
||||||
@@ -26,7 +27,12 @@
|
|||||||
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ $copyrightNotice := "© 2021 Copyright."}}
|
{{ $customMenus := site.Params.customMenus }}
|
||||||
|
{{ if (index site.Data site.Language.Lang).site.customMenus }}
|
||||||
|
{{ $customMenus = (index site.Data site.Language.Lang).site.customMenus }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $copyrightNotice := now.Format "2006" | printf "© %s Copyright."}}
|
||||||
{{ if (index site.Data site.Language.Lang).site }}
|
{{ if (index site.Data site.Language.Lang).site }}
|
||||||
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
||||||
{{ if $siteConfig.copyright }}
|
{{ if $siteConfig.copyright }}
|
||||||
@@ -37,7 +43,7 @@
|
|||||||
|
|
||||||
{{ $disclaimer := "" }}
|
{{ $disclaimer := "" }}
|
||||||
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
||||||
{{ if $siteConfig.disclaimer }}
|
{{ if $siteConfig.disclaimer }}
|
||||||
{{ $disclaimer = $siteConfig.disclaimer }}
|
{{ $disclaimer = $siteConfig.disclaimer }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
@@ -58,7 +64,7 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $hugoLogo = $hugoLogo.RelPermalink}}
|
{{ $hugoLogo = $hugoLogo.RelPermalink}}
|
||||||
|
|
||||||
<footer class="container-fluid text-center align-content-center footer pb-2">
|
<footer id="footer" class="container-fluid text-center align-content-center footer pb-2">
|
||||||
<div class="container pt-5">
|
<div class="container pt-5">
|
||||||
<div class="row text-left">
|
<div class="row text-left">
|
||||||
{{ if $navigationEnabled }}
|
{{ if $navigationEnabled }}
|
||||||
@@ -73,10 +79,19 @@
|
|||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="smooth-scroll" href="/#{{ $sectionID }}">{{ .section.name }}</a>
|
<a class="smooth-scroll" href="{{ "" | absLangURL }}#{{ $sectionID }}">{{ .section.name }}</a>
|
||||||
</li>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{ if $customMenusEnabled }}
|
||||||
|
{{ range $customMenus }}
|
||||||
|
{{ if .showOnFooter }}
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="smooth-scroll" href="{{ .url }}">{{ .name }}</a>
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
@@ -86,7 +101,37 @@
|
|||||||
<h5>{{ i18n "contact_me" }}</h5>
|
<h5>{{ i18n "contact_me" }}</h5>
|
||||||
<ul>
|
<ul>
|
||||||
{{ range $key,$value:= $author.contactInfo }}
|
{{ range $key,$value:= $author.contactInfo }}
|
||||||
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
|
{{ 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 }}
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -121,13 +166,14 @@
|
|||||||
<button type="submit" class="btn btn-info">{{ i18n "submit" }}</button>
|
<button type="submit" class="btn btn-info">{{ i18n "submit" }}</button>
|
||||||
</form>
|
</form>
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<!-- a dummy form -->
|
<form method='post' action='https://blogtrottr.com'>
|
||||||
<form>
|
<div class="form-group">
|
||||||
<div class="form-group">
|
<input type='email' class="form-control" name='btr_email' placeholder="{{ i18n "newsletter_input_placeholder" }}"/><br />
|
||||||
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="{{ i18n "newsletter_input_placeholder" }}"/>
|
<input type='hidden' name='btr_url' value='{{ "" | absLangURL }}index.xml' />
|
||||||
<small id="emailHelp" class="form-text text-muted">{{ i18n "newsletter_warning" }}</small>
|
<input type='hidden' name='schedule_type' value='1' />
|
||||||
</div>
|
<small id="emailHelp" class="form-text text-muted">{{ i18n "newsletter_warning" }}</small>
|
||||||
<button type="submit" class="btn btn-info">{{ i18n "submit" }}</button>
|
<button type="submit" class="btn btn-info"> {{ i18n "submit" }} </button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
@@ -137,7 +183,7 @@
|
|||||||
{{ if and $disclaimerEnabled $disclaimer}}
|
{{ if and $disclaimerEnabled $disclaimer}}
|
||||||
<hr />
|
<hr />
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p id="disclaimer"><strong>{{ i18n "disclaimer_text" }}:</strong> {{ $disclaimer }}</p>
|
<p id="disclaimer"><strong>{{ i18n "disclaimer_text" }}:</strong> {{ $disclaimer | markdownify }}</p>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if $credentialsEnabled }}
|
{{ if $credentialsEnabled }}
|
||||||
@@ -145,7 +191,7 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row text-left">
|
<div class="row text-left">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<a id="theme" href="https://github.com/hossainemruz/toha" target="_blank" rel="noopener">
|
<a id="theme" href="https://github.com/hugo-toha/toha" target="_blank" rel="noopener">
|
||||||
<img src="{{ $themeLogo }}" alt="Toha Theme Logo">
|
<img src="{{ $themeLogo }}" alt="Toha Theme Logo">
|
||||||
Toha
|
Toha
|
||||||
</a>
|
</a>
|
||||||
|
|||||||
@@ -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 charset="UTF-8" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||||
@@ -20,17 +5,33 @@
|
|||||||
<!-- ============ import common css ========== -->
|
<!-- ============ import common css ========== -->
|
||||||
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/bootstrap.min.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/css/layouts/main.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/navigators/navbar.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/css/plyr.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 }}"/>
|
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
|
||||||
|
{{ end }}
|
||||||
|
<!--=================== fonts ==============================-->
|
||||||
|
<link rel="stylesheet" href="{{ "/google-fonts/Mulish/mulish.css" | relURL }}"/>
|
||||||
|
|
||||||
<!--=================== cdn ==============================-->
|
<!--=================== icons ==============================-->
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600" rel="stylesheet">
|
<link rel="stylesheet" href="{{ "/fontawesome/css/all.min.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
|
|
||||||
|
<!--=================== dark mode ==========================-->
|
||||||
|
{{ if site.Params.darkMode.enable }}
|
||||||
|
<link rel="stylesheet" href="{{ "/css/colortheme/colortheme.css" | relURL }}"/>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<!--================= fab-icon =========================-->
|
<!--================= 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 =========================-->
|
{{/* resize the favicon. don't resize svg because it is not supported */}}
|
||||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
{{ $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}}
|
||||||
|
|||||||
@@ -18,12 +18,12 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ 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}}
|
{{ $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 }}
|
{{ end }}
|
||||||
|
|
||||||
{{/* return the author image link */}}
|
{{/* return the author image link */}}
|
||||||
{{ return $authorImage.RelPermalink }}
|
{{ return $authorImage.RelPermalink }}
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
{{/* if hero image is specified in the page front-matter, then use that */}}
|
{{/* if hero image is specified in the page front-matter, then use that */}}
|
||||||
{{ if .Params.hero }}
|
{{ if .Params.hero }}
|
||||||
{{ $heroImage = .Page.Resources.GetMatch .Params.hero }}
|
{{ $heroImage = resources.Get .Params.hero }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ .Scratch.Set "heroScratch" $heroImage }}
|
{{ .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">
|
<link rel="stylesheet" href="{{ "/katex/katex.min.css" | relURL }}">
|
||||||
<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 type="text/javascript" defer src="{{ "/katex/katex.min.js" | relURL }}"></script>
|
||||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
|
<script type="text/javascript" defer src="{{ "/katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);">
|
||||||
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>
|
</script>
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<script src="{{ "/js/mermaid-8.14.0.min.js" | relURL }}"></script>
|
||||||
|
<script>
|
||||||
|
mermaid.initialize({
|
||||||
|
startOnLoad:true
|
||||||
|
});
|
||||||
|
</script>
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
{{ if eq .type "certification" }}
|
{{ if eq .type "certification" }}
|
||||||
{{/* Verifiable certificate badge from https://www.credly.com */}}
|
{{/* Verifiable certificate badge from https://www.credly.com */}}
|
||||||
<div class="">
|
<div class="">
|
||||||
<a href="{{ .url }}" target="_blank" >
|
<a href="{{ .url }}" target="_blank" rel="noopener noreferrer">
|
||||||
<img src="{{ .badge }}" alt="{{ .name }}" />
|
<img src="{{ .badge }}" alt="{{ .name }}" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -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,15 +5,19 @@
|
|||||||
|
|
||||||
<div class="dropdown languageSelector">
|
<div class="dropdown languageSelector">
|
||||||
<a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
<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" . }}
|
{{ if ne site.Params.showFlags false }}
|
||||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}">
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
|
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||||
|
{{ end }}
|
||||||
{{ site.Language.LanguageName }}
|
{{ site.Language.LanguageName }}
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||||
{{ range .Translations }}
|
{{ range .Translations }}
|
||||||
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
|
<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" . }}
|
{{ if ne site.Params.showFlags false }}
|
||||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}">
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
|
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||||
|
{{ end }}
|
||||||
{{ .Language.LanguageName }}
|
{{ .Language.LanguageName }}
|
||||||
</a>
|
</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -5,15 +5,19 @@
|
|||||||
|
|
||||||
<li class="nav-item dropdown">
|
<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">
|
<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" . }}
|
{{ if ne site.Params.showFlags false }}
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
|
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||||
|
{{ end }}
|
||||||
{{ site.Language.LanguageName }}
|
{{ site.Language.LanguageName }}
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||||
{{ range .Translations }}
|
{{ range .Translations }}
|
||||||
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
|
<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" . }}
|
{{ if ne site.Params.showFlags false }}
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
|
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||||
|
{{ end }}
|
||||||
{{ .Language.LanguageName }}
|
{{ .Language.LanguageName }}
|
||||||
</a>
|
</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,16 +1,20 @@
|
|||||||
<li class="nav-item dropdown">
|
<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">
|
<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" . }}
|
{{ if ne site.Params.showFlags false }}
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
{{ site.Language.LanguageName }}
|
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||||
</a>
|
{{ end }}
|
||||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
{{ site.Language.LanguageName }}
|
||||||
{{ range site.Home.AllTranslations }}
|
|
||||||
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
|
|
||||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
|
||||||
{{ .Language.LanguageName }}
|
|
||||||
</a>
|
</a>
|
||||||
{{ end }}
|
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||||
</div>
|
{{ range site.Home.AllTranslations }}
|
||||||
</li>
|
<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 */}}
|
{{/* by default, don't use any logo */}}
|
||||||
{{ $mainLogo := "/images/main-logo.png" }}
|
{{ $mainLogo := "" }}
|
||||||
{{ $invertedLogo := "/images/inverted-logo.png" }}
|
{{ $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 }}
|
{{ if site.Params.logo.main }}
|
||||||
{{ $mainLogo = site.Params.logo.main }}
|
{{ $mainLogo = site.Params.logo.main }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{ if site.Params.logo.inverted }}
|
{{ if site.Params.logo.inverted }}
|
||||||
{{ $invertedLogo = site.Params.logo.inverted }}
|
{{ $invertedLogo = site.Params.logo.inverted }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{/* resize the logos. don't resize svg because it is not supported */}}
|
{{/* resize the logos. don't resize svg because it is not supported */}}
|
||||||
{{ $mainLogo := resources.Get $mainLogo}}
|
{{ if $mainLogo }}
|
||||||
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
{{ $mainLogo = resources.Get $mainLogo}}
|
||||||
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
||||||
|
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $mainLogo = $mainLogo.RelPermalink}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $mainLogo = $mainLogo.RelPermalink}}
|
|
||||||
|
|
||||||
{{ $invertedLogo := resources.Get $invertedLogo}}
|
{{ if $invertedLogo }}
|
||||||
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg") }}
|
{{ $invertedLogo = resources.Get $invertedLogo}}
|
||||||
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
|
||||||
|
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
|
||||||
|
|
||||||
<nav class="navbar navbar-expand-xl top-navbar final-navbar shadow">
|
<nav class="navbar navbar-expand-xl top-navbar final-navbar shadow">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
@@ -30,7 +33,9 @@
|
|||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
||||||
<img src="{{ $mainLogo }}" alt="Logo">
|
{{ if $mainLogo }}
|
||||||
|
<img src="{{ $mainLogo }}" alt="Logo">
|
||||||
|
{{ end }}
|
||||||
{{- site.Title -}}
|
{{- site.Title -}}
|
||||||
</a>
|
</a>
|
||||||
<button class="navbar-toggler navbar-light" id="toc-toggler" type="button" onclick="toggleTOC()">
|
<button class="navbar-toggler navbar-light" id="toc-toggler" type="button" onclick="toggleTOC()">
|
||||||
@@ -42,10 +47,17 @@
|
|||||||
{{ if .IsTranslated }}
|
{{ if .IsTranslated }}
|
||||||
{{ partial "navigators/lang-selector-2.html" . }}
|
{{ partial "navigators/lang-selector-2.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ if site.Params.darkMode.enable }}
|
||||||
|
{{ partial "navigators/theme-selector.html" . }}
|
||||||
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Store the logo information in a hidden img for the JS -->
|
<!-- Store the logo information in a hidden img for the JS -->
|
||||||
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
|
{{ if $mainLogo }}
|
||||||
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
|
<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>
|
</nav>
|
||||||
|
|||||||
@@ -1,17 +1,18 @@
|
|||||||
{{/* variables for enabling/disabling various features */}}
|
{{/* variables for enabling/disabling various features */}}
|
||||||
{{ $blogEnabled := site.Params.features.blog.enable | default false }}
|
{{ $blogEnabled := site.Params.features.blog.enable | default false }}
|
||||||
{{ $notesEnabled := site.Params.features.notes.enable | default false }}
|
{{ $notesEnabled := site.Params.features.notes.enable | default false }}
|
||||||
|
{{ $maxVisibleSections := site.Params.topNavbar.maxVisibleSections | default 5 }}
|
||||||
|
|
||||||
{{/* keep backward compatibility for blog post */}}
|
{{/* keep backward compatibility for blog post */}}
|
||||||
{{ if site.Params.enableBlogPost }}
|
{{ if site.Params.enableBlogPost }}
|
||||||
{{ $blogEnabled = true }}
|
{{ $blogEnabled = true }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{/* default logos */}}
|
{{/* by default, don't use any logo */}}
|
||||||
{{ $mainLogo := "/images/main-logo.png" }}
|
{{ $mainLogo := "" }}
|
||||||
{{ $invertedLogo := "/images/inverted-logo.png" }}
|
{{ $invertedLogo := "" }}
|
||||||
|
|
||||||
{{/* if custom logo is used, them */}}
|
{{/* if custom logo has been provided, use them */}}
|
||||||
{{ if site.Params.logo.main }}
|
{{ if site.Params.logo.main }}
|
||||||
{{ $mainLogo = site.Params.logo.main }}
|
{{ $mainLogo = site.Params.logo.main }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -20,17 +21,21 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
{{/* resize the logos. don't resize svg because it is not supported */}}
|
{{/* resize the logos. don't resize svg because it is not supported */}}
|
||||||
{{ $mainLogo := resources.Get $mainLogo}}
|
{{ if $mainLogo }}
|
||||||
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
{{ $mainLogo = resources.Get $mainLogo}}
|
||||||
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
{{ if and $mainLogo (ne $mainLogo.MediaType.SubType "svg") }}
|
||||||
|
{{ $mainLogo = $mainLogo.Resize "42x" }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $mainLogo = $mainLogo.RelPermalink}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $mainLogo = $mainLogo.RelPermalink}}
|
|
||||||
|
|
||||||
{{ $invertedLogo := resources.Get $invertedLogo}}
|
{{ if $invertedLogo }}
|
||||||
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
|
{{ $invertedLogo = resources.Get $invertedLogo}}
|
||||||
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
{{ if and $invertedLogo (ne $invertedLogo.MediaType.SubType "svg")}}
|
||||||
|
{{ $invertedLogo = $invertedLogo.Resize "42x" }}
|
||||||
|
{{ end }}
|
||||||
|
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $invertedLogo = $invertedLogo.RelPermalink}}
|
|
||||||
|
|
||||||
{{ $customMenus := site.Params.customMenus }}
|
{{ $customMenus := site.Params.customMenus }}
|
||||||
{{ if (index site.Data site.Language.Lang).site.customMenus }}
|
{{ if (index site.Data site.Language.Lang).site.customMenus }}
|
||||||
@@ -45,7 +50,9 @@
|
|||||||
<nav class="navbar navbar-expand-xl top-navbar initial-navbar" id="top-navbar">
|
<nav class="navbar navbar-expand-xl top-navbar initial-navbar" id="top-navbar">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<a class="navbar-brand" href="{{ site.BaseURL | relLangURL }}">
|
<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 -}}
|
{{- site.Title -}}
|
||||||
</a>
|
</a>
|
||||||
<button
|
<button
|
||||||
@@ -59,32 +66,32 @@
|
|||||||
<span class="navbar-toggler-icon"></span>
|
<span class="navbar-toggler-icon"></span>
|
||||||
</button>
|
</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">
|
<ul class="navbar-nav ml-auto">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="#home">{{ i18n "home" }}</a>
|
<a class="nav-link" href="#home">{{ i18n "home" }}</a>
|
||||||
</li>
|
</li>
|
||||||
{{ if $sections }}
|
{{ if $sections }}
|
||||||
{{ $sectionCount := 0}}
|
{{ $sectionCount := 1 }}
|
||||||
{{ range sort $sections "section.weight" }}
|
{{ range sort $sections "section.weight" }}
|
||||||
{{ if and (.section.enable) (.section.showOnNavbar)}}
|
{{ if and (.section.enable) (.section.showOnNavbar)}}
|
||||||
{{ $sectionCount = add $sectionCount 1}}
|
{{ $sectionCount = add $sectionCount 1}}
|
||||||
{{ if le $sectionCount 5 }}
|
{{ if le $sectionCount $maxVisibleSections }}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
|
<a class="nav-link" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
|
||||||
</li>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ if gt $sectionCount 5 }}
|
{{ if gt $sectionCount $maxVisibleSections }}
|
||||||
<li class="nav-item dropdown">
|
<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>
|
<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">
|
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||||
{{ $sectionCount := 0 }}
|
{{ $sectionCount := 1 }}
|
||||||
{{ range sort $sections "section.weight" }}
|
{{ range sort $sections "section.weight" }}
|
||||||
{{ if and (.section.enable) (.section.showOnNavbar) }}
|
{{ if and (.section.enable) (.section.showOnNavbar) }}
|
||||||
{{ $sectionCount = add $sectionCount 1}}
|
{{ $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>
|
<a class="dropdown-item" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -108,17 +115,26 @@
|
|||||||
</li>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ range $customMenus }}
|
{{ range $customMenus }}
|
||||||
<li class="nav-item">
|
{{ if (not .hideFromNavbar) }}
|
||||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
<li class="nav-item">
|
||||||
</li>
|
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if .IsTranslated }}
|
{{ if .IsTranslated }}
|
||||||
{{ partial "navigators/lang-selector.html" . }}
|
{{ partial "navigators/lang-selector.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ if site.Params.darkMode.enable }}
|
||||||
|
{{ partial "navigators/theme-selector.html" . }}
|
||||||
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- Store the logo information in a hidden img for the JS -->
|
<!-- Store the logo information in a hidden img for the JS -->
|
||||||
<img src="{{ $mainLogo }}" class="d-none" id="main-logo" alt="Logo">
|
{{ if $mainLogo }}
|
||||||
<img src="{{ $invertedLogo }}" class="d-none" id="inverted-logo" alt="Inverted Logo">
|
<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>
|
</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">
|
<div class="row next-prev-navigator">
|
||||||
{{ $currentPage := . }}
|
{{ if $prevPage }}
|
||||||
{{ range (where site.RegularPages.ByDate "Type" "in" site.Params.mainSections )}}
|
<div class="col-md-6 previous-article">
|
||||||
{{ if eq .RelPermalink $currentPage.RelPermalink }}
|
<a href="{{ $prevPage.RelPermalink }}" title="{{ $prevPage.Title }}" class="btn btn-outline-info">
|
||||||
{{ if .Next }}
|
<div><i class="fas fa-chevron-circle-left"></i> {{ i18n "prev" }}</div>
|
||||||
{{ if (in site.Params.mainSections .Next.Type) }}
|
<div class="next-prev-text">{{ $prevPage.Title }}</div>
|
||||||
<div class="col-md-6 previous-article">
|
</a>
|
||||||
<a href="{{.Next.RelPermalink}}" title="{{ .Next.Title }}" class="btn btn-outline-info">
|
</div>
|
||||||
<div><i class="fas fa-chevron-circle-left"></i> {{ i18n "prev" }}</div>
|
{{ end }}
|
||||||
<div class="next-prev-text">{{ .Next.Title }}</div>
|
{{ 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>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
|
||||||
{{ 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 }}" title="{{ .Prev.Title }}" 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>
|
</div>
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -5,3 +5,10 @@
|
|||||||
<script type="text/javascript" src="{{ "/js/navbar.js" | relURL }}"></script>
|
<script type="text/javascript" src="{{ "/js/navbar.js" | relURL }}"></script>
|
||||||
<script type="text/javascript" src="{{ "/js/plyr.js" | relURL }}"></script>
|
<script type="text/javascript" src="{{ "/js/plyr.js" | relURL }}"></script>
|
||||||
<script type="text/javascript" src="{{ "/js/main.js" | relURL }}"></script>
|
<script type="text/javascript" src="{{ "/js/main.js" | relURL }}"></script>
|
||||||
|
|
||||||
|
{{ if site.Params.darkMode.enable }}
|
||||||
|
{{ if eq site.Params.darkMode.provider "darkreader" }}
|
||||||
|
<script type="text/javascript" src="{{ "/js/darkreader.js" | relURL }}"></script>
|
||||||
|
<script type="text/javascript" src="{{ "/js/darkmode-darkreader.js" | relURL }}"></script>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
@@ -11,7 +11,8 @@
|
|||||||
<div class="container anchor p-lg-5 about-section" id="{{ $sectionID }}">
|
<div class="container anchor p-lg-5 about-section" id="{{ $sectionID }}">
|
||||||
<div class="row pt-sm-2 pt-md-4 align-self-center">
|
<div class="row pt-sm-2 pt-md-4 align-self-center">
|
||||||
<!-- summary -->
|
<!-- summary -->
|
||||||
<div class="col-sm-6">
|
<!-- takes up full section width if no badges/soft skills are specified -->
|
||||||
|
{{ if or (.softSkills) (.badges) }} <div class="col-sm-6"> {{ else }} <div class="col-sm-12"> {{ end }}
|
||||||
<h3 class="p-1">{{ $author.name }}</h3>
|
<h3 class="p-1">{{ $author.name }}</h3>
|
||||||
{{ if .designation }}
|
{{ if .designation }}
|
||||||
<h5 class="p-1">
|
<h5 class="p-1">
|
||||||
@@ -30,7 +31,7 @@
|
|||||||
<li>
|
<li>
|
||||||
{{ if eq .name "Email" }}
|
{{ if eq .name "Email" }}
|
||||||
<a href="mailto:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
<a href="mailto:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
||||||
{{ else if eq .name "Phone" }}
|
{{ else if eq .name (i18n "phone") }}
|
||||||
<a href="tel:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
<a href="tel:{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
||||||
{{ else }}
|
{{ else }}
|
||||||
<a href="{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
<a href="{{ .url }}" title="{{ .name }}" target="_blank" rel="noopener"><i class="{{ .icon }}"></i></a>
|
||||||
@@ -44,6 +45,11 @@
|
|||||||
><button class="btn btn-dark">{{ i18n "resume"}}</button></a
|
><button class="btn btn-dark">{{ i18n "resume"}}</button></a
|
||||||
>
|
>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ range .resourceLinks }}
|
||||||
|
<a href="{{ .url | relURL }}" title="{{ .title }}" target="#"
|
||||||
|
><button class="btn btn-dark">{{ .title }}</button></a
|
||||||
|
>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
<!-- soft skills circular-progressbar -->
|
<!-- soft skills circular-progressbar -->
|
||||||
<div class="col-sm-6 pt-5 pl-md-4 pl-sm-3 pt-sm-0">
|
<div class="col-sm-6 pt-5 pl-md-4 pl-sm-3 pt-sm-0">
|
||||||
|
|||||||
@@ -3,11 +3,15 @@
|
|||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 accomplishments-section" id="{{ $sectionID }}">
|
<div class="container-fluid anchor pb-5 accomplishments-section">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row" id="acomplishment-card-holder">
|
<div class="row" id="acomplishment-card-holder">
|
||||||
{{ range .accomplishments }}
|
{{ range .accomplishments }}
|
||||||
|
|||||||
@@ -3,9 +3,13 @@
|
|||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 achievements-section" id="{{ $sectionID }}">
|
<div class="container-fluid anchor pb-5 achievements-section">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row" id="gallery">
|
<div class="row" id="gallery">
|
||||||
|
|||||||
@@ -12,14 +12,17 @@
|
|||||||
{{/* don't use "background-image: url('{{ $achievementImageSm }}');" Otherwise the images won't show in https://themes.gohugo.io/ */}}
|
{{/* don't use "background-image: url('{{ $achievementImageSm }}');" Otherwise the images won't show in https://themes.gohugo.io/ */}}
|
||||||
<div
|
<div
|
||||||
class="achievement-entry text-center"
|
class="achievement-entry text-center"
|
||||||
style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageSm }}');"
|
style="background-image: url('{{ $achievementImageSm }}');"
|
||||||
>
|
>
|
||||||
<i class="fas fa-search-plus" id="enlarge-icon"></i>
|
<i class="fas fa-search-plus" id="enlarge-icon"></i>
|
||||||
<h4 class="title" id="achievement-title">{{ .title }}</h4>
|
<h4 class="title" id="achievement-title">{{ .title }}</h4>
|
||||||
<div class="caption hidden col-lg-6 text-left" id="caption">
|
<div class="caption hidden col-lg-6 text-left" id="caption">
|
||||||
<h4>{{ .title }}</h4>
|
<h4>{{ .title }}</h4>
|
||||||
<p>{{ .summary | markdownify }}</p>
|
<p>{{ .summary | markdownify }}</p>
|
||||||
|
{{ if .url }}
|
||||||
|
<a class="btn btn-info ml-1 pl-2 mb-2" href="{{ .url }}" target="_blank" rel="noopener" role="button">{{ i18n "project_details"}}</a>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
<span style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageSm }}');" class="d-none" id="SmallImage" active="true"></span>
|
<span style="background-image: url('{{ $achievementImageSm }}');" class="d-none" id="SmallImage" active="true"></span>
|
||||||
<span style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $achievementImageLg }}');" class="d-none" id="LargeImage"></span>
|
<span style="background-image: url('{{ $achievementImageLg }}');" class="d-none" id="LargeImage"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -4,17 +4,24 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 education-section education-alt" id="{{ $sectionID }}">
|
<div class="container-fluid anchor pb-5 education-section education-alt" id="{{ $sectionID }}">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
{{ end }}
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<table class="education-info-table">
|
<table class="education-info-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
{{ range .degrees}}
|
{{ $count := len .degrees }}
|
||||||
<tr>
|
{{ range .degrees}}
|
||||||
<td class="icon">
|
<tr>
|
||||||
<div class="hline"></div>
|
<td class="icon">
|
||||||
|
{{ if gt $count 1}}
|
||||||
|
<div class="hline"></div>
|
||||||
|
{{ end }}
|
||||||
<div class="icon-holder">
|
<div class="icon-holder">
|
||||||
<i class="fas {{ .icon }}"></i>
|
<i class="fas {{ .icon }}"></i>
|
||||||
</div>
|
</div>
|
||||||
@@ -53,6 +60,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if .takenCourses }}
|
{{ if .takenCourses }}
|
||||||
|
{{ $collapseAfter := .takenCourses.collapseAfter | default 2 }}
|
||||||
<div class="taken-courses">
|
<div class="taken-courses">
|
||||||
<h6 class="text-muted">{{ i18n "taken_courses" }}</h6>
|
<h6 class="text-muted">{{ i18n "taken_courses" }}</h6>
|
||||||
{{ if .takenCourses.showGrades }}
|
{{ if .takenCourses.showGrades }}
|
||||||
@@ -65,7 +73,7 @@
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{ range $index,$course := .takenCourses.courses }}
|
{{ range $index,$course := .takenCourses.courses }}
|
||||||
<tr class="course {{ if gt $index 1 }}hidden-course{{ end}}">
|
<tr class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">
|
||||||
<td>{{ $course.name }}</td>
|
<td>{{ $course.name }}</td>
|
||||||
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
|
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
|
||||||
<td>{{ $course.achieved }}</td>
|
<td>{{ $course.achieved }}</td>
|
||||||
@@ -76,11 +84,11 @@
|
|||||||
{{ else }}
|
{{ else }}
|
||||||
<ul>
|
<ul>
|
||||||
{{ range $index,$course := .takenCourses.courses }}
|
{{ range $index,$course := .takenCourses.courses }}
|
||||||
<li class="course {{ if gt $index 1 }}hidden-course{{ end}}">{{ $course.name }}</li>
|
<li class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">{{ $course.name }}</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if gt (len .takenCourses.courses) 2 }}
|
{{ if gt (len .takenCourses.courses) $collapseAfter }}
|
||||||
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
||||||
onclick="toggleCourseVisibility(this);" id="show-more-btn" aria-label="{{ i18n "show_more"}}">{{ i18n "show_more"}}</button>
|
onclick="toggleCourseVisibility(this);" id="show-more-btn" aria-label="{{ i18n "show_more"}}">{{ i18n "show_more"}}</button>
|
||||||
<button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
<button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
||||||
@@ -114,4 +122,4 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,18 +3,25 @@
|
|||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 education-section" id="{{ $sectionID }}">
|
<div class="container-fluid anchor pb-5 education-section">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
{{ end }}
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<table class="education-info-table">
|
<table class="education-info-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
{{ range .degrees}}
|
{{ $count := len .degrees }}
|
||||||
<tr>
|
{{ range .degrees}}
|
||||||
<td class="icon">
|
<tr>
|
||||||
<div class="hline"></div>
|
<td class="icon">
|
||||||
|
{{ if gt $count 1}}
|
||||||
|
<div class="hline"></div>
|
||||||
|
{{ end }}
|
||||||
<div class="icon-holder">
|
<div class="icon-holder">
|
||||||
<i class="fas {{ .icon }}"></i>
|
<i class="fas {{ .icon }}"></i>
|
||||||
</div>
|
</div>
|
||||||
@@ -53,19 +60,20 @@
|
|||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if .takenCourses }}
|
{{ if .takenCourses }}
|
||||||
|
{{ $collapseAfter := .takenCourses.collapseAfter | default 2 }}
|
||||||
<div class="taken-courses">
|
<div class="taken-courses">
|
||||||
<h6 class="text-muted">{{ i18n "taken_courses"}}</h6>
|
<h6 class="text-muted">{{ i18n "taken_courses"}}</h6>
|
||||||
{{ if .takenCourses.showGrades }}
|
{{ if .takenCourses.showGrades }}
|
||||||
{{ $hideScale := .takenCourses.hideScale }}
|
{{ $hideScale := .takenCourses.hideScale }}
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<th>{{ i18n "course_name"}}</th>
|
<th class="course-name-header">{{ i18n "course_name"}}</th>
|
||||||
{{ if not $hideScale }}<th>{{ i18n "total_credit"}}</th>{{ end }}
|
{{ if not $hideScale }}<th>{{ i18n "total_credit"}}</th>{{ end }}
|
||||||
<th>{{ i18n "obtained_credit"}}</th>
|
<th>{{ i18n "obtained_credit"}}</th>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{{ range $index,$course := .takenCourses.courses }}
|
{{ range $index,$course := .takenCourses.courses }}
|
||||||
<tr class="course {{ if gt $index 1 }}hidden-course{{ end}}">
|
<tr class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">
|
||||||
<td>{{ $course.name }}</td>
|
<td>{{ $course.name }}</td>
|
||||||
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
|
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
|
||||||
<td>{{ $course.achieved }}</td>
|
<td>{{ $course.achieved }}</td>
|
||||||
@@ -76,11 +84,11 @@
|
|||||||
{{ else }}
|
{{ else }}
|
||||||
<ul>
|
<ul>
|
||||||
{{ range $index,$course := .takenCourses.courses }}
|
{{ range $index,$course := .takenCourses.courses }}
|
||||||
<li class="course {{ if gt $index 1 }}hidden-course{{ end}}">{{ $course.name }}</li>
|
<li class="course {{ if ge $index $collapseAfter }}hidden-course{{ end}}">{{ $course.name }}</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ if gt (len .takenCourses.courses ) 2 }}
|
{{ if gt (len .takenCourses.courses ) $collapseAfter }}
|
||||||
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
<button type="button" class="btn btn-link show-more-btn pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
||||||
onclick="toggleCourseVisibility(this);" id="show-more-btn">{{ i18n "show_more"}}</button>
|
onclick="toggleCourseVisibility(this);" id="show-more-btn">{{ i18n "show_more"}}</button>
|
||||||
<button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
<button type="button" class="btn btn-link show-more-btn hidden pt-0 {{ if .takenCourses.showGrades }}ml-1{{ else }}ml-2{{ end }}"
|
||||||
@@ -105,4 +113,4 @@
|
|||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,9 +3,13 @@
|
|||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 experiences-section" id="{{ $sectionID }}">
|
<div class="container-fluid anchor pb-5 experiences-section">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container timeline text-justify">
|
<div class="container timeline text-justify">
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{{ if gt (len .positions) 1 }}
|
{{ if gt (len .positions) 1 }}
|
||||||
{{ partial "sections/experiences/multiple-positions" . }}
|
{{ partial "sections/experiences/multiple-positions.html" . }}
|
||||||
{{ else }}
|
{{ else }}
|
||||||
{{ partial "sections/experiences/single-position.html" . }}
|
{{ partial "sections/experiences/single-position.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -12,10 +12,12 @@
|
|||||||
<!-- Add company overview -->
|
<!-- Add company overview -->
|
||||||
<p>{{ .company.overview | markdownify }}</p>
|
<p>{{ .company.overview | markdownify }}</p>
|
||||||
<!-- Add the responsibilities handled at this position -->
|
<!-- Add the responsibilities handled at this position -->
|
||||||
|
{{ if $position.responsibilities }}
|
||||||
<h6 class="text-muted">{{ i18n "responsibilities" }}</h6>
|
<h6 class="text-muted">{{ i18n "responsibilities" }}</h6>
|
||||||
<ul class="justify-content-around">
|
<ul class="justify-content-around">
|
||||||
{{ range $position.responsibilities }}
|
{{ range $position.responsibilities }}
|
||||||
<li>{{ . | markdownify }}</li>
|
<li>{{ . | markdownify }}</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -26,8 +26,11 @@
|
|||||||
{{ $authorImage = $author.image }}
|
{{ $authorImage = $author.image }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $authorImage := resources.Get $authorImage }}
|
{{ $authorImage := resources.Get $authorImage }}
|
||||||
{{ $authorImage := $authorImage.Fit "148x148" }}
|
|
||||||
|
|
||||||
|
{{/* apply image processing. don't use "Fit" in svg or gif because its not supported */}}
|
||||||
|
{{ if and $authorImage (and (ne $authorImage.MediaType.SubType "svg") ( ne $authorImage.MediaType.SubType "gif")) }}
|
||||||
|
{{ $authorImage = $authorImage.Fit "148x148" }}
|
||||||
|
{{ end }}
|
||||||
{{/* get file that matches the filename as specified as src="" in shortcode */}}
|
{{/* get file that matches the filename as specified as src="" in shortcode */}}
|
||||||
{{ $src := resources.Get $backgroundImage }}
|
{{ $src := resources.Get $backgroundImage }}
|
||||||
|
|
||||||
@@ -74,28 +77,27 @@
|
|||||||
<style>
|
<style>
|
||||||
/* 0 to 299 */
|
/* 0 to 299 */
|
||||||
#homePageBackgroundImageDivStyled {
|
#homePageBackgroundImageDivStyled {
|
||||||
/*background-image: url('{{ $tiny.RelPermalink }}'); This does not work on https://themes.gohugo.io/ */
|
background-image: url('{{ $tiny.RelPermalink }}');
|
||||||
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $tiny.RelPermalink }}');
|
|
||||||
}
|
}
|
||||||
/* 300 to X */
|
/* 300 to X */
|
||||||
@media (min-width: 500px) and (max-width: 800px) { /* or 301 if you want really the same as previously. */
|
@media (min-width: 500px) and (max-width: 800px) { /* or 301 if you want really the same as previously. */
|
||||||
#homePageBackgroundImageDivStyled {
|
#homePageBackgroundImageDivStyled {
|
||||||
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $small.RelPermalink }}');
|
background-image: url('{{ $small.RelPermalink }}');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (min-width: 801px) and (max-width: 1200px) { /* or 301 if you want really the same as previously. */
|
@media (min-width: 801px) and (max-width: 1200px) { /* or 301 if you want really the same as previously. */
|
||||||
#homePageBackgroundImageDivStyled {
|
#homePageBackgroundImageDivStyled {
|
||||||
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $medium.RelPermalink }}');
|
background-image: url('{{ $medium.RelPermalink }}');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (min-width: 1201px) and (max-width: 1500px) { /* or 301 if you want really the same as previously. */
|
@media (min-width: 1201px) and (max-width: 1500px) { /* or 301 if you want really the same as previously. */
|
||||||
#homePageBackgroundImageDivStyled {
|
#homePageBackgroundImageDivStyled {
|
||||||
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $large.RelPermalink }}');
|
background-image: url('{{ $large.RelPermalink }}');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media (min-width: 1501px) { /* or 301 if you want really the same as previously. */
|
@media (min-width: 1501px) { /* or 301 if you want really the same as previously. */
|
||||||
#homePageBackgroundImageDivStyled {
|
#homePageBackgroundImageDivStyled {
|
||||||
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $src.RelPermalink }}');
|
background-image: url('{{ $src.RelPermalink }}');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -110,6 +112,9 @@
|
|||||||
alt="Author Image"
|
alt="Author Image"
|
||||||
/>
|
/>
|
||||||
<h1 class="greeting"> {{ $author.greeting }} {{ $name }}</h1>
|
<h1 class="greeting"> {{ $author.greeting }} {{ $name }}</h1>
|
||||||
|
{{ if $author.subtitle }}
|
||||||
|
<h2 class="greeting-subtitle">{{ $author.subtitle }}</h2>
|
||||||
|
{{ end }}
|
||||||
<div class="typing-carousel">
|
<div class="typing-carousel">
|
||||||
<span id="ityped" class="ityped"></span>
|
<span id="ityped" class="ityped"></span>
|
||||||
<span class="ityped-cursor"></span>
|
<span class="ityped-cursor"></span>
|
||||||
@@ -127,7 +132,7 @@
|
|||||||
{{ if .section.id }}
|
{{ if .section.id }}
|
||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<a href="#{{ $sectionID }}" aria-label="{{ i18n "read" }} {{ i18n "more" }} - {{ $name }}"><i class="arrow bounce fa fa-chevron-down"></i></a>
|
<a href="#{{ $sectionID }}" class="arrow-center" aria-label="{{ i18n "read" }} {{ i18n "more" }} - {{ $name }}"><i class="arrow bounce fa fa-chevron-down"></i></a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,12 +5,16 @@
|
|||||||
|
|
||||||
<div class="container-fluid anchor pb-5 projects-section" id="{{ $sectionID }}">
|
<div class="container-fluid anchor pb-5 projects-section" id="{{ $sectionID }}">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="container ml-auto text-center">
|
<div class="container ml-auto text-center">
|
||||||
<div class="btn-group flex-wrap" role="group" id="project-filter-buttons">
|
<div class="btn-group flex-wrap" role="group" id="project-filter-buttons">
|
||||||
{{ range .buttons }}
|
{{ range .buttons }}
|
||||||
<button type="button" class="btn btn-dark" data-filter="{{ .filter }}">
|
<button type="button" class="btn btn-dark project-filtr-control" data-filter="{{ .filter }}">
|
||||||
{{ .name }}
|
{{ .name }}
|
||||||
</button>
|
</button>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
{{ $sectionID := replace (lower .section.name) " " "-" }}
|
||||||
|
{{ if .section.id }}
|
||||||
|
{{ $sectionID = .section.id }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<div class="container-fluid anchor pb-5 publications-section" id="{{ $sectionID }}">
|
||||||
|
{{ if not (.section.hideTitle) }}
|
||||||
|
<h1 class="text-center">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ end }}
|
||||||
|
<div class="container ml-auto text-center">
|
||||||
|
<div class="btn-group flex-wrap" role="pub-group" id="publication-filter-buttons">
|
||||||
|
{{ range .buttons }}
|
||||||
|
<button type="button" class="btn btn-dark pub-filtr-control" data-filter="pub-{{ .filter }}">
|
||||||
|
{{ .name }}
|
||||||
|
</button>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="container filtr-publications">
|
||||||
|
<div class="row" id="publication-card-holder">
|
||||||
|
{{ range .publications }}
|
||||||
|
{{ partial "cards/publication" . }}
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -3,15 +3,34 @@
|
|||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 recent-posts-section" id="{{ $sectionID }}">
|
{{ $numShow := 3}}
|
||||||
|
{{ if .section.numShow }}
|
||||||
|
{{ $numShow = .section.numShow }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="container-fluid anchor pb-5 recent-posts-section">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row" id="recent-post-cards">
|
<div class="row" id="recent-post-cards">
|
||||||
{{ range first 3 (where site.RegularPages.ByDate.Reverse "Type" "in" "posts" )}}
|
{{ range first $numShow (where site.RegularPages.ByDate.Reverse "Type" "in" "posts" )}}
|
||||||
{{ partial "cards/recent-post.html" . }}
|
{{ partial "cards/recent-post.html" . }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
{{ if (.section.showMoreButton) }}
|
||||||
|
<div class="container" style="
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;">
|
||||||
|
<a href="/posts/" title="Show More" class="float-right btn btn-outline-info btn-sm" >
|
||||||
|
{{ i18n "show_more"}}</a>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -3,9 +3,13 @@
|
|||||||
{{ $sectionID = .section.id }}
|
{{ $sectionID = .section.id }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 skills-section" id="{{ $sectionID }}">
|
<div class="container-fluid anchor pb-5 skills-section">
|
||||||
{{ if not (.section.hideTitle) }}
|
{{ if not (.section.hideTitle) }}
|
||||||
<h1 class="text-center">{{ .section.name }}</h1>
|
<h1 class="text-center">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
|
{{ else }}
|
||||||
|
<h1 class="text-center" style="display: none">
|
||||||
|
<span id="{{ $sectionID }}"></span>{{ .section.name }}</h1>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="container d-flex-block">
|
<div class="container d-flex-block">
|
||||||
<div class="row" id="primary-skills">
|
<div class="row" id="primary-skills">
|
||||||
|
|||||||
Executable
+221
@@ -0,0 +1,221 @@
|
|||||||
|
<!--
|
||||||
|
|
||||||
|
SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
This shortcut was originally taken from: https://github.com/anvithks/hugo-embed-pdf-shortcode,
|
||||||
|
where it is available under the MIT License, where it was originally created by https://github.com/anvithks
|
||||||
|
|
||||||
|
Since the project seems discontinued, it has been re-created here
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Load the PDF-JS from the local folder (should be updated over time) -->
|
||||||
|
<script src= '/js/pdf-js/build/pdf.js'></script>
|
||||||
|
|
||||||
|
<!-- Set the navigation menu -->
|
||||||
|
<div id="paginator">
|
||||||
|
<button id="prev">Previous</button>
|
||||||
|
<button id="next">Next</button>
|
||||||
|
|
||||||
|
<span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- And the canvas where the PDF will load -->
|
||||||
|
<div id="embed-pdf-container">
|
||||||
|
<div id="loadingWrapper">
|
||||||
|
<div id="loading"></div>
|
||||||
|
</div>
|
||||||
|
<canvas id="the-canvas"></canvas>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- This script gets the PDF, sets it and passes it on to the already-loaded pdf-js -->
|
||||||
|
<script type="text/javascript">
|
||||||
|
window.onload = function() {
|
||||||
|
// If absolute URL from the remote server is provided, configure the CORS
|
||||||
|
// header on that server.
|
||||||
|
var url = "{{.Site.BaseURL}}" + '{{ .Get "src" }}';
|
||||||
|
|
||||||
|
var hidePaginator = "{{ .Get "hidePaginator" }}" === "true";
|
||||||
|
var hideLoader = "{{ .Get "hideLoader" }}" === "true";
|
||||||
|
var selectedPageNum = parseInt("{{ .Get "renderPageNum" }}") || 1;
|
||||||
|
|
||||||
|
// Loaded via <script> tag, create shortcut to access PDF.js exports.
|
||||||
|
var pdfjsLib = window['pdfjs-dist/build/pdf'];
|
||||||
|
|
||||||
|
// The workerSrc property shall be specified.
|
||||||
|
pdfjsLib.GlobalWorkerOptions.workerSrc = "{{.Site.BaseURL}}" + '/js/pdf-js/build/pdf.worker.js';
|
||||||
|
|
||||||
|
// Change the Scale value for lower or higher resolution.
|
||||||
|
var pdfDoc = null,
|
||||||
|
pageNum = selectedPageNum,
|
||||||
|
pageRendering = false,
|
||||||
|
pageNumPending = null,
|
||||||
|
scale = 3,
|
||||||
|
canvas = document.getElementById('the-canvas'),
|
||||||
|
ctx = canvas.getContext('2d'),
|
||||||
|
paginator = document.getElementById("paginator"),
|
||||||
|
loadingWrapper = document.getElementById('loadingWrapper');
|
||||||
|
|
||||||
|
|
||||||
|
// Attempt to show paginator and loader if enabled
|
||||||
|
showPaginator();
|
||||||
|
showLoader();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get page info from document, resize canvas accordingly, and render page.
|
||||||
|
* @param num Page number.
|
||||||
|
*/
|
||||||
|
function renderPage(num) {
|
||||||
|
pageRendering = true;
|
||||||
|
// Using promise to fetch the page
|
||||||
|
pdfDoc.getPage(num).then(function(page) {
|
||||||
|
var viewport = page.getViewport({scale: scale});
|
||||||
|
canvas.height = viewport.height;
|
||||||
|
canvas.width = viewport.width;
|
||||||
|
|
||||||
|
// Render PDF page into canvas context
|
||||||
|
var renderContext = {
|
||||||
|
canvasContext: ctx,
|
||||||
|
viewport: viewport
|
||||||
|
};
|
||||||
|
var renderTask = page.render(renderContext);
|
||||||
|
|
||||||
|
// Wait for rendering to finish
|
||||||
|
renderTask.promise.then(function() {
|
||||||
|
pageRendering = false;
|
||||||
|
showContent();
|
||||||
|
|
||||||
|
if (pageNumPending !== null) {
|
||||||
|
// New page rendering is pending
|
||||||
|
renderPage(pageNumPending);
|
||||||
|
pageNumPending = null;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// Update page counters
|
||||||
|
document.getElementById('page_num').textContent = num;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hides loader and shows canvas
|
||||||
|
*/
|
||||||
|
function showContent() {
|
||||||
|
loadingWrapper.style.display = 'none';
|
||||||
|
canvas.style.display = 'block';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If we haven't disabled the loader, show loader and hide canvas
|
||||||
|
*/
|
||||||
|
function showLoader() {
|
||||||
|
if(hideLoader) return
|
||||||
|
loadingWrapper.style.display = 'flex';
|
||||||
|
canvas.style.display = 'none';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If we haven't disabled the paginator, show paginator
|
||||||
|
*/
|
||||||
|
function showPaginator() {
|
||||||
|
if(hidePaginator) return
|
||||||
|
paginator.style.display = 'block';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If another page rendering in progress, waits until the rendering is
|
||||||
|
* finished. Otherwise, executes rendering immediately.
|
||||||
|
*/
|
||||||
|
function queueRenderPage(num) {
|
||||||
|
if (pageRendering) {
|
||||||
|
pageNumPending = num;
|
||||||
|
} else {
|
||||||
|
renderPage(num);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays previous page.
|
||||||
|
*/
|
||||||
|
function onPrevPage() {
|
||||||
|
if (pageNum <= 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pageNum--;
|
||||||
|
queueRenderPage(pageNum);
|
||||||
|
}
|
||||||
|
document.getElementById('prev').addEventListener('click', onPrevPage);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays next page.
|
||||||
|
*/
|
||||||
|
function onNextPage() {
|
||||||
|
if (pageNum >= pdfDoc.numPages) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
pageNum++;
|
||||||
|
queueRenderPage(pageNum);
|
||||||
|
}
|
||||||
|
document.getElementById('next').addEventListener('click', onNextPage);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Asynchronously downloads PDF.
|
||||||
|
*/
|
||||||
|
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
|
||||||
|
pdfDoc = pdfDoc_;
|
||||||
|
var numPages = pdfDoc.numPages;
|
||||||
|
document.getElementById('page_count').textContent = numPages;
|
||||||
|
|
||||||
|
// If the user passed in a number that is out of range, render the last page.
|
||||||
|
if(pageNum > numPages) {
|
||||||
|
pageNum = numPages
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initial/first page rendering
|
||||||
|
renderPage(pageNum);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Finally, make the canvas more beautiful -->
|
||||||
|
<style>
|
||||||
|
#the-canvas {
|
||||||
|
border: 1px solid black;
|
||||||
|
direction: ltr;
|
||||||
|
width: 100%;
|
||||||
|
height: auto;
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#paginator {
|
||||||
|
display: none;
|
||||||
|
text-align: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loadingWrapper {
|
||||||
|
display: none;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 100%;
|
||||||
|
height: 350px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#loading {
|
||||||
|
display: inline-block;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
border: 3px solid #d2d0d0;;
|
||||||
|
border-radius: 50%;
|
||||||
|
border-top-color: #383838;
|
||||||
|
animation: spin 1s ease-in-out infinite;
|
||||||
|
-webkit-animation: spin 1s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
to { -webkit-transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
@-webkit-keyframes spin {
|
||||||
|
to { -webkit-transform: rotate(360deg); }
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{{ $alignment:= .Get "align"}}
|
||||||
|
{{ if not $alignment }}
|
||||||
|
{{ $alignment = "center"}}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ $background:= .Get "background" }}
|
||||||
|
{{ if not $background }}
|
||||||
|
{{ $background = "none"}}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<div class="mermaid" align="{{ $alignment }}" style="background-color: {{ $background }}; border-radius: 5px;">
|
||||||
|
{{ safeHTML .Inner }}
|
||||||
|
</div>
|
||||||
@@ -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" "tags" "title" ( humanize "tags" ) ) }}
|
||||||
|
</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 }}
|
||||||
Generated
+394
-625
File diff suppressed because it is too large
Load Diff
+5
-5
@@ -8,17 +8,17 @@
|
|||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/hossainemruz/toha.git"
|
"url": "git+https://github.com/hugo-toha/toha.git"
|
||||||
},
|
},
|
||||||
"author": "Emruz Hossain",
|
"author": "Emruz Hossain",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/hossainemruz/toha/issues"
|
"url": "https://github.com/hugo-toha/toha/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/hossainemruz/toha#readme",
|
"homepage": "https://github.com/hugo-toha/toha#readme",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^10.2.6",
|
"autoprefixer": "^10.4.13",
|
||||||
"postcss": "^8.3.0",
|
"postcss": "^8.4.18",
|
||||||
"postcss-cli": "^8.3.1"
|
"postcss-cli": "^8.3.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
/* Note: No need to invert when the screen is small because the navbar is
|
||||||
|
collapsed to a hamburger menu. */
|
||||||
|
@media only screen and (min-width: 1200px) {
|
||||||
|
.dynamic-navbar .navbar-icon-svg-dark {
|
||||||
|
filter: invert(1);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 1200px) {
|
||||||
|
.dropdown-menu-icons-only {
|
||||||
|
width: 25px;
|
||||||
|
min-width: 3rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.menu-icon-center {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
@@ -67,7 +67,6 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.paginator {
|
.paginator {
|
||||||
width: -webkit-fit-content;
|
|
||||||
width: -moz-fit-content;
|
width: -moz-fit-content;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
@@ -91,7 +90,6 @@
|
|||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
margin-top: 0.5rem;
|
margin-top: 0.5rem;
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
width: -webkit-fit-content;
|
|
||||||
width: -moz-fit-content;
|
width: -moz-fit-content;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
}
|
}
|
||||||
|
|||||||
+61
-13
@@ -50,17 +50,17 @@ a:hover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.btn-dark {
|
.btn-dark {
|
||||||
background-color: #3c4858;
|
background-color: #3c4858!important;
|
||||||
border-color: #3c4858;
|
border-color: #3c4858!important;
|
||||||
color: #e5e9f2;
|
color: #e5e9f2!important;
|
||||||
transition: all 0.3s ease-out;
|
transition: all 0.3s ease-out!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-dark:hover,
|
.btn-dark:hover,
|
||||||
.btn-dark:focus {
|
.btn-dark:focus {
|
||||||
background-color: #248aaa;
|
background-color: #248aaa!important;
|
||||||
border-color: #248aaa;
|
border-color: #248aaa!important;
|
||||||
transition: all 0.3s ease-out;
|
transition: all 0.3s ease-out!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-outline-info {
|
.btn-outline-info {
|
||||||
@@ -174,7 +174,7 @@ img.right {
|
|||||||
margin-right: 3px;
|
margin-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ====== codeblocks ====== */
|
/* ====== table ====== */
|
||||||
table {
|
table {
|
||||||
border-radius: 0.1rem;
|
border-radius: 0.1rem;
|
||||||
background: #e5e9f2;
|
background: #e5e9f2;
|
||||||
@@ -206,12 +206,46 @@ tbody tr:hover {
|
|||||||
background: #c0ccda;
|
background: #c0ccda;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ====== don't apply css to tables inside gist ====== */
|
||||||
|
.gist table {
|
||||||
|
border-radius: unset;
|
||||||
|
background: unset;
|
||||||
|
border: unset;
|
||||||
|
padding: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist table tr {
|
||||||
|
height: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist table th,
|
||||||
|
td {
|
||||||
|
padding: unset;
|
||||||
|
border-left: unset;
|
||||||
|
border-bottom: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist table thead tr {
|
||||||
|
background: unset;
|
||||||
|
color: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist tbody tr:nth-child(odd) {
|
||||||
|
background-color: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist tbody tr:hover {
|
||||||
|
background: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gist table td, .gist table tc{
|
||||||
|
border-right: 1px solid #eee;
|
||||||
|
}
|
||||||
|
|
||||||
figure {
|
figure {
|
||||||
border: 1px solid #c0ccda;
|
border: 1px solid #c0ccda;
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
width: -webkit-fit-content;
|
|
||||||
width: -moz-fit-content;
|
width: -moz-fit-content;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
@@ -276,7 +310,6 @@ mark {
|
|||||||
|
|
||||||
/* ======= Paginator ========= */
|
/* ======= Paginator ========= */
|
||||||
.paginator {
|
.paginator {
|
||||||
width: -webkit-fit-content;
|
|
||||||
width: -moz-fit-content;
|
width: -moz-fit-content;
|
||||||
width: fit-content;
|
width: fit-content;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
@@ -408,7 +441,8 @@ mark {
|
|||||||
|
|
||||||
@media only screen and (max-width: 576px) {
|
@media only screen and (max-width: 576px) {
|
||||||
.skills-section .container,
|
.skills-section .container,
|
||||||
.projects-section .container {
|
.projects-section .container,
|
||||||
|
.publications-section .container {
|
||||||
padding-left: 0.3rem;
|
padding-left: 0.3rem;
|
||||||
padding-right: 0.3rem;
|
padding-right: 0.3rem;
|
||||||
}
|
}
|
||||||
@@ -421,7 +455,8 @@ mark {
|
|||||||
.skills-section,
|
.skills-section,
|
||||||
.projects-section,
|
.projects-section,
|
||||||
.recent-posts-section,
|
.recent-posts-section,
|
||||||
.achievements-section {
|
.achievements-section,
|
||||||
|
.publications-section {
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
}
|
}
|
||||||
@@ -432,16 +467,29 @@ mark {
|
|||||||
code {
|
code {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-size: 2.2rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* iPhoneX, iPhone 6,7,8 */
|
/* iPhoneX, iPhone 6,7,8 */
|
||||||
@media only screen and (max-width: 375px) {
|
@media only screen and (max-width: 375px) {
|
||||||
|
h1 {
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Galaxy S5, Moto G4 */
|
/* Galaxy S5, Moto G4 */
|
||||||
@media only screen and (max-width: 360px) {
|
@media only screen and (max-width: 360px) {
|
||||||
|
h1 {
|
||||||
|
font-size: 1.8rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* iPhone 5 or before */
|
/* iPhone 5 or before */
|
||||||
@media only screen and (max-width: 320px) {
|
@media only screen and (max-width: 320px) {
|
||||||
|
h1 {
|
||||||
|
font-size: 1.5rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -205,6 +205,69 @@ h6 {
|
|||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.share-buttons .btn {
|
||||||
|
color: #e5e9f2 !important;
|
||||||
|
transition: all 0.3s ease-out !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .btn:hover,
|
||||||
|
.share-buttons .btn:focus {
|
||||||
|
background-color: #248aaa !important;
|
||||||
|
border-color: #248aaa !important;
|
||||||
|
transition: all 0.3s ease-out !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .facebook-btn {
|
||||||
|
background-color: #4267b2 !important;
|
||||||
|
border-color: #4267b2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .twitter-btn {
|
||||||
|
background-color: #1da1f2 !important;
|
||||||
|
border-color: #1da1f2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .reddit-btn {
|
||||||
|
background-color: #ff4500 !important;
|
||||||
|
border-color: #ff4500 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .tumblr-btn {
|
||||||
|
background-color: #34465d !important;
|
||||||
|
border-color: #34465d !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .pocket-btn {
|
||||||
|
background-color: #ef4056 !important;
|
||||||
|
border-color: #ef4056 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .linkedin-btn {
|
||||||
|
background-color: #2867b2 !important;
|
||||||
|
border-color: #2867b2 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .diaspora-btn {
|
||||||
|
background-color: #3c4858 !important;
|
||||||
|
border-color: #3c4858 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .mastodon-btn {
|
||||||
|
background-color: #2791da !important;
|
||||||
|
border-color: #2791da !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .whatsapp-btn {
|
||||||
|
background-color: #4ac959 !important;
|
||||||
|
border-color: #4ac959 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.share-buttons .email-btn {
|
||||||
|
background-color: #3c4858 !important;
|
||||||
|
border-color: #3c4858 !important;
|
||||||
|
transition: all 0.3s ease-out !important;
|
||||||
|
}
|
||||||
|
|
||||||
.btn-improve-page {
|
.btn-improve-page {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
@@ -236,6 +299,21 @@ h6 {
|
|||||||
#scroll-to-top.show {
|
#scroll-to-top.show {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
}
|
}
|
||||||
|
.taxonomy-terms {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.taxonomy-terms li {
|
||||||
|
font-size: 0.8em;
|
||||||
|
list-style-type: none;
|
||||||
|
display: inline-block;
|
||||||
|
background: #248aaa;
|
||||||
|
margin-left: 0.2em;
|
||||||
|
margin-right: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.taxonomy-terms a {
|
||||||
|
color: #f9fafc;
|
||||||
|
}
|
||||||
|
|
||||||
/* ============= Device specific fixes ======= */
|
/* ============= Device specific fixes ======= */
|
||||||
|
|
||||||
@@ -360,7 +438,6 @@ h6 {
|
|||||||
.toc-section {
|
.toc-section {
|
||||||
order: 2;
|
order: 2;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
max-height: 0;
|
max-height: 0;
|
||||||
@@ -373,7 +450,6 @@ h6 {
|
|||||||
position: relative;
|
position: relative;
|
||||||
/* height: fit-content; */
|
/* height: fit-content; */
|
||||||
flex: 100%;
|
flex: 100%;
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
max-height: 200vh;
|
max-height: 200vh;
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
height: 50px;
|
height: 50px;
|
||||||
z-index: 99999;
|
z-index: 99999;
|
||||||
transition: all 0.4s ease-out;
|
transition: all 0.4s ease-out;
|
||||||
margin: 0;
|
margin: 0px;
|
||||||
padding-top: 0.1rem;
|
padding-top: 0.4rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
.initial-navbar li a:hover {
|
.initial-navbar li a:hover {
|
||||||
color: #f9fafc;
|
color: #f9fafc;
|
||||||
transition: all 0.3s ease-out;
|
transition: all 0.3s ease-out;
|
||||||
|
transform: translateY(-2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-collapse {
|
.navbar-collapse {
|
||||||
@@ -166,7 +167,6 @@
|
|||||||
/* IPad Pro */
|
/* IPad Pro */
|
||||||
@media (max-width: 1024px) {
|
@media (max-width: 1024px) {
|
||||||
.top-navbar {
|
.top-navbar {
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
padding-bottom: 0px;
|
padding-bottom: 0px;
|
||||||
|
|||||||
@@ -25,7 +25,6 @@
|
|||||||
.sidebar-tree {
|
.sidebar-tree {
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: -webkit-max-content;
|
|
||||||
width: -moz-max-content;
|
width: -moz-max-content;
|
||||||
width: max-content;
|
width: max-content;
|
||||||
}
|
}
|
||||||
@@ -247,7 +246,6 @@ a.focused {
|
|||||||
.sidebar-section.hide {
|
.sidebar-section.hide {
|
||||||
margin-top: 2rem;
|
margin-top: 2rem;
|
||||||
position: relative;
|
position: relative;
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
flex: none;
|
flex: none;
|
||||||
@@ -258,7 +256,6 @@ a.focused {
|
|||||||
|
|
||||||
.sidebar-holder {
|
.sidebar-holder {
|
||||||
max-height: 0;
|
max-height: 0;
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
@@ -273,10 +270,8 @@ a.focused {
|
|||||||
|
|
||||||
.sidebar {
|
.sidebar {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
max-height: -webkit-fit-content;
|
|
||||||
max-height: -moz-fit-content;
|
max-height: -moz-fit-content;
|
||||||
max-height: fit-content;
|
max-height: fit-content;
|
||||||
width: 100vw;
|
width: 100vw;
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
+38
-169
@@ -76,22 +76,25 @@
|
|||||||
border-bottom-left-radius: 80px;
|
border-bottom-left-radius: 80px;
|
||||||
border-right: 0;
|
border-right: 0;
|
||||||
transform-origin: center right;
|
transform-origin: center right;
|
||||||
-webkit-animation: circular-loading-1 1.8s linear forwards;
|
animation: circular-loading-1 1.8s linear forwards;
|
||||||
animation: circular-loading-1 1.8s linear forwards;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress .circular-progress-value {
|
.circular-progress .circular-progress-value {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
height: 90%;
|
height: 90%;
|
||||||
|
padding: 1rem;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: #3c4858;
|
background: #3c4858;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
color: #f9fafc;
|
color: #f9fafc;
|
||||||
line-height: 135px;
|
line-height: initial;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 5%;
|
top: 5%;
|
||||||
left: 5%;
|
left: 5%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress.blue .circular-progress-bar {
|
.circular-progress.blue .circular-progress-bar {
|
||||||
@@ -119,67 +122,47 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-50 {
|
.circular-progress-percentage-50 {
|
||||||
-webkit-animation: circular-loading-50 0s linear forwards 1.8s;
|
animation: circular-loading-50 0s linear forwards 1.8s;
|
||||||
animation: circular-loading-50 0s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-55 {
|
.circular-progress-percentage-55 {
|
||||||
-webkit-animation: circular-loading-55 0.18s linear forwards 1.8s;
|
animation: circular-loading-55 0.18s linear forwards 1.8s;
|
||||||
animation: circular-loading-55 0.18s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-60 {
|
.circular-progress-percentage-60 {
|
||||||
-webkit-animation: circular-loading-60 0.36s linear forwards 1.8s;
|
animation: circular-loading-60 0.36s linear forwards 1.8s;
|
||||||
animation: circular-loading-60 0.36s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-65 {
|
.circular-progress-percentage-65 {
|
||||||
-webkit-animation: circular-loading-65 0.54s linear forwards 1.8s;
|
animation: circular-loading-65 0.54s linear forwards 1.8s;
|
||||||
animation: circular-loading-65 0.54s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-70 {
|
.circular-progress-percentage-70 {
|
||||||
-webkit-animation: circular-loading-70 0.72s linear forwards 1.8s;
|
animation: circular-loading-70 0.72s linear forwards 1.8s;
|
||||||
animation: circular-loading-70 0.72s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-75 {
|
.circular-progress-percentage-75 {
|
||||||
-webkit-animation: circular-loading-75 0.9s linear forwards 1.8s;
|
animation: circular-loading-75 0.9s linear forwards 1.8s;
|
||||||
animation: circular-loading-75 0.9s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-80 {
|
.circular-progress-percentage-80 {
|
||||||
-webkit-animation: circular-loading-80 1.08s linear forwards 1.8s;
|
animation: circular-loading-80 1.08s linear forwards 1.8s;
|
||||||
animation: circular-loading-80 1.08s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-85 {
|
.circular-progress-percentage-85 {
|
||||||
-webkit-animation: circular-loading-85 1.26s linear forwards 1.8s;
|
animation: circular-loading-85 1.26s linear forwards 1.8s;
|
||||||
animation: circular-loading-85 1.26s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-90 {
|
.circular-progress-percentage-90 {
|
||||||
-webkit-animation: circular-loading-90 1.44s linear forwards 1.8s;
|
animation: circular-loading-90 1.44s linear forwards 1.8s;
|
||||||
animation: circular-loading-90 1.44s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-95 {
|
.circular-progress-percentage-95 {
|
||||||
-webkit-animation: circular-loading-95 1.62s linear forwards 1.8s;
|
animation: circular-loading-95 1.62s linear forwards 1.8s;
|
||||||
animation: circular-loading-95 1.62s linear forwards 1.8s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.circular-progress-percentage-100 {
|
.circular-progress-percentage-100 {
|
||||||
-webkit-animation: circular-loading-100 1.8s linear forwards 1.8s;
|
animation: circular-loading-100 1.8s linear forwards 1.8s;
|
||||||
animation: circular-loading-100 1.8s linear forwards 1.8s;
|
|
||||||
}
|
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-50 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes circular-loading-50 {
|
@keyframes circular-loading-50 {
|
||||||
@@ -191,15 +174,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-55 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(18deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-55 {
|
@keyframes circular-loading-55 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -209,15 +183,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-60 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(36deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-60 {
|
@keyframes circular-loading-60 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -227,15 +192,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-65 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(54deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-65 {
|
@keyframes circular-loading-65 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -245,15 +201,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-70 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(72deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-70 {
|
@keyframes circular-loading-70 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -263,15 +210,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-75 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-75 {
|
@keyframes circular-loading-75 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -281,15 +219,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-80 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(108deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-80 {
|
@keyframes circular-loading-80 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -299,15 +228,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-85 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(126deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-85 {
|
@keyframes circular-loading-85 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -317,15 +237,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-90 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(144deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-90 {
|
@keyframes circular-loading-90 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -335,15 +246,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-95 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(162deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-95 {
|
@keyframes circular-loading-95 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -353,15 +255,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-100 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(180deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-100 {
|
@keyframes circular-loading-100 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -371,15 +264,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-1 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(180deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-1 {
|
@keyframes circular-loading-1 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -389,15 +273,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-2 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(144deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-2 {
|
@keyframes circular-loading-2 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -407,15 +282,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-3 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-3 {
|
@keyframes circular-loading-3 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -425,15 +291,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-4 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(36deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-4 {
|
@keyframes circular-loading-4 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -443,15 +300,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes circular-loading-5 {
|
|
||||||
0% {
|
|
||||||
transform: rotate(0deg);
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: rotate(126deg);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes circular-loading-5 {
|
@keyframes circular-loading-5 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -496,11 +344,24 @@
|
|||||||
.about-section.container {
|
.about-section.container {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.circular-progress {
|
||||||
|
width: 135px;
|
||||||
|
height: 135px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Small devices (landscape phones, 576px and up) */
|
/* Small devices (landscape phones, 576px and up) */
|
||||||
|
|
||||||
@media only screen and (max-width: 576px) {
|
@media only screen and (max-width: 576px) {
|
||||||
|
.circular-progress {
|
||||||
|
width: 150px;
|
||||||
|
height: 150px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.circular-progress .circular-progress-value {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* iPhoneX, iPhone 6,7,8 */
|
/* iPhoneX, iPhone 6,7,8 */
|
||||||
@@ -513,4 +374,12 @@
|
|||||||
|
|
||||||
/* iPhone 5 or before */
|
/* iPhone 5 or before */
|
||||||
@media only screen and (max-width: 320px) {
|
@media only screen and (max-width: 320px) {
|
||||||
|
.col-6 {
|
||||||
|
flex: auto;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.social-link {
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
.accomplishments-section h1 > span{
|
||||||
|
margin-top: -55px; /* Size of fixed header */
|
||||||
|
padding-bottom:55px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.accomplishments-section .card {
|
.accomplishments-section .card {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-top: 2px solid #248aaa;
|
border-top: 2px solid #248aaa;
|
||||||
|
|||||||
@@ -2,6 +2,12 @@
|
|||||||
padding-top: 0.5rem;
|
padding-top: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.achievements-section h1 > span{
|
||||||
|
margin-top: -55px; /* Size of fixed header */
|
||||||
|
padding-bottom:55px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
#gallery .achievement-entry {
|
#gallery .achievement-entry {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
.education-section .education-info-table {
|
.education-section .education-info-table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: none;
|
border: none;
|
||||||
|
background: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.education-section .education-info-table tr:hover {
|
.education-section .education-info-table tr:hover {
|
||||||
@@ -12,6 +13,7 @@
|
|||||||
.education-section .education-info-table td {
|
.education-section .education-info-table td {
|
||||||
border: none;
|
border: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
|
background: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.education-section .timeframe {
|
.education-section .timeframe {
|
||||||
@@ -19,6 +21,12 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.education-section h1 > span{
|
||||||
|
margin-top: -55px; /* Size of fixed header */
|
||||||
|
padding-bottom:55px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.education-section .icon {
|
.education-section .icon {
|
||||||
width: 2rem;
|
width: 2rem;
|
||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
@@ -36,7 +44,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.education-section .education-info-table tr:first-child .hline {
|
.education-section .education-info-table tr:first-child .hline {
|
||||||
height: 60%;
|
height: 65%;
|
||||||
top: auto;
|
top: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,7 +110,9 @@
|
|||||||
border: none;
|
border: none;
|
||||||
color: #212529;
|
color: #212529;
|
||||||
}
|
}
|
||||||
|
.education-section .taken-courses th.course-name-header{
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
.education-section .taken-courses .hidden-course {
|
.education-section .taken-courses .hidden-course {
|
||||||
display: none;
|
display: none;
|
||||||
transition: all 1s ease-out;
|
transition: all 1s ease-out;
|
||||||
|
|||||||
@@ -6,6 +6,12 @@
|
|||||||
margin-top: 1.5rem !important;
|
margin-top: 1.5rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.experiences-section h1 > span{
|
||||||
|
margin-top: -55px; /* Size of fixed header */
|
||||||
|
padding-bottom:55px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.experiences-section ul {
|
.experiences-section ul {
|
||||||
padding-left: 1rem;
|
padding-left: 1rem;
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user