Compare commits
130 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 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 |
@@ -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
|
||||||
|
|||||||
@@ -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.4.0
|
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.1
|
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.5.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.0
|
||||||
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.13
|
- 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,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,10 @@ For more details about the features please visit [here](https://toha-guides.netl
|
|||||||
- 日本語
|
- 日本語
|
||||||
- 한국어
|
- 한국어
|
||||||
- русский
|
- русский
|
||||||
|
- suomi
|
||||||
- Tiếng Việt
|
- Tiếng Việt
|
||||||
|
- Turkish
|
||||||
|
- Arabic (العربية)
|
||||||
|
|
||||||
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 +82,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 +148,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 +179,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,12 +246,13 @@ Here is the check list for portfolio mode,
|
|||||||
|
|
||||||
- [ ] **Publications**
|
- [ ] **Publications**
|
||||||
|
|
||||||
- [ ] Category Filter
|
- [x] Category Filter
|
||||||
- [ ] Card
|
- [x] Card
|
||||||
|
- [x] Tags
|
||||||
|
- [x] Links
|
||||||
|
- [ ] Dedicated Page
|
||||||
- [ ] Abstract
|
- [ ] Abstract
|
||||||
- [ ] Authors
|
- [ ] Authors
|
||||||
- [ ] Tags
|
|
||||||
- [ ] Links
|
|
||||||
- [ ] Gallery
|
- [ ] 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 = "بحث"
|
||||||
@@ -118,3 +118,6 @@ other = "নোট সমূহ"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "দায় বিজ্ঞপ্তি"
|
other = "দায় বিজ্ঞপ্তি"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "অনুসন্ধান করুন"
|
||||||
|
|||||||
@@ -121,3 +121,6 @@ other = "Notizen"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Haftungshinweis"
|
other = "Haftungshinweis"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Suche"
|
||||||
|
|||||||
@@ -121,3 +121,6 @@ other = "Notes"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Liability Notice"
|
other = "Liability Notice"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Search"
|
||||||
|
|||||||
@@ -121,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"
|
||||||
@@ -121,3 +121,6 @@ other = "Remarques"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Avis de responsabilité"
|
other = "Avis de responsabilité"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Chercher"
|
||||||
|
|||||||
@@ -121,3 +121,6 @@ other = "टिप्पणियाँ"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "दायित्व सूचना"
|
other = "दायित्व सूचना"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "खोज"
|
||||||
|
|||||||
@@ -121,3 +121,6 @@ other = "Catatan"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Pemberitahuan Kewajiban"
|
other = "Pemberitahuan Kewajiban"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Mencari"
|
||||||
|
|||||||
@@ -121,3 +121,6 @@ other = "Appunti"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Avviso di responsabilità"
|
other = "Avviso di responsabilità"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Ricerca"
|
||||||
|
|||||||
@@ -118,3 +118,6 @@ other = "ノート"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "責任通知"
|
other = "責任通知"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "検索"
|
||||||
|
|||||||
@@ -121,3 +121,6 @@ other = "메모"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "책임 고지"
|
other = "책임 고지"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "찾다"
|
||||||
|
|||||||
+30
-27
@@ -1,11 +1,11 @@
|
|||||||
[home]
|
[home]
|
||||||
other = "Startseite"
|
other = "Hoofdpagina"
|
||||||
|
|
||||||
[posts]
|
[posts]
|
||||||
other = "Beiträge"
|
other = "Posts"
|
||||||
|
|
||||||
[toc_heading]
|
[toc_heading]
|
||||||
other = "Inhaltsverzeichnis"
|
other = "Inhoudsopgave"
|
||||||
|
|
||||||
[tags]
|
[tags]
|
||||||
other = "Tags"
|
other = "Tags"
|
||||||
@@ -14,49 +14,49 @@ other = "Tags"
|
|||||||
other = "Categorieën"
|
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 = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website."
|
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]
|
[share_on]
|
||||||
# other = "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"
|
||||||
@@ -65,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"
|
||||||
@@ -85,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"
|
||||||
@@ -103,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"
|
||||||
@@ -119,4 +119,7 @@ other = "Bekijk certificaat"
|
|||||||
other = "Opmerkingen"
|
other = "Opmerkingen"
|
||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "Haftungshinweis"
|
other = "Aansprakelijkheidsverklaring"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "Zoek"
|
||||||
|
|||||||
@@ -121,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"
|
||||||
@@ -121,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"
|
||||||
|
|||||||
+5
-2
@@ -53,8 +53,8 @@ other = "上一篇"
|
|||||||
[next]
|
[next]
|
||||||
other = "下一篇"
|
other = "下一篇"
|
||||||
|
|
||||||
# [share_on]
|
[share_on]
|
||||||
# other = "Share on"
|
other = "分享"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "改善此页面"
|
other = "改善此页面"
|
||||||
@@ -121,3 +121,6 @@ other = "笔记"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "免责声明"
|
other = "免责声明"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "搜索"
|
||||||
|
|||||||
+21
-18
@@ -53,8 +53,8 @@ other = "上一篇"
|
|||||||
[next]
|
[next]
|
||||||
other = "下一篇"
|
other = "下一篇"
|
||||||
|
|
||||||
# [share_on]
|
[share_on]
|
||||||
# other = "Share on"
|
other = "分享"
|
||||||
|
|
||||||
[improve_this_page]
|
[improve_this_page]
|
||||||
other = "改善此頁面"
|
other = "改善此頁面"
|
||||||
@@ -86,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 = "評論由"
|
||||||
|
|
||||||
# [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 = "更多的"
|
||||||
@@ -121,3 +121,6 @@ other = "筆記"
|
|||||||
|
|
||||||
[disclaimer_text]
|
[disclaimer_text]
|
||||||
other = "免責聲明"
|
other = "免責聲明"
|
||||||
|
|
||||||
|
[search]
|
||||||
|
other = "搜索"
|
||||||
|
|||||||
@@ -9,16 +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" . -}}
|
||||||
<!-- Google Analytics v3 ID -->
|
|
||||||
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
|
|
||||||
{{ template "_internal/google_analytics_async.html" . }}
|
|
||||||
{{ else }}
|
|
||||||
<!-- Google Analytics v4 ID -->
|
|
||||||
{{ template "_internal/google_analytics.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
|
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
|
||||||
@@ -45,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>
|
||||||
|
|||||||
@@ -20,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>
|
||||||
@@ -20,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">
|
||||||
|
|||||||
@@ -20,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">
|
||||||
@@ -40,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-->
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
<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">
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
<div class="col-md-6 btn-improve-page">
|
<div class="col-md-6 btn-improve-page">
|
||||||
{{ if ( eq site.Params.GitForge "gitlab" ) }}
|
{{ if ( eq site.Params.GitForge "gitlab" ) }}
|
||||||
<a href="{{ site.Params.GitRepo }}/-/edit/{{ .Scratch.Get "GitBranch" }}/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
|
<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" ) }}
|
{{ 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">
|
<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 -->
|
{{ else }} <!--- Make Github-style the default -->
|
||||||
@@ -155,10 +155,17 @@
|
|||||||
<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>
|
||||||
@@ -172,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>
|
||||||
@@ -190,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 }}
|
||||||
|
|||||||
@@ -20,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">
|
||||||
|
|||||||
+7
-10
@@ -25,20 +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 =========================-->
|
<!--================= custom style overrides =========================-->
|
||||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
<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" . -}}
|
||||||
<!-- Google Analytics v3 ID -->
|
|
||||||
{{ if hasPrefix site.GoogleAnalytics "UA-"}}
|
|
||||||
{{ template "_internal/google_analytics_async.html" . }}
|
|
||||||
{{ else }}
|
|
||||||
<!-- Google Analytics v4 ID -->
|
|
||||||
{{ template "_internal/google_analytics.html" . }}
|
|
||||||
{{ end }}
|
|
||||||
{{ 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">
|
||||||
|
|
||||||
@@ -87,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,67 @@
|
|||||||
|
<!-- 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>
|
||||||
|
if (
|
||||||
|
!sessionStorage.getItem("_swa") &&
|
||||||
|
document.referrer.indexOf(location.protocol + "//" + location.host) !== 0
|
||||||
|
) {
|
||||||
|
fetch(
|
||||||
|
"https://counter.dev/track?" +
|
||||||
|
new URLSearchParams({
|
||||||
|
referrer: document.referrer,
|
||||||
|
screen: screen.width + "x" + screen.height,
|
||||||
|
user: "{{ .id }}",
|
||||||
|
utcoffset: "1",
|
||||||
|
}),
|
||||||
|
{{ with .referrerPolicy }}
|
||||||
|
{ referrerPolicy: "{{ . }}" }
|
||||||
|
{{ end }}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
sessionStorage.setItem("_swa", "1");
|
||||||
|
</script>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- GoatCounter -->
|
||||||
|
{{ with .goatCounter }}
|
||||||
|
<script
|
||||||
|
data-goatcounter="https://{{ .code }}.goatcounter.com/count"
|
||||||
|
async
|
||||||
|
src="//gc.zgo.at/count.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 }}
|
||||||
@@ -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 }}" />
|
||||||
{{ end }}
|
|
||||||
<h5 class="card-title">{{ .name }}</h5>
|
<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 }}
|
||||||
</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 }}
|
||||||
@@ -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,8 +101,38 @@
|
|||||||
<h5>{{ i18n "contact_me" }}</h5>
|
<h5>{{ i18n "contact_me" }}</h5>
|
||||||
<ul>
|
<ul>
|
||||||
{{ range $key,$value:= $author.contactInfo }}
|
{{ range $key,$value:= $author.contactInfo }}
|
||||||
|
{{ if (eq $key "email") }}
|
||||||
|
<li><a href={{ printf "mailto:%s" $value }} target="_blank" rel="noopener">
|
||||||
|
<span><i class="fas fa-envelope"></i></span> <span>{{ $value }}</span>
|
||||||
|
</a></li>
|
||||||
|
{{ else if (eq $key "phone") }}
|
||||||
|
<li><span><i class="fas fa-phone-alt"></i></span> <span>{{ $value }}</span></li>
|
||||||
|
{{ else if (eq $key "linkedin") }}
|
||||||
|
<li><a href={{ printf "https://www.linkedin.com/in/%s" $value }} target="_blank" rel="noopener">
|
||||||
|
<span><i class="fab fa-linkedin"></i></span> <span>{{ $author.name }}</span>
|
||||||
|
</a></li>
|
||||||
|
{{ else if (eq $key "github") }}
|
||||||
|
<li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener">
|
||||||
|
<span><i class="fab fa-github"></i></span> <span>{{ $value }}</span>
|
||||||
|
</a></li>
|
||||||
|
{{ else if reflect.IsMap $value }}
|
||||||
|
<li>
|
||||||
|
{{ if (and (isset $value "url") (isset $value "icon"))}}
|
||||||
|
<a href={{ $value.url }} target="_blank" rel="noopener">
|
||||||
|
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
|
||||||
|
</a>
|
||||||
|
{{ else if isset $value "icon" }}
|
||||||
|
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
|
||||||
|
{{ else }}
|
||||||
|
<a href={{ $value.url }} target="_blank" rel="noopener">
|
||||||
|
<span>{{ title $key }}: </span> <span>{{ $value.text }}</span>
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
</li>
|
||||||
|
{{ else }}
|
||||||
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
|
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
@@ -128,6 +173,7 @@
|
|||||||
<input type='hidden' name='schedule_type' value='1' />
|
<input type='hidden' name='schedule_type' value='1' />
|
||||||
<small id="emailHelp" class="form-text text-muted">{{ i18n "newsletter_warning" }}</small>
|
<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>
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -9,9 +9,16 @@
|
|||||||
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
|
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
|
||||||
|
|
||||||
<!--=================== cdn ==============================-->
|
<!--=================== fonts ==============================-->
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600" rel="stylesheet">
|
<link rel="stylesheet" href="{{ "/google-fonts/Mulish/mulish.css" | relURL }}"/>
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
|
|
||||||
|
<!--=================== icons ==============================-->
|
||||||
|
<link rel="stylesheet" href="{{ "/fontawesome/css/all.min.css" | relURL }}"/>
|
||||||
|
|
||||||
|
<!--=================== dark mode ==========================-->
|
||||||
|
{{ if site.Params.darkMode.enable }}
|
||||||
|
<link rel="stylesheet" href="{{ "/css/colortheme/colortheme.css" | relURL }}"/>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
<!--================= fab-icon =========================-->
|
<!--================= fab-icon =========================-->
|
||||||
{{/* add favicon only if the site author has provided the the favicon */}}
|
{{/* add favicon only if the site author has provided the the favicon */}}
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -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">
|
||||||
|
{{ if ne site.Params.showFlags false }}
|
||||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}">
|
<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 }}">
|
||||||
|
{{ if ne site.Params.showFlags false }}
|
||||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}">
|
<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">
|
||||||
|
{{ if ne site.Params.showFlags false }}
|
||||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
<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 }}">
|
||||||
|
{{ if ne site.Params.showFlags false }}
|
||||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||||
|
{{ end }}
|
||||||
{{ .Language.LanguageName }}
|
{{ .Language.LanguageName }}
|
||||||
</a>
|
</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -1,14 +1,18 @@
|
|||||||
<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">
|
||||||
|
{{ if ne site.Params.showFlags false }}
|
||||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
<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 site.Home.AllTranslations }}
|
{{ range site.Home.AllTranslations }}
|
||||||
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
|
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
|
||||||
|
{{ if ne site.Params.showFlags false }}
|
||||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||||
|
{{ end }}
|
||||||
{{ .Language.LanguageName }}
|
{{ .Language.LanguageName }}
|
||||||
</a>
|
</a>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
|||||||
@@ -47,6 +47,9 @@
|
|||||||
{{ 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>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{{/* 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 }}
|
||||||
@@ -65,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 }}
|
||||||
@@ -114,13 +115,18 @@
|
|||||||
</li>
|
</li>
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{ range $customMenus }}
|
{{ range $customMenus }}
|
||||||
|
{{ if (not .hideFromNavbar) }}
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||||
</li>
|
</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>
|
||||||
|
|||||||
@@ -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 }}
|
||||||
@@ -31,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>
|
||||||
@@ -45,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,9 +3,13 @@
|
|||||||
{{ $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">
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -5,16 +5,23 @@
|
|||||||
|
|
||||||
<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">
|
||||||
|
<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">
|
||||||
<table class="education-info-table">
|
<table class="education-info-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
{{ $count := len .degrees }}
|
||||||
{{ range .degrees}}
|
{{ range .degrees}}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="icon">
|
<td class="icon">
|
||||||
|
{{ if gt $count 1}}
|
||||||
<div class="hline"></div>
|
<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 }}"
|
||||||
|
|||||||
@@ -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">
|
||||||
|
<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">
|
||||||
<table class="education-info-table">
|
<table class="education-info-table">
|
||||||
<tbody>
|
<tbody>
|
||||||
|
{{ $count := len .degrees }}
|
||||||
{{ range .degrees}}
|
{{ range .degrees}}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="icon">
|
<td class="icon">
|
||||||
|
{{ if gt $count 1}}
|
||||||
<div class="hline"></div>
|
<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 }}"
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -77,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>
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -9,9 +9,13 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
<div class="container-fluid anchor pb-5 recent-posts-section" id="{{ $sectionID }}">
|
<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">
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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>
|
||||||
@@ -20,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">
|
||||||
|
|||||||
Generated
+172
-120
@@ -8,8 +8,8 @@
|
|||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"autoprefixer": "^10.3.5",
|
"autoprefixer": "^10.4.12",
|
||||||
"postcss": "^8.3.7",
|
"postcss": "^8.4.17",
|
||||||
"postcss-cli": "^8.3.1"
|
"postcss-cli": "^8.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -104,17 +104,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/autoprefixer": {
|
"node_modules/autoprefixer": {
|
||||||
"version": "10.3.5",
|
"version": "10.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
|
||||||
"integrity": "sha512-2H5kQSsyoOMdIehTzIt/sC9ZDIgWqlkG/dbevm9B9xQZ1TDPBHpNUDW5ENqqQQzuaBWEo75JkV0LJe+o5Lnr5g==",
|
"integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/postcss/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
|
||||||
|
}
|
||||||
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.17.1",
|
"browserslist": "^4.21.4",
|
||||||
"caniuse-lite": "^1.0.30001259",
|
"caniuse-lite": "^1.0.30001407",
|
||||||
"fraction.js": "^4.1.1",
|
"fraction.js": "^4.2.0",
|
||||||
"nanocolors": "^0.1.5",
|
|
||||||
"normalize-range": "^0.1.2",
|
"normalize-range": "^0.1.2",
|
||||||
"postcss-value-parser": "^4.1.0"
|
"picocolors": "^1.0.0",
|
||||||
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"autoprefixer": "bin/autoprefixer"
|
"autoprefixer": "bin/autoprefixer"
|
||||||
@@ -122,10 +132,6 @@
|
|||||||
"engines": {
|
"engines": {
|
||||||
"node": "^10 || ^12 || >=14"
|
"node": "^10 || ^12 || >=14"
|
||||||
},
|
},
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/postcss/"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"postcss": "^8.1.0"
|
"postcss": "^8.1.0"
|
||||||
}
|
}
|
||||||
@@ -152,40 +158,48 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/browserslist": {
|
"node_modules/browserslist": {
|
||||||
"version": "4.17.1",
|
"version": "4.21.4",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
|
||||||
"integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==",
|
"integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/browserslist"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
||||||
|
}
|
||||||
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"caniuse-lite": "^1.0.30001259",
|
"caniuse-lite": "^1.0.30001400",
|
||||||
"electron-to-chromium": "^1.3.846",
|
"electron-to-chromium": "^1.4.251",
|
||||||
"escalade": "^3.1.1",
|
"node-releases": "^2.0.6",
|
||||||
"nanocolors": "^0.1.5",
|
"update-browserslist-db": "^1.0.9"
|
||||||
"node-releases": "^1.1.76"
|
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"browserslist": "cli.js"
|
"browserslist": "cli.js"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/browserslist"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001260",
|
"version": "1.0.30001414",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz",
|
||||||
"integrity": "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==",
|
"integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"funding": [
|
||||||
"nanocolors": "^0.1.0"
|
{
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
"url": "https://opencollective.com/browserslist"
|
"url": "https://opencollective.com/browserslist"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
||||||
}
|
}
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"node_modules/chalk": {
|
"node_modules/chalk": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
@@ -281,9 +295,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.3.849",
|
"version": "1.4.270",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz",
|
||||||
"integrity": "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==",
|
"integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/emoji-regex": {
|
"node_modules/emoji-regex": {
|
||||||
@@ -339,9 +353,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fraction.js": {
|
"node_modules/fraction.js": {
|
||||||
"version": "4.1.1",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||||
"integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==",
|
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "*"
|
"node": "*"
|
||||||
@@ -605,16 +619,10 @@
|
|||||||
"node": ">=8.6"
|
"node": ">=8.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/nanocolors": {
|
|
||||||
"version": "0.1.12",
|
|
||||||
"resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz",
|
|
||||||
"integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.1.25",
|
"version": "3.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||||
"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
|
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"nanoid": "bin/nanoid.cjs"
|
"nanoid": "bin/nanoid.cjs"
|
||||||
@@ -624,9 +632,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/node-releases": {
|
"node_modules/node-releases": {
|
||||||
"version": "1.1.76",
|
"version": "2.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz",
|
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
|
||||||
"integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==",
|
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/normalize-path": {
|
"node_modules/normalize-path": {
|
||||||
@@ -656,6 +664,12 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"node_modules/picomatch": {
|
"node_modules/picomatch": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
||||||
@@ -678,21 +692,27 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss": {
|
"node_modules/postcss": {
|
||||||
"version": "8.3.7",
|
"version": "8.4.17",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz",
|
||||||
"integrity": "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==",
|
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/postcss/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||||
|
}
|
||||||
|
],
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"nanocolors": "^0.1.5",
|
"nanoid": "^3.3.4",
|
||||||
"nanoid": "^3.1.25",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^0.6.2"
|
"source-map-js": "^1.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^10 || ^12 || >=14"
|
"node": "^10 || ^12 || >=14"
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/postcss/"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-cli": {
|
"node_modules/postcss-cli": {
|
||||||
@@ -775,9 +795,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/postcss-value-parser": {
|
"node_modules/postcss-value-parser": {
|
||||||
"version": "4.1.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
|
||||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
|
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/pretty-hrtime": {
|
"node_modules/pretty-hrtime": {
|
||||||
@@ -891,9 +911,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/source-map-js": {
|
"node_modules/source-map-js": {
|
||||||
"version": "0.6.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
"integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
@@ -958,6 +978,32 @@
|
|||||||
"node": ">= 10.0.0"
|
"node": ">= 10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/update-browserslist-db": {
|
||||||
|
"version": "1.0.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz",
|
||||||
|
"integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==",
|
||||||
|
"dev": true,
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/browserslist"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "tidelift",
|
||||||
|
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"escalade": "^3.1.1",
|
||||||
|
"picocolors": "^1.0.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"browserslist-lint": "cli.js"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"browserslist": ">= 4.21.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/wrap-ansi": {
|
"node_modules/wrap-ansi": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
@@ -1086,17 +1132,17 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"autoprefixer": {
|
"autoprefixer": {
|
||||||
"version": "10.3.5",
|
"version": "10.4.12",
|
||||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
|
||||||
"integrity": "sha512-2H5kQSsyoOMdIehTzIt/sC9ZDIgWqlkG/dbevm9B9xQZ1TDPBHpNUDW5ENqqQQzuaBWEo75JkV0LJe+o5Lnr5g==",
|
"integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"browserslist": "^4.17.1",
|
"browserslist": "^4.21.4",
|
||||||
"caniuse-lite": "^1.0.30001259",
|
"caniuse-lite": "^1.0.30001407",
|
||||||
"fraction.js": "^4.1.1",
|
"fraction.js": "^4.2.0",
|
||||||
"nanocolors": "^0.1.5",
|
|
||||||
"normalize-range": "^0.1.2",
|
"normalize-range": "^0.1.2",
|
||||||
"postcss-value-parser": "^4.1.0"
|
"picocolors": "^1.0.0",
|
||||||
|
"postcss-value-parser": "^4.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"binary-extensions": {
|
"binary-extensions": {
|
||||||
@@ -1115,26 +1161,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"browserslist": {
|
"browserslist": {
|
||||||
"version": "4.17.1",
|
"version": "4.21.4",
|
||||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
|
||||||
"integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==",
|
"integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"caniuse-lite": "^1.0.30001259",
|
"caniuse-lite": "^1.0.30001400",
|
||||||
"electron-to-chromium": "^1.3.846",
|
"electron-to-chromium": "^1.4.251",
|
||||||
"escalade": "^3.1.1",
|
"node-releases": "^2.0.6",
|
||||||
"nanocolors": "^0.1.5",
|
"update-browserslist-db": "^1.0.9"
|
||||||
"node-releases": "^1.1.76"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"caniuse-lite": {
|
"caniuse-lite": {
|
||||||
"version": "1.0.30001260",
|
"version": "1.0.30001414",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001414.tgz",
|
||||||
"integrity": "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==",
|
"integrity": "sha512-t55jfSaWjCdocnFdKQoO+d2ct9C59UZg4dY3OnUlSZ447r8pUtIKdp0hpAzrGFultmTC+Us+KpKi4GZl/LXlFg==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"requires": {
|
|
||||||
"nanocolors": "^0.1.0"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"chalk": {
|
"chalk": {
|
||||||
"version": "4.1.2",
|
"version": "4.1.2",
|
||||||
@@ -1210,9 +1252,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"electron-to-chromium": {
|
"electron-to-chromium": {
|
||||||
"version": "1.3.849",
|
"version": "1.4.270",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz",
|
||||||
"integrity": "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==",
|
"integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"emoji-regex": {
|
"emoji-regex": {
|
||||||
@@ -1259,9 +1301,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"fraction.js": {
|
"fraction.js": {
|
||||||
"version": "4.1.1",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||||
"integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==",
|
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"fs-extra": {
|
"fs-extra": {
|
||||||
@@ -1452,22 +1494,16 @@
|
|||||||
"picomatch": "^2.2.3"
|
"picomatch": "^2.2.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nanocolors": {
|
|
||||||
"version": "0.1.12",
|
|
||||||
"resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz",
|
|
||||||
"integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"nanoid": {
|
"nanoid": {
|
||||||
"version": "3.1.25",
|
"version": "3.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||||
"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
|
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node-releases": {
|
"node-releases": {
|
||||||
"version": "1.1.76",
|
"version": "2.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz",
|
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
|
||||||
"integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==",
|
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"normalize-path": {
|
"normalize-path": {
|
||||||
@@ -1488,6 +1524,12 @@
|
|||||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"picocolors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"picomatch": {
|
"picomatch": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
||||||
@@ -1501,14 +1543,14 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "8.3.7",
|
"version": "8.4.17",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.17.tgz",
|
||||||
"integrity": "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==",
|
"integrity": "sha512-UNxNOLQydcOFi41yHNMcKRZ39NeXlr8AxGuZJsdub8vIb12fHzcq37DTU/QtbI6WLxNg2gF9Z+8qtRwTj1UI1Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"nanocolors": "^0.1.5",
|
"nanoid": "^3.3.4",
|
||||||
"nanoid": "^3.1.25",
|
"picocolors": "^1.0.0",
|
||||||
"source-map-js": "^0.6.2"
|
"source-map-js": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-cli": {
|
"postcss-cli": {
|
||||||
@@ -1557,9 +1599,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"postcss-value-parser": {
|
"postcss-value-parser": {
|
||||||
"version": "4.1.0",
|
"version": "4.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
|
||||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
|
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"pretty-hrtime": {
|
"pretty-hrtime": {
|
||||||
@@ -1626,9 +1668,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"source-map-js": {
|
"source-map-js": {
|
||||||
"version": "0.6.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
|
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||||
"integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
|
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"string-width": {
|
"string-width": {
|
||||||
@@ -1675,6 +1717,16 @@
|
|||||||
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
|
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"update-browserslist-db": {
|
||||||
|
"version": "1.0.9",
|
||||||
|
"resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz",
|
||||||
|
"integrity": "sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"escalade": "^3.1.1",
|
||||||
|
"picocolors": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"wrap-ansi": {
|
"wrap-ansi": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||||
|
|||||||
+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.3.5",
|
"autoprefixer": "^10.4.12",
|
||||||
"postcss": "^8.3.7",
|
"postcss": "^8.4.17",
|
||||||
"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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -307,6 +307,8 @@ h6 {
|
|||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background: #248aaa;
|
background: #248aaa;
|
||||||
|
margin-left: 0.2em;
|
||||||
|
margin-right: 0.2em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.taxonomy-terms a {
|
.taxonomy-terms a {
|
||||||
@@ -436,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;
|
||||||
@@ -449,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;
|
||||||
|
|||||||
@@ -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,69 +122,49 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.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 {
|
||||||
0% {
|
0% {
|
||||||
transform: rotate(0deg);
|
transform: rotate(0deg);
|
||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Resolves https://github.com/hossainemruz/toha/issues/70
|
Resolves https://github.com/hugo-toha/toha/issues/70
|
||||||
|
|
||||||
fixed attached images use the whole <body> size. On mobile this can get really
|
fixed attached images use the whole <body> size. On mobile this can get really
|
||||||
tall which blows your image out. Setting the attachment back to scroll allows
|
tall which blows your image out. Setting the attachment back to scroll allows
|
||||||
@@ -66,26 +66,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.bounce {
|
.bounce {
|
||||||
-webkit-animation: bounce 2s infinite;
|
|
||||||
animation: bounce 2s infinite;
|
animation: bounce 2s infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes bounce {
|
|
||||||
0%,
|
|
||||||
20%,
|
|
||||||
50%,
|
|
||||||
80%,
|
|
||||||
100% {
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
40% {
|
|
||||||
transform: translateY(-30px);
|
|
||||||
}
|
|
||||||
60% {
|
|
||||||
transform: translateY(-15px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes bounce {
|
@keyframes bounce {
|
||||||
0%,
|
0%,
|
||||||
20%,
|
20%,
|
||||||
|
|||||||
@@ -0,0 +1,147 @@
|
|||||||
|
.publications-section h1 > span{
|
||||||
|
margin-top: -55px; /* Size of fixed header */
|
||||||
|
padding-bottom:55px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.publications-section .card {
|
||||||
|
background: #fff;
|
||||||
|
border-top: 2px solid #248aaa;
|
||||||
|
}
|
||||||
|
.publications-section .card .card-header {
|
||||||
|
background: none;
|
||||||
|
border: none;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.publications-section .card .card-header .sub-title {
|
||||||
|
color: #8392a5;
|
||||||
|
margin-top: 0.4rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.publications-section .card .sub-title :nth-child(2) {
|
||||||
|
float: right !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.publications-section .card .card-body {
|
||||||
|
padding: 0;
|
||||||
|
padding-left: 1rem;
|
||||||
|
padding-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.publications-section .card .card-footer {
|
||||||
|
background: #fff;
|
||||||
|
border: none;
|
||||||
|
padding: 0;
|
||||||
|
padding-left: 1rem;
|
||||||
|
padding-right: 1rem;
|
||||||
|
padding-bottom: 0.3rem;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.publications-section .card .card-footer .tags {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
.publications-section .card .card-footer .tags .badge {
|
||||||
|
cursor: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.filtr-publications {
|
||||||
|
padding: 1rem !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.publications-section .btn-group{
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ============= Device specific fixes ======= */
|
||||||
|
|
||||||
|
/* Large screens such as TV */
|
||||||
|
@media only screen and (min-width: 1824px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Extra large devices (large desktops, 1200px and up) */
|
||||||
|
|
||||||
|
@media (max-width: 1400px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: 1200px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* IPad Pro */
|
||||||
|
@media (max-width: 1024px) {
|
||||||
|
.publications-section {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.publications-section .container {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.publicationss-section .filtr-publications {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.publicationss-section .pub-filtr-item {
|
||||||
|
padding-left: 0.2rem;
|
||||||
|
padding-right: 0.2rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Large devices (desktops, 992px and up) */
|
||||||
|
|
||||||
|
@media (max-width: 992px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Medium devices (tablets, 768px and up) */
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
.publications-section {
|
||||||
|
padding-left: 0;
|
||||||
|
padding-right: 0;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.publications-section .container {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.publications-section .filtr-publications {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.publications-section .pub-filtr-item {
|
||||||
|
padding-left: 0.2rem;
|
||||||
|
padding-right: 0.2rem;
|
||||||
|
flex: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Small devices (landscape phones, 576px and up) */
|
||||||
|
|
||||||
|
@media only screen and (max-width: 576px) {
|
||||||
|
.publications-section .btn {
|
||||||
|
margin-top: 0.3125rem;
|
||||||
|
}
|
||||||
|
.publications-section .pub-filtr-item {
|
||||||
|
flex: 100%;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.publications-section .card .card-footer .tags {
|
||||||
|
flex: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* iPhoneX, iPhone 6,7,8 */
|
||||||
|
@media only screen and (max-width: 375px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Galaxy S5, Moto G4 */
|
||||||
|
@media only screen and (max-width: 360px) {
|
||||||
|
}
|
||||||
|
|
||||||
|
/* iPhone 5 or before */
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
}
|
||||||
@@ -2,6 +2,12 @@
|
|||||||
padding-top: 1rem;
|
padding-top: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.recent-posts-section h1 > span{
|
||||||
|
margin-top: -55px; /* Size of fixed header */
|
||||||
|
padding-bottom:55px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.recent-posts-section .card .card-footer span {
|
.recent-posts-section .card .card-footer span {
|
||||||
font-size: 10pt;
|
font-size: 10pt;
|
||||||
color: #6c757d !important;
|
color: #6c757d !important;
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
.skills-section .card .card-head {
|
.skills-section .card .card-head {
|
||||||
background-color: #f9fafc;
|
background-color: #f9fafc;
|
||||||
height: -webkit-fit-content;
|
|
||||||
height: -moz-fit-content;
|
height: -moz-fit-content;
|
||||||
height: fit-content;
|
height: fit-content;
|
||||||
padding: 0.7rem;
|
padding: 0.7rem;
|
||||||
@@ -8,6 +7,12 @@
|
|||||||
border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.125);
|
border-bottom: 0.0625rem solid rgba(0, 0, 0, 0.125);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.skills-section h1 > span{
|
||||||
|
margin-top: -55px; /* Size of fixed header */
|
||||||
|
padding-bottom:55px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
.skills-section .skill-card-link {
|
.skills-section .skill-card-link {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+6
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user