Compare commits
148 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 619c046222 | |||
| 7175b0d21f | |||
| 0cb3365b6a | |||
| 33d91af120 | |||
| 1dc00ccb1e | |||
| 36f42bde9d | |||
| 33c10915a8 | |||
| 0e8e182e33 | |||
| 211a0785fa | |||
| 32c5c04632 | |||
| c52b1f8dcc | |||
| 1685b0a3c4 | |||
| bd10f18553 | |||
| 1ca18416d1 | |||
| 3ef375f488 | |||
| 747106edcc | |||
| 1f17e61ad6 | |||
| 799572c792 | |||
| ca85a71230 | |||
| ea9812ec7c | |||
| d61d39b9fb | |||
| 56615bfa43 | |||
| 35ccacacd2 | |||
| 237a79332a | |||
| 872e2119c2 | |||
| 2500174f94 | |||
| e2463abc4e | |||
| 79282571eb | |||
| 6585f002a9 | |||
| d32ac9a43e | |||
| 412376fdc1 | |||
| 63931ee8f6 | |||
| bb87ee29ac | |||
| eefb6166eb | |||
| 55dd90a0dd | |||
| fe5d8af56d | |||
| b81fd5078b | |||
| eb167e0155 | |||
| 8cb07ffeb4 | |||
| 27c3d0f4cc | |||
| ad3dee71c2 | |||
| bf6f63976b | |||
| 6c8ab46a73 | |||
| 3d6246f3c9 | |||
| 4a5f6ce426 | |||
| 20bc7dd71f | |||
| 65049cfbb7 | |||
| 869eba97a2 | |||
| ddbb4bf7ce | |||
| 2ae15e5235 | |||
| eacae1be3e | |||
| 43fe14bfa1 | |||
| 06ee3c1e1f | |||
| baa4774862 | |||
| a22474538d | |||
| 827a940995 | |||
| f6440e69d5 | |||
| a50f947384 | |||
| a1bff16050 | |||
| e8615c64e2 | |||
| c43da0089d | |||
| c9cebe5fe8 | |||
| 4025a6e321 | |||
| 3809d298ca | |||
| 974d4485ba | |||
| 91b18c0f04 | |||
| c89fe66332 | |||
| 8caa12724e | |||
| 309118c068 | |||
| be903cfd69 | |||
| fe647ce34f | |||
| 17128e9388 | |||
| de221c342d | |||
| 6f5e748b5b | |||
| e151dad461 | |||
| 711d4c7749 | |||
| 56e1bc5a69 | |||
| d3b20dc424 | |||
| 8ac46052e4 | |||
| 6b4b367c13 | |||
| abca4629bc | |||
| 4c6e7d404d | |||
| 2c5f991275 | |||
| 1e951589ef | |||
| 896db21fa5 | |||
| 9e8d0c401d | |||
| 5772734a34 | |||
| 69132a1dae | |||
| 46769a2b6d | |||
| d74549f870 | |||
| 42a0e5100a | |||
| bfa1e4c2b3 | |||
| a159ff65b1 | |||
| e4cda24f7f | |||
| 585c1ef847 | |||
| 2b9ce8fb29 | |||
| d93c49d82a | |||
| 91f6b69fa7 | |||
| 99a131fe43 | |||
| 4ebbb523a5 | |||
| d0a6eb4b28 | |||
| 5e172bca28 | |||
| 93f422675f | |||
| 2e8bf65885 | |||
| 801208c664 | |||
| f69ec4fca3 | |||
| 063c65716b | |||
| 11ca8ef8b3 | |||
| ec80b7f22d | |||
| 2134464267 | |||
| f29aa9b4fa | |||
| d1bc8e2f4c | |||
| bc0b69d726 | |||
| cab383aa12 | |||
| 0b27282e6a | |||
| b5c841295c | |||
| 39e1433fca | |||
| 0c408aa7ce | |||
| e3c84e0ba1 | |||
| fea093c187 | |||
| 4e029b7de8 | |||
| 3cd9c910f7 | |||
| a4e30e80a3 | |||
| 5d3f195c00 | |||
| 8dbe04b95d | |||
| cac27fc8c4 | |||
| b9d6b6612c | |||
| 0d1bd1f9f4 | |||
| b28d8e93cf | |||
| 9c8b6bd59b | |||
| 0773fe303e | |||
| 32837a0938 | |||
| 8e7e195b91 | |||
| 232e5d2f3a | |||
| 2ffc0c7a9c | |||
| 098179ec1f | |||
| ff86f78b4d | |||
| b5c3713277 | |||
| ad149f4d80 | |||
| 35c6586412 | |||
| 6e41689c06 | |||
| f779ac4ebb | |||
| adf5d52ab3 | |||
| ba997ff4c5 | |||
| 7b604b30e5 | |||
| 8a8c0ec9fd | |||
| 6e849034ac | |||
| 41b1106703 |
@@ -6,8 +6,8 @@ title: 'Feature Request'
|
||||
|
||||
<!---
|
||||
Before filing an issue, please review the following:
|
||||
Existing Features: https://github.com/hossainemruz/toha#features
|
||||
Project Roadmap: https://github.com/hossainemruz/toha#project-roadmap
|
||||
Existing Features: https://github.com/hugo-toha/toha#features
|
||||
Project Roadmap: https://github.com/hugo-toha/toha#project-roadmap
|
||||
-->
|
||||
|
||||
### Describe the solution you'd like
|
||||
|
||||
@@ -8,10 +8,10 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout to latest commit
|
||||
uses: actions/checkout@v2.3.4
|
||||
uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v2.4.0
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "15.x"
|
||||
|
||||
@@ -21,7 +21,7 @@ jobs:
|
||||
npm run autoprefixer
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3.10.1
|
||||
uses: peter-evans/create-pull-request@v4
|
||||
with:
|
||||
branch: autoprefixer
|
||||
branch-suffix: timestamp
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
name: Run Build
|
||||
|
||||
# Run action on pull request event
|
||||
on: [pull_request]
|
||||
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
steps:
|
||||
# checkout to the commit that has been pushed
|
||||
- uses: actions/checkout@v3.1.0
|
||||
with:
|
||||
submodules: true # Fetch Hugo themes (true OR recursive)
|
||||
fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
|
||||
|
||||
# install Hugo
|
||||
- name: Setup Hugo
|
||||
uses: peaceiris/actions-hugo@v2.6.0
|
||||
with:
|
||||
hugo-version: 'latest'
|
||||
extended: true
|
||||
|
||||
# build website
|
||||
- name: Create Config
|
||||
run: touch config.toml
|
||||
- name: Build
|
||||
run: hugo --minify
|
||||
@@ -39,11 +39,11 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3.1.0
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
@@ -68,4 +68,4 @@ jobs:
|
||||
# make release
|
||||
|
||||
- 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
|
||||
steps:
|
||||
# Create/Update release draft
|
||||
- uses: release-drafter/release-drafter@v5.15.0
|
||||
- uses: release-drafter/release-drafter@v5.21.1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
@@ -8,6 +8,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# checkout to latest commit
|
||||
- uses: actions/checkout@master
|
||||
- uses: actions/checkout@v3.1.0
|
||||
# run markdown linter
|
||||
- uses: gaurav-nelson/github-action-markdown-link-check@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,3 +3,5 @@ node_modules/
|
||||
.DS_Store
|
||||
.history/
|
||||
resources/
|
||||
public/
|
||||
.hugo_build.lock
|
||||
@@ -3,7 +3,7 @@
|
||||
[](https://app.netlify.com/sites/toha/deploys)
|
||||
[](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
|
||||
- Sidebar to Categorize the Posts
|
||||
- Short Codes
|
||||
- Google Analytics Support
|
||||
- Disqus Comment Support
|
||||
- Analytics Support
|
||||
- GoatCounter
|
||||
- counter.dev
|
||||
- Google Analytics
|
||||
- Matomo/Piwik
|
||||
- Comment Support
|
||||
- [Disqus](https://disqus.com/)
|
||||
- [Valine](https://valine.js.org/)
|
||||
- [Uttarances](https://utteranc.es/)
|
||||
- [Giscus](https://giscus.app/)
|
||||
|
||||
For more details about the features please visit [here](https://toha-guides.netlify.app/posts/features/).
|
||||
|
||||
@@ -49,7 +57,11 @@ For more details about the features please visit [here](https://toha-guides.netl
|
||||
- 日本語
|
||||
- 한국어
|
||||
- русский
|
||||
- suomi
|
||||
- Tiếng Việt
|
||||
- Turkish
|
||||
- Arabic (العربية)
|
||||
- Português
|
||||
|
||||
To know more about how to translate your site, please visit [here](https://toha-guides.netlify.app/posts/translation/). Follow, the data and post format from this [example site](https://hugo-toha.github.io).
|
||||
|
||||
@@ -71,7 +83,7 @@ Here are few screenshots from the [example site](https://hugo-toha.github.io).
|
||||
|
||||
## Requirements
|
||||
|
||||
- Hugo Version 0.68.0 or higher
|
||||
- Hugo Version 0.87.0 or higher
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -137,6 +149,9 @@ params:
|
||||
# specify whether you want to show Table of Contents in reading page
|
||||
enableTOC: true
|
||||
|
||||
# specify whether you want the language flags to be displayed.
|
||||
showFlags: true
|
||||
|
||||
# Provide newsletter configuration.
|
||||
# This feature has been implemented for Mailchimp only for now.
|
||||
# You can also hide it from the footer.
|
||||
@@ -165,10 +180,12 @@ When you run your site for first time, it will start with the default parameters
|
||||
|
||||
Here, are some handy shortcodes you can use with this theme.
|
||||
|
||||
- [Alert](https://toha-guides.netlify.app/posts/short-codes/alert/)
|
||||
- [Image](https://toha-guides.netlify.app/posts/short-codes/img/)
|
||||
- [Split](https://toha-guides.netlify.app/posts/short-codes/split/)
|
||||
- [Vertical Space](https://toha-guides.netlify.app/posts/short-codes/vs/)
|
||||
- [Alert](https://toha-guides.netlify.app/posts/shortcodes/#alert)
|
||||
- [Image](https://toha-guides.netlify.app/posts/shortcodes/#image)
|
||||
- [Split](https://toha-guides.netlify.app/posts/shortcodes/#split)
|
||||
- [Vertical Space](https://toha-guides.netlify.app/posts/shortcodes/#vertical-space)
|
||||
- [Video](https://toha-guides.netlify.app/posts/shortcodes/#video)
|
||||
- [Mermaid](https://hugo-toha.github.io/posts/shortcodes/#mermaid)
|
||||
|
||||
## Project Roadmap
|
||||
|
||||
@@ -230,13 +247,14 @@ Here is the check list for portfolio mode,
|
||||
|
||||
- [ ] **Publications**
|
||||
|
||||
- [ ] Category Filter
|
||||
- [ ] Card
|
||||
- [ ] Abstract
|
||||
- [ ] Authors
|
||||
- [ ] Tags
|
||||
- [ ] Links
|
||||
- [ ] Gallery
|
||||
- [x] Category Filter
|
||||
- [x] Card
|
||||
- [x] Tags
|
||||
- [x] Links
|
||||
- [ ] Dedicated Page
|
||||
- [ ] Abstract
|
||||
- [ ] Authors
|
||||
- [ ] Gallery
|
||||
|
||||
- [x] **Accomplishment / Courses**
|
||||
|
||||
|
||||
+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]
|
||||
other = "দায় বিজ্ঞপ্তি"
|
||||
|
||||
[search]
|
||||
other = "অনুসন্ধান করুন"
|
||||
|
||||
+6
-3
@@ -72,10 +72,10 @@ other = "Belegte Kurse"
|
||||
other = "Kursname"
|
||||
|
||||
[total_credit]
|
||||
other = "Gesamtguthaben"
|
||||
other = "Mögliche Punktzahl"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Erhaltenes Guthaben"
|
||||
other = "Note"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Außerschulische Aktivitäten"
|
||||
@@ -108,7 +108,7 @@ other = "Star"
|
||||
other = "Details"
|
||||
|
||||
[err_404]
|
||||
other = "Die Seite nach der Seite ist noch nicht vorhanden."
|
||||
other = "Die von Ihnen gesuchte Seite ist noch nicht vorhanden."
|
||||
|
||||
[more]
|
||||
other = "Mehr"
|
||||
@@ -121,3 +121,6 @@ other = "Notizen"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Haftungshinweis"
|
||||
|
||||
[search]
|
||||
other = "Suche"
|
||||
|
||||
@@ -121,3 +121,6 @@ other = "Notes"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Liability Notice"
|
||||
|
||||
[search]
|
||||
other = "Search"
|
||||
|
||||
@@ -121,3 +121,6 @@ other = "Notas"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Aviso de responsabilidad"
|
||||
|
||||
[search]
|
||||
other = "Búsqueda"
|
||||
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Koti"
|
||||
|
||||
[posts]
|
||||
other = "Artikkelit"
|
||||
|
||||
[toc_heading]
|
||||
other = "Sisällysluettelo"
|
||||
|
||||
[tags]
|
||||
other = "Tagit"
|
||||
|
||||
[categories]
|
||||
other = "Kategoriat"
|
||||
|
||||
[at]
|
||||
other = "at"
|
||||
|
||||
[resume]
|
||||
other = "Ansioluetteloni"
|
||||
|
||||
[navigation]
|
||||
other = "Navigointi"
|
||||
|
||||
[contact_me]
|
||||
other = "Ota yhteyttä minuun:"
|
||||
|
||||
[email]
|
||||
other = "Sähköposti"
|
||||
|
||||
[phone]
|
||||
other = "Puhelin"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Pysy ajan tasalla tilaamalla sähköposti-ilmoitukset"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "Syötä sähköpostiosoite"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Syöttämällä sähköpostin, hyväksyt että haluat vastaanottaa uutiskirjeen tältä sivustolta."
|
||||
|
||||
[submit]
|
||||
other = "Lähetä"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Voimanlähteenä"
|
||||
|
||||
[prev]
|
||||
other = "Edellinen"
|
||||
|
||||
[next]
|
||||
other = "Seuraava"
|
||||
|
||||
[share_on]
|
||||
other = "Jaa"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Paranna tätä sivua"
|
||||
|
||||
[out_of]
|
||||
other = "out of"
|
||||
|
||||
[publications]
|
||||
other = "Julkaisut"
|
||||
|
||||
[taken_courses]
|
||||
other = "Käydyt kurssit"
|
||||
|
||||
[course_name]
|
||||
other = "Kurssin nimi"
|
||||
|
||||
[total_credit]
|
||||
other = "Opintopisteet yhteensä"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Saadut opintopisteet"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Opetusohjelman ulkopuolinen toiminta"
|
||||
|
||||
[show_more]
|
||||
other = "Näytä lisää"
|
||||
|
||||
[show_less]
|
||||
other = "Näytä vähemmän"
|
||||
|
||||
[responsibilities]
|
||||
other = "Työtehtävät:"
|
||||
|
||||
[present]
|
||||
other = "Tämä päivä"
|
||||
|
||||
[comments_javascript]
|
||||
other = "Ole hyvä ja enabloi JavaScript katsoaksesi"
|
||||
|
||||
[comments_by]
|
||||
other = "kommentit mahdollistavat"
|
||||
|
||||
[read]
|
||||
other = "Lue"
|
||||
|
||||
[project_star]
|
||||
other = "Tähti"
|
||||
|
||||
[project_details]
|
||||
other = "Yksityiskohdat"
|
||||
|
||||
[err_404]
|
||||
other = "Sivua jota etsit ei löydy."
|
||||
|
||||
[more]
|
||||
other = "Lisää"
|
||||
|
||||
[view_certificate]
|
||||
other = "Katso todistus"
|
||||
|
||||
[notes]
|
||||
other = "Muistiinpanot"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Vastuuilmoitus"
|
||||
|
||||
[search]
|
||||
other = "Haku"
|
||||
@@ -121,3 +121,6 @@ other = "Remarques"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Avis de responsabilité"
|
||||
|
||||
[search]
|
||||
other = "Chercher"
|
||||
|
||||
@@ -121,3 +121,6 @@ other = "टिप्पणियाँ"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "दायित्व सूचना"
|
||||
|
||||
[search]
|
||||
other = "खोज"
|
||||
|
||||
@@ -121,3 +121,6 @@ other = "Catatan"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Pemberitahuan Kewajiban"
|
||||
|
||||
[search]
|
||||
other = "Mencari"
|
||||
|
||||
@@ -121,3 +121,6 @@ other = "Appunti"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Avviso di responsabilità"
|
||||
|
||||
[search]
|
||||
other = "Ricerca"
|
||||
|
||||
@@ -118,3 +118,6 @@ other = "ノート"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "責任通知"
|
||||
|
||||
[search]
|
||||
other = "検索"
|
||||
|
||||
@@ -121,3 +121,6 @@ other = "메모"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "책임 고지"
|
||||
|
||||
[search]
|
||||
other = "찾다"
|
||||
|
||||
+30
-27
@@ -1,11 +1,11 @@
|
||||
[home]
|
||||
other = "Startseite"
|
||||
other = "Hoofdpagina"
|
||||
|
||||
[posts]
|
||||
other = "Beiträge"
|
||||
other = "Posts"
|
||||
|
||||
[toc_heading]
|
||||
other = "Inhaltsverzeichnis"
|
||||
other = "Inhoudsopgave"
|
||||
|
||||
[tags]
|
||||
other = "Tags"
|
||||
@@ -14,49 +14,49 @@ other = "Tags"
|
||||
other = "Categorieën"
|
||||
|
||||
[at]
|
||||
other = "bei"
|
||||
other = "bij"
|
||||
|
||||
[resume]
|
||||
other = "Mein Lebenslauf"
|
||||
other = "Curriculum Vitae"
|
||||
|
||||
[navigation]
|
||||
other = "Navigation"
|
||||
other = "Navigatie"
|
||||
|
||||
[contact_me]
|
||||
other = "Kontakt aufnehmen"
|
||||
other = "Contactgegevens"
|
||||
|
||||
[email]
|
||||
other = "E-Mail"
|
||||
|
||||
[phone]
|
||||
other = "Telefon"
|
||||
other = "Telefoon"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Mit dem Newsletter auf dem neuesten Stand bleiben"
|
||||
other = "Ontvang updates via email"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "E-Mail-Adresse eingeben"
|
||||
other = "Email ingeven"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Door uw e-mailadres in te voeren, gaat u akkoord met het ontvangen van de nieuwsbrief van deze website."
|
||||
|
||||
[submit]
|
||||
other = "Absenden"
|
||||
other = "Opslaan"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Unterstützt von"
|
||||
other = "Mogelijk gemaakt met"
|
||||
|
||||
[prev]
|
||||
other = "Vorherige"
|
||||
other = "Vorige"
|
||||
|
||||
[next]
|
||||
other = "Nächste"
|
||||
other = "Volgende"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
[share_on]
|
||||
other = "Delen op"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Diese Seite verbessern"
|
||||
other = "Deze pagina verbeteren"
|
||||
|
||||
[out_of]
|
||||
other = "van de"
|
||||
@@ -65,7 +65,7 @@ other = "van de"
|
||||
other = "Publicaties"
|
||||
|
||||
[taken_courses]
|
||||
other = "Cursussen gevolgd"
|
||||
other = "Gevolgde cursussen"
|
||||
|
||||
[course_name]
|
||||
other = "Cursus naam"
|
||||
@@ -85,11 +85,11 @@ other = "Bekijk meer"
|
||||
[show_less]
|
||||
other = "Laat minder zien"
|
||||
|
||||
# [responsibilities]
|
||||
# other = "Responsibilities:"
|
||||
[responsibilities]
|
||||
other = "Verantwoordelijkheden:"
|
||||
|
||||
# [present]
|
||||
# other = "Present"
|
||||
[present]
|
||||
other = "Heden"
|
||||
|
||||
# [comments_javascript]
|
||||
# other = "Please enable JavaScript to view the"
|
||||
@@ -103,11 +103,11 @@ other = "Laat minder zien"
|
||||
# [project_star]
|
||||
# other = "Star"
|
||||
|
||||
# [project_details]
|
||||
# other = "Details"
|
||||
[project_details]
|
||||
other = "Details"
|
||||
|
||||
# [err_404]
|
||||
# other = "The page you are looking for is not there yet."
|
||||
[err_404]
|
||||
other = "De pagina waar je voor zoekt bestaat nog niet."
|
||||
|
||||
[more]
|
||||
other = "Meer"
|
||||
@@ -119,4 +119,7 @@ other = "Bekijk certificaat"
|
||||
other = "Opmerkingen"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Haftungshinweis"
|
||||
other = "Aansprakelijkheidsverklaring"
|
||||
|
||||
[search]
|
||||
other = "Zoek"
|
||||
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Início"
|
||||
|
||||
[posts]
|
||||
other = "Artigos"
|
||||
|
||||
[toc_heading]
|
||||
other = "Tabela de conteúdos"
|
||||
|
||||
[tags]
|
||||
other = "Etiquetas"
|
||||
|
||||
[categories]
|
||||
other = "Categorias"
|
||||
|
||||
[at]
|
||||
other = "em"
|
||||
|
||||
[resume]
|
||||
other = "O meu Currículo"
|
||||
|
||||
[navigation]
|
||||
other = "Navegação"
|
||||
|
||||
[contact_me]
|
||||
other = "Contacte-me:"
|
||||
|
||||
[email]
|
||||
other = "Email"
|
||||
|
||||
[phone]
|
||||
other = "Telefone"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Mantenha-se actualizado com notificações por email"
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "Inserir email"
|
||||
|
||||
[newsletter_warning]
|
||||
other = "Ao submeter o seu endereço de email, concorda em receber a newsletter deste website."
|
||||
|
||||
[submit]
|
||||
other = "Enviar"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = "Desenvolvido por"
|
||||
|
||||
[prev]
|
||||
other = "Anterior"
|
||||
|
||||
[next]
|
||||
other = "Próximo"
|
||||
|
||||
[share_on]
|
||||
other = "Partilha"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Melhore esta página"
|
||||
|
||||
[out_of]
|
||||
other = "de"
|
||||
|
||||
[publications]
|
||||
other = "Publicações"
|
||||
|
||||
[taken_courses]
|
||||
other = "Cursos frequentados"
|
||||
|
||||
[course_name]
|
||||
other = "Nome do Curso"
|
||||
|
||||
[total_credit]
|
||||
other = "Créditos Totais"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Créditos Obtidos"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Actividades Extracurriculares"
|
||||
|
||||
[show_more]
|
||||
other = "Ver Mais"
|
||||
|
||||
[show_less]
|
||||
other = "Ver Menos"
|
||||
|
||||
[responsibilities]
|
||||
other = "Responsabilidades:"
|
||||
|
||||
[present]
|
||||
other = "Presente"
|
||||
|
||||
[comments_javascript]
|
||||
other = "Por favor active JavaScript para ver o"
|
||||
|
||||
[comments_by]
|
||||
other = "comentários por"
|
||||
|
||||
[read]
|
||||
other = "Ler"
|
||||
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
[project_details]
|
||||
other = "Detalhes"
|
||||
|
||||
[err_404]
|
||||
other = "A página que procura ainda não está aqui."
|
||||
|
||||
[more]
|
||||
other = "Mais"
|
||||
|
||||
[view_certificate]
|
||||
other = "Ver Certificado"
|
||||
|
||||
[notes]
|
||||
other = "Notas"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Nota legal"
|
||||
|
||||
[search]
|
||||
other = "Pesquisar"
|
||||
@@ -121,3 +121,6 @@ other = "Ноты"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Уведомление об ответственности"
|
||||
|
||||
[search]
|
||||
other = "Поиск"
|
||||
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
# More documentation here: https://github.com/nicksnyder/go-i18n
|
||||
[home]
|
||||
other = "Anasayfa"
|
||||
|
||||
[posts]
|
||||
other = "Gönderiler"
|
||||
|
||||
[toc_heading]
|
||||
other = "İçerik Tablous"
|
||||
|
||||
[tags]
|
||||
other = "Etiketler"
|
||||
|
||||
[categories]
|
||||
other = "Kategoriler"
|
||||
|
||||
[at]
|
||||
other = ","
|
||||
|
||||
[resume]
|
||||
other = "Özgeçmişim"
|
||||
|
||||
[navigation]
|
||||
other = "Menü"
|
||||
|
||||
[contact_me]
|
||||
other = "İletişime geç:"
|
||||
|
||||
[email]
|
||||
other = "E-Posta"
|
||||
|
||||
[phone]
|
||||
other = "Telefon"
|
||||
|
||||
[newsletter_text]
|
||||
other = "Yeni içeriklerden haberdar olmak için E-Posta adresinizi giriniz."
|
||||
|
||||
[newsletter_input_placeholder]
|
||||
other = "E-Posta adresi giriniz."
|
||||
|
||||
[newsletter_warning]
|
||||
other = "E-Posta adresini girerseniz, bu web sitesinin haber bültenini almayı kabul ediyorsunuz."
|
||||
|
||||
[submit]
|
||||
other = "Onayla"
|
||||
|
||||
[hugoAttributionText]
|
||||
other = ""
|
||||
|
||||
[prev]
|
||||
other = "Önceki"
|
||||
|
||||
[next]
|
||||
other = "Sonraki"
|
||||
|
||||
[share_on]
|
||||
other = "Paylaş"
|
||||
|
||||
[improve_this_page]
|
||||
other = "Bu sayfaya katkıda bulunun"
|
||||
|
||||
[out_of]
|
||||
other = "/"
|
||||
|
||||
[publications]
|
||||
other = "Akademik Yayınlar"
|
||||
|
||||
[taken_courses]
|
||||
other = "Alınan Dersler"
|
||||
|
||||
[course_name]
|
||||
other = "Ders Adı"
|
||||
|
||||
[total_credit]
|
||||
other = "Üzerinden"
|
||||
|
||||
[obtained_credit]
|
||||
other = "Alınan Not"
|
||||
|
||||
[extracurricular_activities]
|
||||
other = "Ders Dışı Aktiviteler"
|
||||
|
||||
[show_more]
|
||||
other = "Devamını Göster"
|
||||
|
||||
[show_less]
|
||||
other = "Gizle"
|
||||
|
||||
[responsibilities]
|
||||
other = "Sorumluluklar:"
|
||||
|
||||
[present]
|
||||
other = "Halen"
|
||||
|
||||
[comments_javascript]
|
||||
other = "Görüntüleyebilmek için lüften Javascript etkinleştirin"
|
||||
|
||||
[comments_by]
|
||||
other = "comments powered by"
|
||||
|
||||
[read]
|
||||
other = "Oku"
|
||||
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
[project_details]
|
||||
other = "Detaylar"
|
||||
|
||||
[err_404]
|
||||
other = "Aradığınız sayfa bulunmamakta."
|
||||
|
||||
[more]
|
||||
other = "Devamını Göster"
|
||||
|
||||
[view_certificate]
|
||||
other = "Sertifikayı Görüntüle"
|
||||
|
||||
[notes]
|
||||
other = "Notlar"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Yükümlülük Bildirisi"
|
||||
|
||||
[search]
|
||||
other = "Ara"
|
||||
@@ -121,3 +121,6 @@ other = "Ghi chú"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "Thông báo trách nhiệm"
|
||||
|
||||
[search]
|
||||
other = "Tìm kiếm"
|
||||
|
||||
+5
-2
@@ -53,8 +53,8 @@ other = "上一篇"
|
||||
[next]
|
||||
other = "下一篇"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
[share_on]
|
||||
other = "分享"
|
||||
|
||||
[improve_this_page]
|
||||
other = "改善此页面"
|
||||
@@ -121,3 +121,6 @@ other = "笔记"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "免责声明"
|
||||
|
||||
[search]
|
||||
other = "搜索"
|
||||
|
||||
+21
-18
@@ -53,8 +53,8 @@ other = "上一篇"
|
||||
[next]
|
||||
other = "下一篇"
|
||||
|
||||
# [share_on]
|
||||
# other = "Share on"
|
||||
[share_on]
|
||||
other = "分享"
|
||||
|
||||
[improve_this_page]
|
||||
other = "改善此頁面"
|
||||
@@ -86,29 +86,29 @@ other = "查看更多"
|
||||
[show_less]
|
||||
other = "顯示較少"
|
||||
|
||||
# [responsibilities]
|
||||
# other = "Responsibilities:"
|
||||
[responsibilities]
|
||||
other = "職責:"
|
||||
|
||||
# [present]
|
||||
# other = "Present"
|
||||
[present]
|
||||
other = "現在"
|
||||
|
||||
# [comments_javascript]
|
||||
# other = "Please enable JavaScript to view the"
|
||||
[comments_javascript]
|
||||
other = "請開啟 JavaScript 查看"
|
||||
|
||||
# [comments_by]
|
||||
# other = "comments powered by"
|
||||
[comments_by]
|
||||
other = "評論由"
|
||||
|
||||
# [read]
|
||||
# other = "Read"
|
||||
[read]
|
||||
other = "閱讀"
|
||||
|
||||
# [project_star]
|
||||
# other = "Star"
|
||||
[project_star]
|
||||
other = "Star"
|
||||
|
||||
# [project_details]
|
||||
# other = "Details"
|
||||
[project_details]
|
||||
other = "詳情"
|
||||
|
||||
# [err_404]
|
||||
# other = "The page you are looking for is not there yet."
|
||||
[err_404]
|
||||
other = "您訪問的頁面不存在"
|
||||
|
||||
[more]
|
||||
other = "更多的"
|
||||
@@ -121,3 +121,6 @@ other = "筆記"
|
||||
|
||||
[disclaimer_text]
|
||||
other = "免責聲明"
|
||||
|
||||
[search]
|
||||
other = "搜索"
|
||||
|
||||
@@ -9,16 +9,9 @@
|
||||
<!------ ADD PAGE SPECIFIC HEADERS ------->
|
||||
{{ block "header" . }} {{ end }}
|
||||
|
||||
<!-- ADD GOOGLE ANALYTICS IF ENABLED -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
<!-- 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 }}
|
||||
<!--================= add analytics if enabled =========================-->
|
||||
{{- partial "analytics.html" . -}}
|
||||
|
||||
</head>
|
||||
|
||||
<body data-spy="scroll" data-target="#TableOfContents" data-offset="80">
|
||||
@@ -45,5 +38,9 @@
|
||||
|
||||
<!------- ADD PAGE SPECIFIC SCRIPTS ------>
|
||||
{{ block "scripts" . }} {{ end }}
|
||||
|
||||
<!------ IF WANTED, ADD SUPPORT LINKS -------->
|
||||
{{- partial "misc/support.html" . -}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-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" id="sidebar">
|
||||
<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>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
@@ -40,7 +40,7 @@
|
||||
<div class="content">
|
||||
<div class="container p-0 read-area">
|
||||
<!--Hero Area-->
|
||||
<div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ strings.TrimSuffix "/" site.BaseURL }}{{ partial "helpers/get-hero.html" . }});'>
|
||||
<div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ partial "helpers/get-hero.html" . }});'>
|
||||
</div>
|
||||
|
||||
<!--Content Start-->
|
||||
@@ -48,7 +48,7 @@
|
||||
<div class="author-profile ml-auto align-self-lg-center">
|
||||
<img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}' alt="Author Image">
|
||||
<h5 class="author-name">{{ partial "helpers/get-author-name.html" . }}</h5>
|
||||
<p>{{ .Page.Date.Format "January 2, 2006" }}</p>
|
||||
<p>{{ .Page.Date | time.Format ":date_full" }}</p>
|
||||
</div>
|
||||
|
||||
<div class="title">
|
||||
@@ -56,7 +56,7 @@
|
||||
</div>
|
||||
{{ if site.Params.enableTags }}
|
||||
<div class="taxonomy-terms">
|
||||
<ul>
|
||||
<ul style="padding-left: 0;">
|
||||
{{ range .Params.tags }}
|
||||
{{ $url:= printf "tags/%s" . }}
|
||||
<li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn, btn-sm">{{ . }}</a></li>
|
||||
@@ -136,7 +136,7 @@
|
||||
{{ end }}
|
||||
<div class="col-md-6 btn-improve-page">
|
||||
{{ 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" ) }}
|
||||
<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 -->
|
||||
@@ -155,10 +155,17 @@
|
||||
<hr />
|
||||
{{ partial "navigators/next-prev-navigator.html" . }}
|
||||
<hr />
|
||||
<!-- Add Disqus forum -->
|
||||
{{ if site.DisqusShortname }}
|
||||
{{ partial "disqus.html" . }}
|
||||
|
||||
<!----- Add comment support ----->
|
||||
{{ if site.Params.features.comment.enable }}
|
||||
{{ partial "comments.html" site.Params.features.comment }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Keep backward compatibility with old config.yaml -->
|
||||
{{ if site.DisqusShortname }}
|
||||
{{ partial "comments/disqus.html" (dict (slice "disqus" "shortName") site.DisqusShortname) }}
|
||||
{{ end }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -172,7 +179,7 @@
|
||||
|
||||
{{ define "toc" }}
|
||||
<section class="toc-section" id="toc-section">
|
||||
{{ if site.Params.enableTOC }}
|
||||
{{ if and site.Params.enableTOC ( .Params.enableTOC | default true ) }}
|
||||
<div class="toc-holder">
|
||||
<h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5>
|
||||
<hr>
|
||||
@@ -190,7 +197,15 @@
|
||||
<script>
|
||||
hljs.initHighlightingOnLoad();
|
||||
</script>
|
||||
|
||||
<!-------------- Enable Math support for this page ---------------->
|
||||
{{ if .Params.math }}
|
||||
{{ partial "math.html" . }}
|
||||
{{ end }}
|
||||
|
||||
<!-------------- Enable mermaid support for this page ---------------->
|
||||
{{ if .Params.mermaid }}
|
||||
{{ partial "mermaid.html" . }}
|
||||
{{ end }}
|
||||
|
||||
{{ end }}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-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/achievements.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/sections/accomplishments.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/sections/publications.css" | relURL }}"/>
|
||||
|
||||
<!--================= custom style overrides =========================-->
|
||||
<link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
|
||||
|
||||
<!-- Add Google Analytics if enabled in configuration -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
<!-- 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 }}
|
||||
<!--================= add analytics if enabled =========================-->
|
||||
{{- partial "analytics.html" . -}}
|
||||
</head>
|
||||
<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/home.js" | relURL }}"></script>
|
||||
<script src="{{ "/js/jquery.filterizr.min.js" | relURL }}"></script>
|
||||
|
||||
<!------ ADD SUPPORT LINKS -------->
|
||||
{{- partial "misc/support.html" . -}}
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
<!-- Add Analytics if enabled in configuration -->
|
||||
{{ with site.Params.features.analytics }}
|
||||
{{ if .enabled }}
|
||||
<!-- Google Analytics -->
|
||||
{{ with .google }}
|
||||
{{ $privacyConfig:= dict (slice "Site" "Config" "Privacy" "GoogleAnalytics") $.Site.Config.Privacy.GoogleAnalytics }}
|
||||
{{ $analyticsConfig := dict (slice "Site" "GoogleAnalytics") .id }}
|
||||
{{ template "_internal/google_analytics.html" (merge $privacyConfig $analyticsConfig) }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Counter.dev -->
|
||||
{{ with .counterDev }}
|
||||
<script src="https://cdn.counter.dev/script.js"
|
||||
data-id="{{ .id }}"
|
||||
data-utcoffset="1"
|
||||
></script>
|
||||
{{ end }}
|
||||
|
||||
<!-- GoatCounter -->
|
||||
{{ with .goatCounter }}
|
||||
<script
|
||||
data-goatcounter="https://{{ .code }}.goatcounter.com/count"
|
||||
async
|
||||
src="/js/goat-counter.js"
|
||||
></script>
|
||||
{{ end }}
|
||||
|
||||
<!-- Piwik/Matomo -->
|
||||
{{ with .matomo }}
|
||||
<!-- Matomo -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//{{ .instance }}/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '{{ .siteId }}']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
<!-- Keep backwards compatibility and consistency with HUGO defaults -->
|
||||
{{ if site.GoogleAnalytics }}
|
||||
{{ template "_internal/google_analytics.html" . }}
|
||||
{{ end }}
|
||||
@@ -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">
|
||||
{{ if .logo }}
|
||||
{{ $logoImage := resources.Get .logo }}
|
||||
|
||||
{{/* svg don't support "Fit" operation */}}
|
||||
{{ if ne $logoImage.MediaType.SubType "svg" }}
|
||||
{{ $logoImage = $logoImage.Fit "24x24" }}
|
||||
{{ end }}
|
||||
|
||||
<img class="card-img-xs" src="{{ $logoImage.RelPermalink }}" alt="{{ .name }}" />
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
{{ else if .icon }}
|
||||
{{ $iconName := .icon }}
|
||||
<h5 class="card-title"><span class="{{ $iconName }}"> {{ .name }}</span></h5>
|
||||
{{ else }}
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
{{ end }}
|
||||
<h5 class="card-title">{{ .name }}</h5>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">{{ .summary | markdownify }}</p>
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{{ if .disqus.shortName }}
|
||||
{{ partial "comments/disqus.html" . }}
|
||||
{{ else if .valine }}
|
||||
{{ partial "comments/valine.html" . }}
|
||||
{{ else if .utteranc }}
|
||||
{{ partial "comments/utteranc.html" . }}
|
||||
{{ else if .giscus }}
|
||||
{{ partial "comments/giscus.html" . }}
|
||||
{{ else if .commento }}
|
||||
{{ partial "comments/commento.html" . }}
|
||||
{{ end }}
|
||||
@@ -0,0 +1,12 @@
|
||||
{{ with .commento }}
|
||||
{{ $serverURL := .serverURL }}
|
||||
{{ $autoInit := .autoInit | default "true"}}
|
||||
{{ $hideDeleted := .hideDeleted | default "false"}}
|
||||
|
||||
<script defer
|
||||
src="http://{{ $serverURL }}/js/commento.js"
|
||||
data-auto-init="{{ $autoInit }}"
|
||||
data-hide-deleted="{{ $hideDeleted }}"
|
||||
></script>
|
||||
<div id="commento"></div>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,29 @@
|
||||
{{ with .disqus }}
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ .shortName }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,28 @@
|
||||
{{ with .giscus }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $repoID := .repoID }}
|
||||
{{ $category := .category | default "General" }}
|
||||
{{ $categoryID := .categoryID }}
|
||||
{{ $theme := .theme | default "light" }}
|
||||
{{ $map := .map | default "url" }}
|
||||
{{ $reaction := .reaction | default "1" }}
|
||||
{{ $metadata := .metadata | default "0" }}
|
||||
{{ $inputPosition := .inputPosition | default "bottom" }}
|
||||
{{ $crossOrigin := .crossOrigin | default "anonymous" }}
|
||||
|
||||
<script src="https://giscus.app/client.js"
|
||||
data-repo="{{ $repo }}"
|
||||
data-repo-id="{{ $repoID }}"
|
||||
data-category="{{ $category }}"
|
||||
data-category-id="{{ $categoryID }}"
|
||||
data-mapping="{{ $map }}"
|
||||
data-reactions-enabled="{{ $reaction }}"
|
||||
data-emit-metadata="{{ $metadata }}"
|
||||
data-input-position="{{ $inputPosition }}"
|
||||
data-theme="{{ $theme }}"
|
||||
data-lang="{{ .Site.Language.Lang }}"
|
||||
crossorigin="{{ $crossOrigin }}"
|
||||
async>
|
||||
</script>
|
||||
{{ end }}
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
{{ with .utteranc }}
|
||||
{{ $repo := .repo }}
|
||||
{{ $issueTerm := .issueTerm }}
|
||||
{{ $theme := .theme }}
|
||||
|
||||
<div id="utteranc_thread"></div>
|
||||
<div id="comments" class="comments">
|
||||
<div id="comments-container"></div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
var utterances = document.createElement('script');
|
||||
utterances.type = 'text/javascript';
|
||||
utterances.async = true;
|
||||
utterances.setAttribute('repo','{{ $repo }}')
|
||||
utterances.setAttribute('issue-term','{{ $issueTerm }}')
|
||||
utterances.setAttribute('theme','{{ $theme }}')
|
||||
utterances.crossorigin = 'anonymous';
|
||||
utterances.src = 'https://utteranc.es/client.js';
|
||||
|
||||
document.getElementById('comments-container').appendChild(utterances);
|
||||
})();
|
||||
</script>
|
||||
{{ end }}
|
||||
@@ -0,0 +1,18 @@
|
||||
{{ with .valine }}
|
||||
<div id="vcomments"></div>
|
||||
<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
|
||||
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
new Valine({
|
||||
el: "#vcomments",
|
||||
appId: "{{ .appId }}",
|
||||
appKey: "{{ .appKey }}",
|
||||
avatar: "{{ .avatar }}",
|
||||
placeholder: "{{ .placeholder }}",
|
||||
visitor: "{{ .visitor }}",
|
||||
lang: "{{ .lang }}",
|
||||
recordIP: "{{ .recordIP }}",
|
||||
enableQQ: "{{ .enableQQ }}",
|
||||
});
|
||||
</script>
|
||||
{{ end }}
|
||||
@@ -1,27 +0,0 @@
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
// Don't ever inject Disqus on localhost--it creates unwanted
|
||||
// discussions from 'localhost:1313' on your Disqus account...
|
||||
if (window.location.hostname == "localhost") return;
|
||||
|
||||
var dsq = document.createElement("script");
|
||||
dsq.type = "text/javascript";
|
||||
dsq.async = true;
|
||||
var disqus_shortname = "{{ site.DisqusShortname }}";
|
||||
dsq.src = "//" + disqus_shortname + ".disqus.com/embed.js";
|
||||
(
|
||||
document.getElementsByTagName("head")[0] ||
|
||||
document.getElementsByTagName("body")[0]
|
||||
).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript
|
||||
>{{ i18n "comments_javascript" }}
|
||||
<a href="https://disqus.com/?ref_noscript"
|
||||
>{{ i18n "comments_by" }} Disqus.</a
|
||||
></noscript
|
||||
>
|
||||
<a href="https://disqus.com/" class="dsq-brlink"
|
||||
>{{ i18n "comments_by" }} <span class="logo-disqus">Disqus</span></a
|
||||
>
|
||||
@@ -1,6 +1,7 @@
|
||||
{{/* variables for enabling/disabling parts of the footer */}}
|
||||
{{ $footerEnabled := site.Params.footer.enable | default true }}
|
||||
{{ $navigationEnabled := site.Params.footer.navigation.enable | default true }}
|
||||
{{ $customMenusEnabled := site.Params.footer.navigation.customMenus | default true }}
|
||||
{{ $contactMeEnabled := site.Params.footer.contactMe.enable | default true }}
|
||||
{{ $newsletterEnabled := site.Params.footer.newsletter.enable | default true }}
|
||||
{{ $credentialsEnabled := site.Params.footer.credentials.enable | default true }}
|
||||
@@ -26,7 +27,12 @@
|
||||
{{ $sections = (index site.Data site.Language.Lang).sections }}
|
||||
{{ 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 }}
|
||||
{{ $siteConfig := (index site.Data site.Language.Lang).site }}
|
||||
{{ if $siteConfig.copyright }}
|
||||
@@ -58,7 +64,7 @@
|
||||
{{ end }}
|
||||
{{ $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="row text-left">
|
||||
{{ if $navigationEnabled }}
|
||||
@@ -73,10 +79,19 @@
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ end }}
|
||||
<li class="nav-item">
|
||||
<a class="smooth-scroll" href="/#{{ $sectionID }}">{{ .section.name }}</a>
|
||||
<a class="smooth-scroll" href="{{ "" | absLangURL }}#{{ $sectionID }}">{{ .section.name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{ if $customMenusEnabled }}
|
||||
{{ range $customMenus }}
|
||||
{{ if .showOnFooter }}
|
||||
<li class="nav-item">
|
||||
<a class="smooth-scroll" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
@@ -86,7 +101,37 @@
|
||||
<h5>{{ i18n "contact_me" }}</h5>
|
||||
<ul>
|
||||
{{ range $key,$value:= $author.contactInfo }}
|
||||
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
|
||||
{{ if (eq $key "email") }}
|
||||
<li><a href={{ printf "mailto:%s" $value }} target="_blank" rel="noopener">
|
||||
<span><i class="fas fa-envelope"></i></span> <span>{{ $value }}</span>
|
||||
</a></li>
|
||||
{{ else if (eq $key "phone") }}
|
||||
<li><span><i class="fas fa-phone-alt"></i></span> <span>{{ $value }}</span></li>
|
||||
{{ else if (eq $key "linkedin") }}
|
||||
<li><a href={{ printf "https://www.linkedin.com/in/%s" $value }} target="_blank" rel="noopener">
|
||||
<span><i class="fab fa-linkedin"></i></span> <span>{{ $author.name }}</span>
|
||||
</a></li>
|
||||
{{ else if (eq $key "github") }}
|
||||
<li><a href={{ printf "https://github.com/%s" $value }} target="_blank" rel="noopener">
|
||||
<span><i class="fab fa-github"></i></span> <span>{{ $value }}</span>
|
||||
</a></li>
|
||||
{{ else if reflect.IsMap $value }}
|
||||
<li>
|
||||
{{ if (and (isset $value "url") (isset $value "icon"))}}
|
||||
<a href={{ $value.url }} target="_blank" rel="noopener">
|
||||
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
|
||||
</a>
|
||||
{{ else if isset $value "icon" }}
|
||||
<span><i class={{ printf "fab fa-%s" $value.icon }}></i></span> <span>{{ $value.text }}</span>
|
||||
{{ else }}
|
||||
<a href={{ $value.url }} target="_blank" rel="noopener">
|
||||
<span>{{ title $key }}: </span> <span>{{ $value.text }}</span>
|
||||
</a>
|
||||
{{ end }}
|
||||
</li>
|
||||
{{ else }}
|
||||
<li><span>{{ title $key }}: </span> <span>{{ $value }}</span></li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
@@ -128,6 +173,7 @@
|
||||
<input type='hidden' name='schedule_type' value='1' />
|
||||
<small id="emailHelp" class="form-text text-muted">{{ i18n "newsletter_warning" }}</small>
|
||||
<button type="submit" class="btn btn-info"> {{ i18n "submit" }} </button>
|
||||
</div>
|
||||
</form>
|
||||
{{ end }}
|
||||
</div>
|
||||
@@ -145,7 +191,7 @@
|
||||
<div class="container">
|
||||
<div class="row text-left">
|
||||
<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">
|
||||
Toha
|
||||
</a>
|
||||
|
||||
@@ -7,11 +7,19 @@
|
||||
<link rel="stylesheet" href="{{ "/css/layouts/main.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/navigators/navbar.css" | relURL }}"/>
|
||||
<link rel="stylesheet" href="{{ "/css/plyr.css" | relURL }}"/>
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
<link rel="stylesheet" href="{{ "/css/flag-icon.min.css" | relURL }}"/>
|
||||
{{ end }}
|
||||
<!--=================== fonts ==============================-->
|
||||
<link rel="stylesheet" href="{{ "/google-fonts/Mulish/mulish.css" | relURL }}"/>
|
||||
|
||||
<!--=================== cdn ==============================-->
|
||||
<link href="https://fonts.googleapis.com/css2?family=Muli:wght@300;400;500;600" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css" />
|
||||
<!--=================== icons ==============================-->
|
||||
<link rel="stylesheet" href="{{ "/fontawesome/css/all.min.css" | relURL }}"/>
|
||||
|
||||
<!--=================== dark mode ==========================-->
|
||||
{{ if site.Params.darkMode.enable }}
|
||||
<link rel="stylesheet" href="{{ "/css/colortheme/colortheme.css" | relURL }}"/>
|
||||
{{ end }}
|
||||
|
||||
<!--================= fab-icon =========================-->
|
||||
{{/* add favicon only if the site author has provided the the favicon */}}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
{{/* if hero image is specified in the page front-matter, then use that */}}
|
||||
{{ if .Params.hero }}
|
||||
{{ $heroImage = .Page.Resources.GetMatch .Params.hero }}
|
||||
{{ $heroImage = resources.Get .Params.hero }}
|
||||
{{ end }}
|
||||
{{ .Scratch.Set "heroScratch" $heroImage }}
|
||||
|
||||
|
||||
@@ -1,5 +1,15 @@
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" integrity="sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" crossorigin="anonymous">
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" integrity="sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" crossorigin="anonymous"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" integrity="sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" crossorigin="anonymous"
|
||||
onload="renderMathInElement(document.body);">
|
||||
<link rel="stylesheet" href="{{ "/katex/katex.min.css" | relURL }}">
|
||||
<script type="text/javascript" defer src="{{ "/katex/katex.min.js" | relURL }}"></script>
|
||||
<script type="text/javascript" defer src="{{ "/katex/auto-render.min.js" | relURL }}" onload="renderMathInElement(document.body);">
|
||||
renderMathInElement(
|
||||
document.body,
|
||||
{
|
||||
delimiters: [
|
||||
{left: "$$", right: "$$", display: true},
|
||||
{left: "\\[", right: "\\]", display: true},
|
||||
{left: "$", right: "$", display: false},
|
||||
{left: "\\(", right: "\\)", display: false}
|
||||
]
|
||||
}
|
||||
);
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<script src="{{ "/js/mermaid-8.14.0.min.js" | relURL }}"></script>
|
||||
<script>
|
||||
mermaid.initialize({
|
||||
startOnLoad:true
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,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">
|
||||
<a class="btn dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/16.png" alt="{{ $countryCode }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range .Translations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<img class="flag" src="https://www.countryflags.io/{{ $countryCode }}/flat/24.png" alt="{{ $countryCode }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ .Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
|
||||
@@ -5,15 +5,19 @@
|
||||
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range .Translations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ path.Join "/" (cond (eq .Language.Lang "en") "" .Language.Lang) $pageURL }}">
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ .Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
|
||||
@@ -1,16 +1,20 @@
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range site.Home.AllTranslations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ .Language.LanguageName }}
|
||||
<a class="nav-link dropdown-toggle" href="#" id="languageSelector" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ site.Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</li>
|
||||
<div class="dropdown-menu" aria-labelledby="languageSelector">
|
||||
{{ range site.Home.AllTranslations }}
|
||||
<a class="dropdown-item nav-link languages-item" href="{{ .RelPermalink }}">
|
||||
{{ if ne site.Params.showFlags false }}
|
||||
{{ $countryCode := partial "helpers/country-code.html" . }}
|
||||
<span class="flag-icon flag-icon-{{$countryCode}}"></span>
|
||||
{{ end }}
|
||||
{{ .Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -47,6 +47,9 @@
|
||||
{{ if .IsTranslated }}
|
||||
{{ partial "navigators/lang-selector-2.html" . }}
|
||||
{{ end }}
|
||||
{{ if site.Params.darkMode.enable }}
|
||||
{{ partial "navigators/theme-selector.html" . }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{{/* variables for enabling/disabling various features */}}
|
||||
{{ $blogEnabled := site.Params.features.blog.enable | default false }}
|
||||
{{ $notesEnabled := site.Params.features.notes.enable | default false }}
|
||||
{{ $maxVisibleSections := site.Params.topNavbar.maxVisibleSections | default 5 }}
|
||||
|
||||
{{/* keep backward compatibility for blog post */}}
|
||||
{{ if site.Params.enableBlogPost }}
|
||||
@@ -65,32 +66,32 @@
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="top-nav-items">
|
||||
<div class="collapse navbar-collapse dynamic-navbar" id="top-nav-items">
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#home">{{ i18n "home" }}</a>
|
||||
</li>
|
||||
{{ if $sections }}
|
||||
{{ $sectionCount := 0}}
|
||||
{{ $sectionCount := 1 }}
|
||||
{{ range sort $sections "section.weight" }}
|
||||
{{ if and (.section.enable) (.section.showOnNavbar)}}
|
||||
{{ $sectionCount = add $sectionCount 1}}
|
||||
{{ if le $sectionCount 5 }}
|
||||
{{ if le $sectionCount $maxVisibleSections }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
{{ if gt $sectionCount 5 }}
|
||||
{{ if gt $sectionCount $maxVisibleSections }}
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{i18n "more" }}</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
{{ $sectionCount := 0 }}
|
||||
{{ $sectionCount := 1 }}
|
||||
{{ range sort $sections "section.weight" }}
|
||||
{{ if and (.section.enable) (.section.showOnNavbar) }}
|
||||
{{ $sectionCount = add $sectionCount 1}}
|
||||
{{ if gt $sectionCount 5 }}
|
||||
{{ if gt $sectionCount $maxVisibleSections }}
|
||||
<a class="dropdown-item" href="#{{ partial "helpers/get-section-id.html" . }}">{{ .section.name }}</a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
@@ -114,13 +115,18 @@
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ range $customMenus }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ if (not .hideFromNavbar) }}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ .url }}">{{ .name }}</a>
|
||||
</li>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ if .IsTranslated }}
|
||||
{{ partial "navigators/lang-selector.html" . }}
|
||||
{{ end }}
|
||||
{{ if site.Params.darkMode.enable }}
|
||||
{{ partial "navigators/theme-selector.html" . }}
|
||||
{{ end }}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -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/plyr.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>
|
||||
{{ if eq .name "Email" }}
|
||||
<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>
|
||||
{{ else }}
|
||||
<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
|
||||
>
|
||||
{{ end }}
|
||||
{{ range .resourceLinks }}
|
||||
<a href="{{ .url | relURL }}" title="{{ .title }}" target="#"
|
||||
><button class="btn btn-dark">{{ .title }}</button></a
|
||||
>
|
||||
{{ end }}
|
||||
</div>
|
||||
<!-- soft skills circular-progressbar -->
|
||||
<div class="col-sm-6 pt-5 pl-md-4 pl-sm-3 pt-sm-0">
|
||||
|
||||
@@ -3,9 +3,13 @@
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ 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) }}
|
||||
<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 }}
|
||||
|
||||
<div class="container">
|
||||
|
||||
@@ -3,9 +3,13 @@
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ 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) }}
|
||||
<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 }}
|
||||
<div class="container">
|
||||
<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/ */}}
|
||||
<div
|
||||
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>
|
||||
<h4 class="title" id="achievement-title">{{ .title }}</h4>
|
||||
<div class="caption hidden col-lg-6 text-left" id="caption">
|
||||
<h4>{{ .title }}</h4>
|
||||
<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>
|
||||
<span style="background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $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('{{ $achievementImageSm }}');" class="d-none" id="SmallImage" active="true"></span>
|
||||
<span style="background-image: url('{{ $achievementImageLg }}');" class="d-none" id="LargeImage"></span>
|
||||
</div>
|
||||
|
||||
@@ -4,17 +4,24 @@
|
||||
{{ end }}
|
||||
|
||||
<div class="container-fluid anchor pb-5 education-section education-alt" id="{{ $sectionID }}">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
{{ 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">
|
||||
<table class="education-info-table">
|
||||
<tbody>
|
||||
{{ range .degrees}}
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<div class="hline"></div>
|
||||
<div class="container">
|
||||
<table class="education-info-table">
|
||||
<tbody>
|
||||
{{ $count := len .degrees }}
|
||||
{{ range .degrees}}
|
||||
<tr>
|
||||
<td class="icon">
|
||||
{{ if gt $count 1}}
|
||||
<div class="hline"></div>
|
||||
{{ end }}
|
||||
<div class="icon-holder">
|
||||
<i class="fas {{ .icon }}"></i>
|
||||
</div>
|
||||
@@ -53,6 +60,7 @@
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if .takenCourses }}
|
||||
{{ $collapseAfter := .takenCourses.collapseAfter | default 2 }}
|
||||
<div class="taken-courses">
|
||||
<h6 class="text-muted">{{ i18n "taken_courses" }}</h6>
|
||||
{{ if .takenCourses.showGrades }}
|
||||
@@ -65,7 +73,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ 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>
|
||||
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
|
||||
<td>{{ $course.achieved }}</td>
|
||||
@@ -76,11 +84,11 @@
|
||||
{{ else }}
|
||||
<ul>
|
||||
{{ 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 }}
|
||||
</ul>
|
||||
{{ 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 }}"
|
||||
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 }}"
|
||||
|
||||
@@ -3,18 +3,25 @@
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ end }}
|
||||
|
||||
<div class="container-fluid anchor pb-5 education-section" id="{{ $sectionID }}">
|
||||
{{ if not (.section.hideTitle) }}
|
||||
<h1 class="text-center">{{ .section.name }}</h1>
|
||||
{{ end }}
|
||||
<div class="container-fluid anchor pb-5 education-section">
|
||||
{{ 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">
|
||||
<table class="education-info-table">
|
||||
<tbody>
|
||||
{{ range .degrees}}
|
||||
<tr>
|
||||
<td class="icon">
|
||||
<div class="hline"></div>
|
||||
<div class="container">
|
||||
<table class="education-info-table">
|
||||
<tbody>
|
||||
{{ $count := len .degrees }}
|
||||
{{ range .degrees}}
|
||||
<tr>
|
||||
<td class="icon">
|
||||
{{ if gt $count 1}}
|
||||
<div class="hline"></div>
|
||||
{{ end }}
|
||||
<div class="icon-holder">
|
||||
<i class="fas {{ .icon }}"></i>
|
||||
</div>
|
||||
@@ -53,19 +60,20 @@
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if .takenCourses }}
|
||||
{{ $collapseAfter := .takenCourses.collapseAfter | default 2 }}
|
||||
<div class="taken-courses">
|
||||
<h6 class="text-muted">{{ i18n "taken_courses"}}</h6>
|
||||
{{ if .takenCourses.showGrades }}
|
||||
{{ $hideScale := .takenCourses.hideScale }}
|
||||
<table>
|
||||
<thead>
|
||||
<th>{{ i18n "course_name"}}</th>
|
||||
<th class="course-name-header">{{ i18n "course_name"}}</th>
|
||||
{{ if not $hideScale }}<th>{{ i18n "total_credit"}}</th>{{ end }}
|
||||
<th>{{ i18n "obtained_credit"}}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{ 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>
|
||||
{{ if not $hideScale }}<td>{{ $course.outOf }}</td>{{ end }}
|
||||
<td>{{ $course.achieved }}</td>
|
||||
@@ -76,11 +84,11 @@
|
||||
{{ else }}
|
||||
<ul>
|
||||
{{ 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 }}
|
||||
</ul>
|
||||
{{ 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 }}"
|
||||
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 }}"
|
||||
|
||||
@@ -3,9 +3,13 @@
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ 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) }}
|
||||
<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 }}
|
||||
|
||||
<div class="container timeline text-justify">
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{ if gt (len .positions) 1 }}
|
||||
{{ partial "sections/experiences/multiple-positions" . }}
|
||||
{{ partial "sections/experiences/multiple-positions.html" . }}
|
||||
{{ else }}
|
||||
{{ partial "sections/experiences/single-position.html" . }}
|
||||
{{ end }}
|
||||
|
||||
@@ -12,10 +12,12 @@
|
||||
<!-- Add company overview -->
|
||||
<p>{{ .company.overview | markdownify }}</p>
|
||||
<!-- Add the responsibilities handled at this position -->
|
||||
{{ if $position.responsibilities }}
|
||||
<h6 class="text-muted">{{ i18n "responsibilities" }}</h6>
|
||||
<ul class="justify-content-around">
|
||||
{{ range $position.responsibilities }}
|
||||
<li>{{ . | markdownify }}</li>
|
||||
{{ end }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
@@ -77,28 +77,27 @@
|
||||
<style>
|
||||
/* 0 to 299 */
|
||||
#homePageBackgroundImageDivStyled {
|
||||
/*background-image: url('{{ $tiny.RelPermalink }}'); This does not work on https://themes.gohugo.io/ */
|
||||
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $tiny.RelPermalink }}');
|
||||
background-image: url('{{ $tiny.RelPermalink }}');
|
||||
}
|
||||
/* 300 to X */
|
||||
@media (min-width: 500px) and (max-width: 800px) { /* or 301 if you want really the same as previously. */
|
||||
#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. */
|
||||
#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. */
|
||||
#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. */
|
||||
#homePageBackgroundImageDivStyled {
|
||||
background-image: url('{{ strings.TrimSuffix "/" site.BaseURL }}{{ $src.RelPermalink }}');
|
||||
background-image: url('{{ $src.RelPermalink }}');
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -133,7 +132,7 @@
|
||||
{{ if .section.id }}
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ end }}
|
||||
<a href="#{{ $sectionID }}" aria-label="{{ i18n "read" }} {{ i18n "more" }} - {{ $name }}"><i class="arrow bounce fa fa-chevron-down"></i></a>
|
||||
<a href="#{{ $sectionID }}" class="arrow-center" aria-label="{{ i18n "read" }} {{ i18n "more" }} - {{ $name }}"><i class="arrow bounce fa fa-chevron-down"></i></a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
@@ -5,12 +5,16 @@
|
||||
|
||||
<div class="container-fluid anchor pb-5 projects-section" id="{{ $sectionID }}">
|
||||
{{ 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 }}
|
||||
<div class="container ml-auto text-center">
|
||||
<div class="btn-group flex-wrap" role="group" id="project-filter-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 }}
|
||||
</button>
|
||||
{{ 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 }}
|
||||
|
||||
|
||||
<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) }}
|
||||
<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 }}
|
||||
<div class="container">
|
||||
<div class="row" id="recent-post-cards">
|
||||
@@ -20,4 +24,13 @@
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
{{ if (.section.showMoreButton) }}
|
||||
<div class="container" style="
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;">
|
||||
<a href="/posts/" title="Show More" class="float-right btn btn-outline-info btn-sm" >
|
||||
{{ i18n "show_more"}}</a>
|
||||
</div>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
@@ -3,9 +3,13 @@
|
||||
{{ $sectionID = .section.id }}
|
||||
{{ 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) }}
|
||||
<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 }}
|
||||
<div class="container d-flex-block">
|
||||
<div class="row" id="primary-skills">
|
||||
|
||||
Executable
+221
@@ -0,0 +1,221 @@
|
||||
<!--
|
||||
|
||||
SPDX-License-Identifier: MIT
|
||||
|
||||
This shortcut was originally taken from: https://github.com/anvithks/hugo-embed-pdf-shortcode,
|
||||
where it is available under the MIT License, where it was originally created by https://github.com/anvithks
|
||||
|
||||
Since the project seems discontinued, it has been re-created here
|
||||
-->
|
||||
|
||||
<!-- Load the PDF-JS from the local folder (should be updated over time) -->
|
||||
<script src= '/js/pdf-js/build/pdf.js'></script>
|
||||
|
||||
<!-- Set the navigation menu -->
|
||||
<div id="paginator">
|
||||
<button id="prev">Previous</button>
|
||||
<button id="next">Next</button>
|
||||
|
||||
<span>Page: <span id="page_num"></span> / <span id="page_count"></span></span>
|
||||
</div>
|
||||
|
||||
<!-- And the canvas where the PDF will load -->
|
||||
<div id="embed-pdf-container">
|
||||
<div id="loadingWrapper">
|
||||
<div id="loading"></div>
|
||||
</div>
|
||||
<canvas id="the-canvas"></canvas>
|
||||
</div>
|
||||
|
||||
<!-- This script gets the PDF, sets it and passes it on to the already-loaded pdf-js -->
|
||||
<script type="text/javascript">
|
||||
window.onload = function() {
|
||||
// If absolute URL from the remote server is provided, configure the CORS
|
||||
// header on that server.
|
||||
var url = "{{.Site.BaseURL}}" + '{{ .Get "src" }}';
|
||||
|
||||
var hidePaginator = "{{ .Get "hidePaginator" }}" === "true";
|
||||
var hideLoader = "{{ .Get "hideLoader" }}" === "true";
|
||||
var selectedPageNum = parseInt("{{ .Get "renderPageNum" }}") || 1;
|
||||
|
||||
// Loaded via <script> tag, create shortcut to access PDF.js exports.
|
||||
var pdfjsLib = window['pdfjs-dist/build/pdf'];
|
||||
|
||||
// The workerSrc property shall be specified.
|
||||
pdfjsLib.GlobalWorkerOptions.workerSrc = "{{.Site.BaseURL}}" + '/js/pdf-js/build/pdf.worker.js';
|
||||
|
||||
// Change the Scale value for lower or higher resolution.
|
||||
var pdfDoc = null,
|
||||
pageNum = selectedPageNum,
|
||||
pageRendering = false,
|
||||
pageNumPending = null,
|
||||
scale = 3,
|
||||
canvas = document.getElementById('the-canvas'),
|
||||
ctx = canvas.getContext('2d'),
|
||||
paginator = document.getElementById("paginator"),
|
||||
loadingWrapper = document.getElementById('loadingWrapper');
|
||||
|
||||
|
||||
// Attempt to show paginator and loader if enabled
|
||||
showPaginator();
|
||||
showLoader();
|
||||
|
||||
/**
|
||||
* Get page info from document, resize canvas accordingly, and render page.
|
||||
* @param num Page number.
|
||||
*/
|
||||
function renderPage(num) {
|
||||
pageRendering = true;
|
||||
// Using promise to fetch the page
|
||||
pdfDoc.getPage(num).then(function(page) {
|
||||
var viewport = page.getViewport({scale: scale});
|
||||
canvas.height = viewport.height;
|
||||
canvas.width = viewport.width;
|
||||
|
||||
// Render PDF page into canvas context
|
||||
var renderContext = {
|
||||
canvasContext: ctx,
|
||||
viewport: viewport
|
||||
};
|
||||
var renderTask = page.render(renderContext);
|
||||
|
||||
// Wait for rendering to finish
|
||||
renderTask.promise.then(function() {
|
||||
pageRendering = false;
|
||||
showContent();
|
||||
|
||||
if (pageNumPending !== null) {
|
||||
// New page rendering is pending
|
||||
renderPage(pageNumPending);
|
||||
pageNumPending = null;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Update page counters
|
||||
document.getElementById('page_num').textContent = num;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hides loader and shows canvas
|
||||
*/
|
||||
function showContent() {
|
||||
loadingWrapper.style.display = 'none';
|
||||
canvas.style.display = 'block';
|
||||
}
|
||||
|
||||
/**
|
||||
* If we haven't disabled the loader, show loader and hide canvas
|
||||
*/
|
||||
function showLoader() {
|
||||
if(hideLoader) return
|
||||
loadingWrapper.style.display = 'flex';
|
||||
canvas.style.display = 'none';
|
||||
}
|
||||
|
||||
/**
|
||||
* If we haven't disabled the paginator, show paginator
|
||||
*/
|
||||
function showPaginator() {
|
||||
if(hidePaginator) return
|
||||
paginator.style.display = 'block';
|
||||
}
|
||||
|
||||
/**
|
||||
* If another page rendering in progress, waits until the rendering is
|
||||
* finished. Otherwise, executes rendering immediately.
|
||||
*/
|
||||
function queueRenderPage(num) {
|
||||
if (pageRendering) {
|
||||
pageNumPending = num;
|
||||
} else {
|
||||
renderPage(num);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays previous page.
|
||||
*/
|
||||
function onPrevPage() {
|
||||
if (pageNum <= 1) {
|
||||
return;
|
||||
}
|
||||
pageNum--;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById('prev').addEventListener('click', onPrevPage);
|
||||
|
||||
/**
|
||||
* Displays next page.
|
||||
*/
|
||||
function onNextPage() {
|
||||
if (pageNum >= pdfDoc.numPages) {
|
||||
return;
|
||||
}
|
||||
pageNum++;
|
||||
queueRenderPage(pageNum);
|
||||
}
|
||||
document.getElementById('next').addEventListener('click', onNextPage);
|
||||
|
||||
/**
|
||||
* Asynchronously downloads PDF.
|
||||
*/
|
||||
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
|
||||
pdfDoc = pdfDoc_;
|
||||
var numPages = pdfDoc.numPages;
|
||||
document.getElementById('page_count').textContent = numPages;
|
||||
|
||||
// If the user passed in a number that is out of range, render the last page.
|
||||
if(pageNum > numPages) {
|
||||
pageNum = numPages
|
||||
}
|
||||
|
||||
// Initial/first page rendering
|
||||
renderPage(pageNum);
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<!-- Finally, make the canvas more beautiful -->
|
||||
<style>
|
||||
#the-canvas {
|
||||
border: 1px solid black;
|
||||
direction: ltr;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: none;
|
||||
}
|
||||
|
||||
#paginator {
|
||||
display: none;
|
||||
text-align: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#loadingWrapper {
|
||||
display: none;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 350px;
|
||||
}
|
||||
|
||||
#loading {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border: 3px solid #d2d0d0;;
|
||||
border-radius: 50%;
|
||||
border-top-color: #383838;
|
||||
animation: spin 1s ease-in-out infinite;
|
||||
-webkit-animation: spin 1s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
to { -webkit-transform: rotate(360deg); }
|
||||
}
|
||||
@-webkit-keyframes spin {
|
||||
to { -webkit-transform: rotate(360deg); }
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,13 @@
|
||||
{{ $alignment:= .Get "align"}}
|
||||
{{ if not $alignment }}
|
||||
{{ $alignment = "center"}}
|
||||
{{ end }}
|
||||
|
||||
{{ $background:= .Get "background" }}
|
||||
{{ if not $background }}
|
||||
{{ $background = "none"}}
|
||||
{{ end }}
|
||||
|
||||
<div class="mermaid" align="{{ $alignment }}" style="background-color: {{ $background }}; border-radius: 5px;">
|
||||
{{ safeHTML .Inner }}
|
||||
</div>
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="sidebar-holder">
|
||||
<div class="sidebar" id="sidebar">
|
||||
<form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
|
||||
<input type="text" name="keyword" value="" placeholder="Search" data-search="" id="search-box" />
|
||||
<input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
|
||||
</form>
|
||||
<div class="sidebar-tree">
|
||||
<ul class="tree" id="tree">
|
||||
|
||||
Generated
+175
-123
@@ -8,8 +8,8 @@
|
||||
"version": "1.0.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"autoprefixer": "^10.3.5",
|
||||
"postcss": "^8.3.7",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"postcss": "^8.4.18",
|
||||
"postcss-cli": "^8.3.1"
|
||||
}
|
||||
},
|
||||
@@ -104,17 +104,27 @@
|
||||
}
|
||||
},
|
||||
"node_modules/autoprefixer": {
|
||||
"version": "10.3.5",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.5.tgz",
|
||||
"integrity": "sha512-2H5kQSsyoOMdIehTzIt/sC9ZDIgWqlkG/dbevm9B9xQZ1TDPBHpNUDW5ENqqQQzuaBWEo75JkV0LJe+o5Lnr5g==",
|
||||
"version": "10.4.13",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
|
||||
"integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/autoprefixer"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"browserslist": "^4.17.1",
|
||||
"caniuse-lite": "^1.0.30001259",
|
||||
"fraction.js": "^4.1.1",
|
||||
"nanocolors": "^0.1.5",
|
||||
"browserslist": "^4.21.4",
|
||||
"caniuse-lite": "^1.0.30001426",
|
||||
"fraction.js": "^4.2.0",
|
||||
"normalize-range": "^0.1.2",
|
||||
"postcss-value-parser": "^4.1.0"
|
||||
"picocolors": "^1.0.0",
|
||||
"postcss-value-parser": "^4.2.0"
|
||||
},
|
||||
"bin": {
|
||||
"autoprefixer": "bin/autoprefixer"
|
||||
@@ -122,10 +132,6 @@
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"postcss": "^8.1.0"
|
||||
}
|
||||
@@ -152,40 +158,48 @@
|
||||
}
|
||||
},
|
||||
"node_modules/browserslist": {
|
||||
"version": "4.17.1",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz",
|
||||
"integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==",
|
||||
"version": "4.21.4",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
|
||||
"integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/browserslist"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"caniuse-lite": "^1.0.30001259",
|
||||
"electron-to-chromium": "^1.3.846",
|
||||
"escalade": "^3.1.1",
|
||||
"nanocolors": "^0.1.5",
|
||||
"node-releases": "^1.1.76"
|
||||
"caniuse-lite": "^1.0.30001400",
|
||||
"electron-to-chromium": "^1.4.251",
|
||||
"node-releases": "^2.0.6",
|
||||
"update-browserslist-db": "^1.0.9"
|
||||
},
|
||||
"bin": {
|
||||
"browserslist": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001260",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz",
|
||||
"integrity": "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==",
|
||||
"version": "1.0.30001427",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001427.tgz",
|
||||
"integrity": "sha512-lfXQ73oB9c8DP5Suxaszm+Ta2sr/4tf8+381GkIm1MLj/YdLf+rEDyDSRCzeltuyTVGm+/s18gdZ0q+Wmp8VsQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"nanocolors": "^0.1.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
}
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/browserslist"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/chalk": {
|
||||
"version": "4.1.2",
|
||||
@@ -281,9 +295,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/electron-to-chromium": {
|
||||
"version": "1.3.849",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz",
|
||||
"integrity": "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==",
|
||||
"version": "1.4.270",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz",
|
||||
"integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/emoji-regex": {
|
||||
@@ -339,9 +353,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/fraction.js": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz",
|
||||
"integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "*"
|
||||
@@ -605,16 +619,10 @@
|
||||
"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": {
|
||||
"version": "3.1.25",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
|
||||
"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"nanoid": "bin/nanoid.cjs"
|
||||
@@ -624,9 +632,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/node-releases": {
|
||||
"version": "1.1.76",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz",
|
||||
"integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==",
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
|
||||
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/normalize-path": {
|
||||
@@ -656,6 +664,12 @@
|
||||
"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": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
||||
@@ -678,21 +692,27 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss": {
|
||||
"version": "8.3.7",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz",
|
||||
"integrity": "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==",
|
||||
"version": "8.4.18",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
|
||||
"integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
},
|
||||
{
|
||||
"type": "tidelift",
|
||||
"url": "https://tidelift.com/funding/github/npm/postcss"
|
||||
}
|
||||
],
|
||||
"dependencies": {
|
||||
"nanocolors": "^0.1.5",
|
||||
"nanoid": "^3.1.25",
|
||||
"source-map-js": "^0.6.2"
|
||||
"nanoid": "^3.3.4",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^10 || ^12 || >=14"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/postcss/"
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-cli": {
|
||||
@@ -775,9 +795,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/postcss-value-parser": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
|
||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
|
||||
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/pretty-hrtime": {
|
||||
@@ -891,9 +911,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/source-map-js": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
|
||||
"integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
@@ -958,6 +978,32 @@
|
||||
"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": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
@@ -1086,17 +1132,17 @@
|
||||
"dev": true
|
||||
},
|
||||
"autoprefixer": {
|
||||
"version": "10.3.5",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.5.tgz",
|
||||
"integrity": "sha512-2H5kQSsyoOMdIehTzIt/sC9ZDIgWqlkG/dbevm9B9xQZ1TDPBHpNUDW5ENqqQQzuaBWEo75JkV0LJe+o5Lnr5g==",
|
||||
"version": "10.4.13",
|
||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.13.tgz",
|
||||
"integrity": "sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"browserslist": "^4.17.1",
|
||||
"caniuse-lite": "^1.0.30001259",
|
||||
"fraction.js": "^4.1.1",
|
||||
"nanocolors": "^0.1.5",
|
||||
"browserslist": "^4.21.4",
|
||||
"caniuse-lite": "^1.0.30001426",
|
||||
"fraction.js": "^4.2.0",
|
||||
"normalize-range": "^0.1.2",
|
||||
"postcss-value-parser": "^4.1.0"
|
||||
"picocolors": "^1.0.0",
|
||||
"postcss-value-parser": "^4.2.0"
|
||||
}
|
||||
},
|
||||
"binary-extensions": {
|
||||
@@ -1115,26 +1161,22 @@
|
||||
}
|
||||
},
|
||||
"browserslist": {
|
||||
"version": "4.17.1",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz",
|
||||
"integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==",
|
||||
"version": "4.21.4",
|
||||
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
|
||||
"integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"caniuse-lite": "^1.0.30001259",
|
||||
"electron-to-chromium": "^1.3.846",
|
||||
"escalade": "^3.1.1",
|
||||
"nanocolors": "^0.1.5",
|
||||
"node-releases": "^1.1.76"
|
||||
"caniuse-lite": "^1.0.30001400",
|
||||
"electron-to-chromium": "^1.4.251",
|
||||
"node-releases": "^2.0.6",
|
||||
"update-browserslist-db": "^1.0.9"
|
||||
}
|
||||
},
|
||||
"caniuse-lite": {
|
||||
"version": "1.0.30001260",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz",
|
||||
"integrity": "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"nanocolors": "^0.1.0"
|
||||
}
|
||||
"version": "1.0.30001427",
|
||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001427.tgz",
|
||||
"integrity": "sha512-lfXQ73oB9c8DP5Suxaszm+Ta2sr/4tf8+381GkIm1MLj/YdLf+rEDyDSRCzeltuyTVGm+/s18gdZ0q+Wmp8VsQ==",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "4.1.2",
|
||||
@@ -1210,9 +1252,9 @@
|
||||
}
|
||||
},
|
||||
"electron-to-chromium": {
|
||||
"version": "1.3.849",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz",
|
||||
"integrity": "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==",
|
||||
"version": "1.4.270",
|
||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.270.tgz",
|
||||
"integrity": "sha512-KNhIzgLiJmDDC444dj9vEOpZEgsV96ult9Iff98Vanumn+ShJHd5se8aX6KeVxdc0YQeqdrezBZv89rleDbvSg==",
|
||||
"dev": true
|
||||
},
|
||||
"emoji-regex": {
|
||||
@@ -1259,9 +1301,9 @@
|
||||
}
|
||||
},
|
||||
"fraction.js": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz",
|
||||
"integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
|
||||
"integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
|
||||
"dev": true
|
||||
},
|
||||
"fs-extra": {
|
||||
@@ -1452,22 +1494,16 @@
|
||||
"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": {
|
||||
"version": "3.1.25",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
|
||||
"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
|
||||
"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
|
||||
"dev": true
|
||||
},
|
||||
"node-releases": {
|
||||
"version": "1.1.76",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz",
|
||||
"integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==",
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
|
||||
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
|
||||
"dev": true
|
||||
},
|
||||
"normalize-path": {
|
||||
@@ -1488,6 +1524,12 @@
|
||||
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
||||
"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": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
|
||||
@@ -1501,14 +1543,14 @@
|
||||
"dev": true
|
||||
},
|
||||
"postcss": {
|
||||
"version": "8.3.7",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz",
|
||||
"integrity": "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==",
|
||||
"version": "8.4.18",
|
||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
|
||||
"integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"nanocolors": "^0.1.5",
|
||||
"nanoid": "^3.1.25",
|
||||
"source-map-js": "^0.6.2"
|
||||
"nanoid": "^3.3.4",
|
||||
"picocolors": "^1.0.0",
|
||||
"source-map-js": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"postcss-cli": {
|
||||
@@ -1557,9 +1599,9 @@
|
||||
}
|
||||
},
|
||||
"postcss-value-parser": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
|
||||
"integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
|
||||
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
|
||||
"dev": true
|
||||
},
|
||||
"pretty-hrtime": {
|
||||
@@ -1626,9 +1668,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"source-map-js": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz",
|
||||
"integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==",
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
|
||||
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
|
||||
"dev": true
|
||||
},
|
||||
"string-width": {
|
||||
@@ -1675,6 +1717,16 @@
|
||||
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
|
||||
"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": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
|
||||
+5
-5
@@ -8,17 +8,17 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/hossainemruz/toha.git"
|
||||
"url": "git+https://github.com/hugo-toha/toha.git"
|
||||
},
|
||||
"author": "Emruz Hossain",
|
||||
"license": "MIT",
|
||||
"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": {
|
||||
"autoprefixer": "^10.3.5",
|
||||
"postcss": "^8.3.7",
|
||||
"autoprefixer": "^10.4.13",
|
||||
"postcss": "^8.4.18",
|
||||
"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 {
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
margin: auto;
|
||||
@@ -91,7 +90,6 @@
|
||||
margin-right: auto;
|
||||
margin-top: 0.5rem;
|
||||
margin-bottom: 0.5rem;
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ img.right {
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
/* ====== codeblocks ====== */
|
||||
/* ====== table ====== */
|
||||
table {
|
||||
border-radius: 0.1rem;
|
||||
background: #e5e9f2;
|
||||
@@ -206,12 +206,46 @@ tbody tr:hover {
|
||||
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 {
|
||||
border: 1px solid #c0ccda;
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
align-self: center;
|
||||
@@ -276,7 +310,6 @@ mark {
|
||||
|
||||
/* ======= Paginator ========= */
|
||||
.paginator {
|
||||
width: -webkit-fit-content;
|
||||
width: -moz-fit-content;
|
||||
width: fit-content;
|
||||
margin: auto;
|
||||
@@ -408,7 +441,8 @@ mark {
|
||||
|
||||
@media only screen and (max-width: 576px) {
|
||||
.skills-section .container,
|
||||
.projects-section .container {
|
||||
.projects-section .container,
|
||||
.publications-section .container {
|
||||
padding-left: 0.3rem;
|
||||
padding-right: 0.3rem;
|
||||
}
|
||||
@@ -421,7 +455,8 @@ mark {
|
||||
.skills-section,
|
||||
.projects-section,
|
||||
.recent-posts-section,
|
||||
.achievements-section {
|
||||
.achievements-section,
|
||||
.publications-section {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
@@ -307,6 +307,8 @@ h6 {
|
||||
list-style-type: none;
|
||||
display: inline-block;
|
||||
background: #248aaa;
|
||||
margin-left: 0.2em;
|
||||
margin-right: 0.2em;
|
||||
}
|
||||
|
||||
.taxonomy-terms a {
|
||||
@@ -436,7 +438,6 @@ h6 {
|
||||
.toc-section {
|
||||
order: 2;
|
||||
width: 100%;
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
max-height: 0;
|
||||
@@ -449,7 +450,6 @@ h6 {
|
||||
position: relative;
|
||||
/* height: fit-content; */
|
||||
flex: 100%;
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
max-height: 200vh;
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
height: 50px;
|
||||
z-index: 99999;
|
||||
transition: all 0.4s ease-out;
|
||||
margin: 0;
|
||||
padding-top: 0.1rem;
|
||||
margin: 0px;
|
||||
padding-top: 0.4rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
.initial-navbar li a:hover {
|
||||
color: #f9fafc;
|
||||
transition: all 0.3s ease-out;
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.navbar-collapse {
|
||||
@@ -166,7 +167,6 @@
|
||||
/* IPad Pro */
|
||||
@media (max-width: 1024px) {
|
||||
.top-navbar {
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
padding-bottom: 0px;
|
||||
|
||||
@@ -25,7 +25,6 @@
|
||||
.sidebar-tree {
|
||||
padding-left: 1rem;
|
||||
position: relative;
|
||||
width: -webkit-max-content;
|
||||
width: -moz-max-content;
|
||||
width: max-content;
|
||||
}
|
||||
@@ -247,7 +246,6 @@ a.focused {
|
||||
.sidebar-section.hide {
|
||||
margin-top: 2rem;
|
||||
position: relative;
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
flex: none;
|
||||
@@ -258,7 +256,6 @@ a.focused {
|
||||
|
||||
.sidebar-holder {
|
||||
max-height: 0;
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
overflow: hidden;
|
||||
@@ -273,10 +270,8 @@ a.focused {
|
||||
|
||||
.sidebar {
|
||||
position: relative;
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
max-height: -webkit-fit-content;
|
||||
max-height: -moz-fit-content;
|
||||
max-height: fit-content;
|
||||
width: 100vw;
|
||||
|
||||
+17
-169
@@ -76,22 +76,25 @@
|
||||
border-bottom-left-radius: 80px;
|
||||
border-right: 0;
|
||||
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 {
|
||||
width: 90%;
|
||||
height: 90%;
|
||||
padding: 1rem;
|
||||
border-radius: 50%;
|
||||
background: #3c4858;
|
||||
font-size: 1rem;
|
||||
color: #f9fafc;
|
||||
line-height: 135px;
|
||||
line-height: initial;
|
||||
text-align: center;
|
||||
position: absolute;
|
||||
top: 5%;
|
||||
left: 5%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.circular-progress.blue .circular-progress-bar {
|
||||
@@ -119,67 +122,47 @@
|
||||
}
|
||||
|
||||
.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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-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 {
|
||||
-webkit-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);
|
||||
}
|
||||
animation: circular-loading-100 1.8s linear forwards 1.8s;
|
||||
}
|
||||
|
||||
@keyframes circular-loading-50 {
|
||||
@@ -191,15 +174,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-55 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(18deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-55 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -209,15 +183,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-60 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(36deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-60 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -227,15 +192,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-65 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(54deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-65 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -245,15 +201,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-70 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(72deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-70 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -263,15 +210,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-75 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-75 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -281,15 +219,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-80 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(108deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-80 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -299,15 +228,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-85 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(126deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-85 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -317,15 +237,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-90 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(144deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-90 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -335,15 +246,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-95 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(162deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-95 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -353,15 +255,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-100 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-100 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -371,15 +264,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-1 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-1 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -389,15 +273,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-2 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(144deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-2 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -407,15 +282,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-3 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-3 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -425,15 +291,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-4 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(36deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-4 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@@ -443,15 +300,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
@-webkit-keyframes circular-loading-5 {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(126deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes circular-loading-5 {
|
||||
0% {
|
||||
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 {
|
||||
background: #fff;
|
||||
border-top: 2px solid #248aaa;
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
padding-top: 0.5rem;
|
||||
}
|
||||
|
||||
.achievements-section h1 > span{
|
||||
margin-top: -55px; /* Size of fixed header */
|
||||
padding-bottom:55px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
#gallery .achievement-entry {
|
||||
cursor: pointer;
|
||||
margin-top: 5px;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
.education-section .education-info-table {
|
||||
width: 100%;
|
||||
border: none;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.education-section .education-info-table tr:hover {
|
||||
@@ -12,6 +13,7 @@
|
||||
.education-section .education-info-table td {
|
||||
border: none;
|
||||
padding: 0;
|
||||
background: none;
|
||||
}
|
||||
|
||||
.education-section .timeframe {
|
||||
@@ -19,6 +21,12 @@
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.education-section h1 > span{
|
||||
margin-top: -55px; /* Size of fixed header */
|
||||
padding-bottom:55px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.education-section .icon {
|
||||
width: 2rem;
|
||||
padding-left: 0;
|
||||
@@ -102,7 +110,9 @@
|
||||
border: none;
|
||||
color: #212529;
|
||||
}
|
||||
|
||||
.education-section .taken-courses th.course-name-header{
|
||||
width: 50%;
|
||||
}
|
||||
.education-section .taken-courses .hidden-course {
|
||||
display: none;
|
||||
transition: all 1s ease-out;
|
||||
|
||||
@@ -6,6 +6,12 @@
|
||||
margin-top: 1.5rem !important;
|
||||
}
|
||||
|
||||
.experiences-section h1 > span{
|
||||
margin-top: -55px; /* Size of fixed header */
|
||||
padding-bottom:55px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.experiences-section ul {
|
||||
padding-left: 1rem;
|
||||
}
|
||||
|
||||
@@ -18,8 +18,13 @@
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.arrow-center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
/*
|
||||
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
|
||||
tall which blows your image out. Setting the attachment back to scroll allows
|
||||
@@ -66,24 +71,7 @@
|
||||
}
|
||||
|
||||
.bounce {
|
||||
-webkit-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);
|
||||
}
|
||||
animation: bounce 2s infinite;
|
||||
}
|
||||
|
||||
@keyframes bounce {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
.recent-posts-section h1 > span{
|
||||
margin-top: -55px; /* Size of fixed header */
|
||||
padding-bottom:55px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.recent-posts-section .card .card-footer span {
|
||||
font-size: 10pt;
|
||||
color: #6c757d !important;
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
.skills-section .card .card-head {
|
||||
background-color: #f9fafc;
|
||||
height: -webkit-fit-content;
|
||||
height: -moz-fit-content;
|
||||
height: fit-content;
|
||||
padding: 0.7rem;
|
||||
@@ -8,6 +7,12 @@
|
||||
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 {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 30 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ae" viewBox="0 0 512 512"><path fill="#00732f" d="M0 0h512v170.7H0z"/><path fill="#fff" d="M0 170.7h512v170.6H0z"/><path d="M0 341.3h512V512H0z"/><path fill="red" d="M0 0h180v512H0z"/></svg>
|
||||
|
After Width: | Height: | Size: 245 B |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 20 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user