├── .github
├── dependabot.yml
└── workflows
│ ├── docs-to-gh-pages.yml
│ ├── fresh-to-vercel-pr-deployment.yml
│ ├── fresh-to-vercel-pr.yml
│ ├── fresh-to-vercel.yml
│ └── htmltest.yml
├── .gitignore
├── LICENSE
├── README.md
├── assets
├── fresh
│ ├── core.scss
│ └── partials
│ │ ├── _animations.scss
│ │ ├── _buttons.scss
│ │ ├── _cards.scss
│ │ ├── _colors.scss
│ │ ├── _dropdowns.scss
│ │ ├── _footer.scss
│ │ ├── _forms.scss
│ │ ├── _hero.scss
│ │ ├── _navbar.scss
│ │ ├── _responsive.scss
│ │ ├── _sections.scss
│ │ ├── _sidebar.scss
│ │ ├── _testimonials.scss
│ │ └── _utils.scss
└── style.sass
├── config.yaml
├── docs
├── content
│ ├── deepmodifications.md
│ ├── getstarted.md
│ ├── landingpage.md
│ ├── markdown-syntax.md
│ ├── misc.md
│ ├── module.md
│ ├── singlepage.md
│ └── troubleshooting.md
├── go.mod
├── go.sum
└── hugo.yml
├── exampleSite
├── .gitignore
├── .htmltest.yml
├── content
│ ├── agb.md
│ └── blog
│ │ ├── first.md
│ │ └── second.md
├── go.mod
├── go.sum
├── hugo.work
└── hugo.yaml
├── go.mod
├── go.sum
├── images
├── screenshot.png
└── tn.png
├── layouts
├── _default
│ ├── baseof.html
│ ├── list.html
│ └── single.html
├── index.html
├── partials
│ ├── css.html
│ ├── footer.html
│ ├── hero-body.html
│ ├── hero-footer.html
│ ├── hero.html
│ ├── javascript.html
│ ├── meta.html
│ ├── navbar-clone.html
│ ├── navbar.html
│ ├── section1.html
│ ├── section2.html
│ ├── section3.html
│ ├── section4.html
│ ├── section5.html
│ ├── sidebar.html
│ └── single
│ │ ├── content.html
│ │ ├── sidebar.html
│ │ └── single.html
└── shortcodes
│ ├── subtitle1.html
│ ├── subtitle2.html
│ ├── subtitle3.html
│ ├── subtitle4.html
│ ├── subtitle5.html
│ ├── subtitle6.html
│ ├── title1.html
│ ├── title2.html
│ ├── title3.html
│ ├── title4.html
│ ├── title5.html
│ └── title6.html
├── resources
└── _gen
│ └── assets
│ └── sass
│ ├── style.sass_0cd3d355ec95bf1703b17a06ee0ef826.content
│ └── style.sass_0cd3d355ec95bf1703b17a06ee0ef826.json
├── static
├── css
│ └── icons.css
├── fonts
│ ├── fontawesome-webfont.woff2
│ ├── fontello.woff
│ └── simple-line-icons.ttf
├── images
│ ├── favicon.png
│ ├── illustrations
│ │ ├── faces
│ │ │ ├── 1.png
│ │ │ ├── 2.png
│ │ │ └── 3.png
│ │ ├── icons
│ │ │ ├── doc-sync.svg
│ │ │ ├── laptop-cloud.svg
│ │ │ ├── laptop-globe.svg
│ │ │ ├── mobile-feed.svg
│ │ │ ├── mouse-globe.svg
│ │ │ └── plug-cloud.svg
│ │ ├── mockups
│ │ │ └── app-mockup.png
│ │ ├── worker.png
│ │ └── worker.svg
│ ├── loaders
│ │ ├── audio.svg
│ │ ├── ball-triangle.svg
│ │ ├── bars.svg
│ │ ├── circles.svg
│ │ ├── grid.svg
│ │ ├── hearts.svg
│ │ ├── oval.svg
│ │ ├── puff.svg
│ │ ├── rings.svg
│ │ ├── spinning-circles.svg
│ │ ├── tail-spin.svg
│ │ └── three-dots.svg
│ └── logos
│ │ ├── bulma.svg
│ │ ├── clients
│ │ ├── gutwork.svg
│ │ ├── infinite.svg
│ │ ├── kromo.svg
│ │ ├── systek.svg
│ │ └── tribe.svg
│ │ ├── fresh-alt.svg
│ │ ├── fresh-square.svg
│ │ ├── fresh-white-alt.svg
│ │ ├── fresh-white.svg
│ │ ├── fresh.svg
│ │ ├── icon-logo.svg
│ │ └── made-with-bulma.png
└── js
│ ├── fresh.js
│ └── jquery.panelslider.min.js
└── theme.toml
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # Configuration options:
2 | # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#about-the-dependabotyml-file
3 |
4 | version: 2
5 |
6 | updates:
7 | - package-ecosystem: "github-actions"
8 | directory: "/"
9 | schedule:
10 | interval: "weekly"
11 |
--------------------------------------------------------------------------------
/.github/workflows/docs-to-gh-pages.yml:
--------------------------------------------------------------------------------
1 | name: Deploy docs
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | jobs:
9 | deploy:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - uses: actions/checkout@v4
13 |
14 | - name: Setup Hugo
15 | uses: peaceiris/actions-hugo@v3
16 | with:
17 | hugo-version: '0.110.0'
18 | extended: true
19 |
20 | - name: Build
21 | working-directory: docs
22 | run: hugo --minify
23 |
24 | - name: Deploy
25 | uses: peaceiris/actions-gh-pages@v4
26 | with:
27 | github_token: ${{ secrets.GITHUB_TOKEN }}
28 | force_orphan: true
29 | commit_message: '[skip ci] Deploy:'
30 | publish_dir: docs/public
31 |
--------------------------------------------------------------------------------
/.github/workflows/fresh-to-vercel-pr-deployment.yml:
--------------------------------------------------------------------------------
1 | name: Fresh to vercel PR deployment
2 |
3 | on:
4 | workflow_run:
5 | workflows: [Fresh to vercel PR]
6 | types:
7 | - completed
8 |
9 | jobs:
10 | createExampleAndDeployToArtifacts:
11 | runs-on: ubuntu-latest
12 | steps:
13 | - name: Checkout
14 | uses: actions/checkout@v4
15 |
16 | - name: Download hugo build
17 | uses: actions/github-script@v7.0.1
18 | with:
19 | script: |
20 | var artifacts = await github.rest.actions.listWorkflowRunArtifacts({
21 | owner: context.repo.owner,
22 | repo: context.repo.repo,
23 | run_id: ${{ github.event.workflow_run.id }},
24 | });
25 | var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
26 | return artifact.name == "hugo-output"
27 | })[0];
28 | var download = await github.rest.actions.downloadArtifact({
29 | owner: context.repo.owner,
30 | repo: context.repo.repo,
31 | artifact_id: matchArtifact.id,
32 | archive_format: 'zip',
33 | });
34 | var fs = require('fs');
35 | fs.writeFileSync('${{github.workspace}}/hugo-output.zip', Buffer.from(download.data));
36 | - run: unzip hugo-output.zip -d hugo-output
37 |
38 | - name: Download alias-domain
39 | uses: actions/github-script@v7.0.1
40 | with:
41 | script: |
42 | var artifacts = await github.rest.actions.listWorkflowRunArtifacts({
43 | owner: context.repo.owner,
44 | repo: context.repo.repo,
45 | run_id: ${{ github.event.workflow_run.id }},
46 | });
47 | var matchArtifact = artifacts.data.artifacts.filter((artifact) => {
48 | return artifact.name == "alias-domain"
49 | })[0];
50 | var download = await github.rest.actions.downloadArtifact({
51 | owner: context.repo.owner,
52 | repo: context.repo.repo,
53 | artifact_id: matchArtifact.id,
54 | archive_format: 'zip',
55 | });
56 | var fs = require('fs');
57 | fs.writeFileSync('${{github.workspace}}/alias-domain.zip', Buffer.from(download.data));
58 | - run: unzip alias-domain.zip
59 |
60 | - name: Extract alias-domain
61 | id: extract-alias-domain
62 | run: |
63 | aliasDomain=`cat alias-domain`
64 | echo "ALIAS_DOMAIN=$aliasDomain" >> $GITHUB_OUTPUT
65 |
66 | - name: Deploy to Vercel on PR
67 | uses: amondnet/vercel-action@v25
68 | with:
69 | vercel-token: ${{ secrets.VERCEL_TOKEN }}
70 | vercel-org-id: ${{ secrets.VERCEL_ORG_ID}}
71 | vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID}}
72 | vercel-project-name: hugo-fresh
73 | alias-domains: ${{ steps.extract-alias-domain.outputs.ALIAS_DOMAIN }}
74 | working-directory: ./hugo-output
--------------------------------------------------------------------------------
/.github/workflows/fresh-to-vercel-pr.yml:
--------------------------------------------------------------------------------
1 | name: Fresh to vercel PR
2 |
3 | on:
4 | pull_request:
5 |
6 | jobs:
7 | testBuild:
8 | runs-on: ubuntu-latest
9 | strategy:
10 | matrix:
11 | # 0.110.0 "minVersion" (that is tested)
12 | # 0.135.0 "justAVersion"
13 | # latest "latest"
14 | hugo: ['0.110.0', '0.135.0', 'latest']
15 |
16 | steps:
17 | - name: Checkout
18 | uses: actions/checkout@v4
19 |
20 | - name: Setup Hugo
21 | uses: peaceiris/actions-hugo@v3
22 | with:
23 | hugo-version: ${{ matrix.hugo }}
24 | extended: true
25 |
26 | - name: Build with Hugo on PR
27 | working-directory: exampleSite
28 | run: hugo --minify
29 |
30 | createExampleAndDeployToArtifacts:
31 | runs-on: ubuntu-latest
32 | needs: [testBuild]
33 | steps:
34 | - name: Checkout
35 | uses: actions/checkout@v4
36 |
37 | - name: Setup Hugo
38 | uses: peaceiris/actions-hugo@v3
39 | with:
40 | hugo-version: 'latest'
41 | extended: true
42 |
43 | - name: Build with Hugo on PR
44 | working-directory: exampleSite
45 | run: |
46 | hugo \
47 | --minify \
48 | --baseURL https://hugo-fresh-${{ github.event.pull_request.head.user.login }}-${{ github.event.pull_request.head.ref }}.vercel.app
49 |
50 | - name: Save hugo as artifact
51 | uses: actions/upload-artifact@v4
52 | with:
53 | name: hugo-output
54 | path: exampleSite/public/
55 |
56 | - name: Save alias domain
57 | run: |
58 | mkdir -p ./alias-domain
59 | echo hugo-fresh-${{ github.event.pull_request.head.user.login }}-${{ github.event.pull_request.head.ref }}.vercel.app > ./alias-domain/alias-domain
60 |
61 | - name: Save alias domain as artifact
62 | uses: actions/upload-artifact@v4
63 | with:
64 | name: alias-domain
65 | path: alias-domain/
66 |
--------------------------------------------------------------------------------
/.github/workflows/fresh-to-vercel.yml:
--------------------------------------------------------------------------------
1 | name: Fresh to vercel
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 |
8 | jobs:
9 | deployMasterToVercel:
10 | runs-on: ubuntu-latest
11 | steps:
12 | - name: Checkout
13 | uses: actions/checkout@v4
14 |
15 | - name: Setup Hugo
16 | uses: peaceiris/actions-hugo@v3
17 | with:
18 | hugo-version: '0.110.0'
19 | extended: true
20 |
21 | - name: Build with Hugo on master
22 | working-directory: exampleSite
23 | run: |
24 | hugo \
25 | --minify \
26 | --baseURL https://hugo-fresh.vercel.app/
27 |
28 | - name: Deploy to Vercel on master
29 | uses: amondnet/vercel-action@v25
30 | with:
31 | vercel-token: ${{ secrets.VERCEL_TOKEN }}
32 | vercel-org-id: ${{ secrets.VERCEL_ORG_ID}}
33 | vercel-project-id: ${{ secrets.VERCEL_PROJECT_ID}}
34 | vercel-project-name: hugo-fresh
35 | vercel-args: '--prod'
36 | working-directory: ./exampleSite/public
--------------------------------------------------------------------------------
/.github/workflows/htmltest.yml:
--------------------------------------------------------------------------------
1 | # .github/workflows/htmltest.yml
2 | # Run htmltest link checker on generated HTML output from user guide
3 |
4 | name: Link check with htmltest
5 |
6 | on:
7 | workflow_dispatch:
8 | push:
9 | branches:
10 | - master
11 | pull_request:
12 |
13 | jobs:
14 | htmltest:
15 | runs-on: ubuntu-latest
16 | concurrency:
17 | group: ${{ github.workflow }}-${{ github.ref }}
18 | steps:
19 | - name: Check out repository
20 | uses: actions/checkout@v4
21 | with:
22 | fetch-depth: 0 # Fetch all history for .GitInfo and .Lastmod
23 |
24 | - name: Set up Hugo
25 | uses: peaceiris/actions-hugo@v3
26 | with:
27 | hugo-version: "latest"
28 | extended: true
29 |
30 | - run: hugo --destination $GITHUB_WORKSPACE/exampleSite/public --themesDir ../../ --theme hugo-fresh
31 | working-directory: exampleSite
32 |
33 | - name: Test HTML
34 | # https://github.com/wjdp/htmltest-action/
35 | continue-on-error: true # <- Set to true if run shouldn't fail with broken links
36 | uses: wjdp/htmltest-action@master
37 | with:
38 | # For consistency, use the same config file as for local builds
39 | config: exampleSite/.htmltest.yml
40 | path: exampleSite/public
41 |
42 | - name: Archive htmltest results
43 | uses: actions/upload-artifact@v4
44 | with:
45 | name: htmltest-report
46 | path: tmp/.htmltest/htmltest.log
47 | retention-days: 7 # default is 90 days
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | public
2 | .hugo_build.lock
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 Stefan M.
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | The Fresh theme for Hugo
3 |
4 |
5 | **Fresh** is a theme for the [Hugo](https://gohugo.io) static site generator adapted from the gorgeous, [Bulma](https://bulma.io)-based theme of the same name from [CSS Ninja](https://cssninja.io/product/fresh). You can find a live demo of the original theme [here](https://fresh.cssninja.io/) and a live demo of the Hugo theme [here](https://hugo-fresh.vercel.app).
6 |
7 | 
8 |
--------------------------------------------------------------------------------
/assets/fresh/core.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Main SCSS file / Fresh
3 | ========================================================================== */
4 |
5 | //Imports
6 | @import 'partials/colors';
7 | @import 'partials/navbar';
8 | @import 'partials/dropdowns';
9 | @import 'partials/sections';
10 | @import 'partials/hero';
11 | @import 'partials/footer';
12 | @import 'partials/buttons';
13 | @import 'partials/cards';
14 | @import 'partials/forms';
15 | @import 'partials/animations';
16 | @import 'partials/sidebar';
17 | @import 'partials/testimonials';
18 | @import 'partials/responsive';
19 | @import 'partials/utils';
20 |
21 |
--------------------------------------------------------------------------------
/assets/fresh/partials/_animations.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | General Keyframes animations
3 | ========================================================================== */
4 |
5 | .animated {
6 | animation-duration: 0.5s;
7 | animation-fill-mode: both;
8 | -webkit-animation-duration: 0.5s;
9 | -webkit-animation-fill-mode: both;
10 | }
11 |
12 | //Delays
13 | .delay-1 {
14 | animation-delay: .25s;
15 | }
16 | .delay-2 {
17 | animation-delay: .5s;
18 | }
19 | .delay-3 {
20 | animation-delay: .75s;
21 | }
22 | .delay-4 {
23 | animation-delay: 1s;
24 | }
25 |
26 | // FADE IN LEFT
27 | @keyframes fadeInLeft {
28 | from {
29 | -webkit-transform: translate3d(20px, 0, 0);
30 | transform: translate3d(20px, 0, 0);
31 | opacity: 0;
32 | }
33 | to {
34 | -webkit-transform: translate3d(0, 0, 0);
35 | transform: translate3d(0, 0, 0);
36 | opacity: 1;
37 | }
38 | }
39 | @-webkit-keyframes fadeInLeft {
40 | from {
41 | -webkit-transform: translate3d(20px, 0, 0);
42 | transform: translate3d(20px, 0, 0);
43 | opacity: 0;
44 | }
45 | to {
46 | -webkit-transform: translate3d(0, 0, 0);
47 | transform: translate3d(0, 0, 0);
48 | opacity: 1;
49 | }
50 | }
51 |
52 | .preFadeInLeft {
53 | opacity: 0;
54 | }
55 |
56 | .fadeInLeft {
57 | opacity: 0;
58 | animation-name: fadeInLeft;
59 | -webkit-animation-name: fadeInLeft;
60 | }
61 |
62 | // FADE IN UP
63 | @keyframes fadeInUp {
64 | from {
65 | -webkit-transform: translate3d(0, 20px, 0);
66 | transform: translate3d(0, 20px, 0);
67 | }
68 | to {
69 | -webkit-transform: translate3d(0, 0, 0);
70 | transform: translate3d(0, 0, 0);
71 | opacity: 1;
72 | }
73 | }
74 | @-webkit-keyframes fadeInUp {
75 | from {
76 | -webkit-transform: translate3d(0, 20px, 0);
77 | transform: translate3d(0, 20px, 0);
78 | }
79 | to {
80 | -webkit-transform: translate3d(0, 0, 0);
81 | transform: translate3d(0, 0, 0);
82 | opacity: 1;
83 | }
84 | }
85 | .preFadeInUp {
86 | opacity: 0;
87 | }
88 | .fadeInUp {
89 | opacity: 0;
90 | animation-name: fadeInUp;
91 | -webkit-animation-name: fadeInUp;
92 | }
93 |
94 | //Gelatine
95 | .gelatine {
96 | animation: gelatine 0.6s;
97 | animation-duration: 0.6s;
98 | -webkit-animation-duration: 0.5s;
99 | animation-fill-mode: both;
100 | -webkit-animation-fill-mode: both;
101 | }
102 |
103 | @keyframes gelatine {
104 | from, to { transform: scale(1, 1); }
105 | 25% { transform: scale(0.9, 1.1); }
106 | 50% { transform: scale(1.1, 0.9); }
107 | 75% { transform: scale(0.95, 1.05); }
108 | }
--------------------------------------------------------------------------------
/assets/fresh/partials/_buttons.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Classes to change the feel of bulma buttons
3 | ========================================================================== */
4 |
5 | // CTA buttons
6 |
7 | .button {
8 | cursor: pointer;
9 | transition: all 0.5s;
10 | &.cta {
11 | font-family: 'Open Sans', sans-serif;
12 | font-size: 1rem;
13 | font-weight: 600;
14 | padding: 26px 40px 26px 40px;
15 | }
16 | &.is-clear {
17 | line-height: 0 !important;
18 | }
19 | &.rounded {
20 | border-radius: 500px;
21 | }
22 | &.raised:hover {
23 | box-shadow: 0 14px 26px -12px rgba(0, 0, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2) !important;
24 | opacity: 0.8;
25 | }
26 | &.btn-outlined {
27 | background: transparent;
28 | }
29 | &.signup-button {
30 | font-size: .9rem;
31 | font-weight: 600;
32 | font-family: 'Open Sans', sans-serif;
33 | padding: 24px 26px;
34 | width: 130px;
35 | }
36 | }
37 |
38 | .button {
39 | &.primary-btn {
40 | outline: none;
41 | border-color: $primary;
42 | background-color: $primary;
43 | color: $white;
44 | transition: all 0.5s;
45 | &:hover {
46 | color: $white;
47 | }
48 | &.raised:hover {
49 | box-shadow: 0 14px 26px -12px rgba(79, 193, 234, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(79, 193, 234, 0.2) !important;
50 | opacity: 0.8;
51 | }
52 | &.btn-outlined {
53 | border-color: $primary;
54 | color: $primary;
55 | background-color: transparent;
56 | &:hover {
57 | color: $white;
58 | background-color: $primary;
59 | }
60 | }
61 | }
62 | &.secondary-btn {
63 | outline: none;
64 | border-color: $secondary;
65 | background-color: $secondary;
66 | color: $white;
67 | transition: all 0.5s;
68 | &:hover {
69 | color: $white;
70 | }
71 | &.raised:hover {
72 | box-shadow: 0 14px 26px -12px rgba(243, 146, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(243, 146, 0, 0.2) !important;
73 | opacity: 0.8;
74 | }
75 | &.btn-outlined {
76 | border-color: $secondary;
77 | color: $secondary;
78 | background-color: transparent;
79 | &:hover {
80 | color: $white;
81 | background-color: $secondary;
82 | }
83 | }
84 | }
85 | &.button.accent-btn {
86 | outline: none;
87 | border-color: $accent;
88 | background-color: $accent;
89 | color: $white;
90 | transition: all 0.5s;
91 | &:hover {
92 | color: $white;
93 | }
94 | &.raised:hover {
95 | box-shadow: 0 14px 26px -12px rgba(104, 187, 136, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(104, 187, 136, 0.2) !important;
96 | opacity: 0.8;
97 | }
98 | &.btn-outlined {
99 | border-color: $accent;
100 | color: $accent;
101 | background-color: transparent;
102 | &:hover {
103 | color: $white;
104 | background-color: $accent;
105 | }
106 | }
107 | }
108 | }
109 |
110 |
--------------------------------------------------------------------------------
/assets/fresh/partials/_cards.scss:
--------------------------------------------------------------------------------
1 | /*! _cards.scss v1.0.0 | Commercial License | built on top of bulma.io/Bulmax */
2 |
3 | /* ==========================================================================
4 | Cards and Card content styles
5 | ========================================================================== */
6 |
7 | // Feature Card
8 | .feature-card {
9 | width: 300px;
10 | height: 320px;
11 | background-color: #fff;
12 | border-radius: 3px;
13 | margin: 0 auto;
14 | .card-title h4 {
15 | font-family: 'Open Sans', sans-serif;
16 | padding-top: 25px;
17 | font-size: 1.2rem;
18 | font-weight: 600;
19 | color: $blue-grey;
20 | }
21 | .card-icon img {
22 | height: 120px;
23 | margin-top: 20px;
24 | }
25 | .card-text {
26 | padding: 0 40px;
27 | p {
28 | color: $muted-grey;
29 | }
30 | }
31 | .card-action {
32 | margin-top: 10px;
33 | }
34 | &.is-bordered {
35 | border: 1px solid $fade-grey;
36 | }
37 | }
38 |
39 | // Flex Card
40 | .flex-card {
41 | position: relative;
42 | background-color: #fff;
43 | border: 0;
44 | border-radius: 0.1875rem;
45 | display: inline-block;
46 | position: relative;
47 | overflow: hidden;
48 | width: 100%;
49 | margin-bottom: 20px;
50 | &.raised {
51 | box-shadow: 0px 5px 25px 0px rgba(0, 0, 0, 0.2);
52 | }
53 | .tabs {
54 | padding: 15px 0.7rem;
55 | }
56 | .navtab-content {
57 | min-height: 190px;
58 | p {
59 | padding: 0 0.8rem 20px;
60 | }
61 | }
62 | .navigation-tabs {
63 | &.outlined-pills .tabs.tabs-header {
64 | &.primary {
65 | background-color: $primary;
66 | }
67 | &.secondary {
68 | background-color: $secondary;
69 | }
70 | &.accent {
71 | background-color: $accent;
72 | }
73 | ul li a {
74 | color: $grey-white;
75 | }
76 | ul li.is-active a {
77 | color: $white;
78 | border: 1px solid $white;
79 | border-bottom-color: $white !important;
80 | }
81 | }
82 | }
83 |
84 | }
--------------------------------------------------------------------------------
/assets/fresh/partials/_colors.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Color variables
3 | ========================================================================== */
4 |
5 | $white: #fff;
6 | $smoke-white: #fcfcfc;
7 | $grey-white: #f2f2f2;
8 |
9 | $primary: #4FC1EA;
10 | $secondary: #F39200;
11 | $accent: #00efb7;
12 |
13 | $fade-grey: #ededed;
14 | $light-grey: #EFF4F7;
15 | $title-grey: #A9ABAC;
16 | $blue-grey: #444F60;
17 | $muted-grey: #999;
18 | $light-blue-grey: #98a9c3;
19 | $medium-grey: #66676b;
20 | $basaltic-grey: #878787;
21 | $purple: #7F00FF;
22 | $mint: #11FFBD;
23 | $bloody: #FC354C;
24 | $pinky: #ff00cc;
25 | $frost: #004e92;
26 | $placeholder: #cecece;
27 | $dark-grey: #344258;
28 | $border-grey: #ccc;
29 | $muted-grey: #999;
30 | $section-grey: #fbfbfb;
--------------------------------------------------------------------------------
/assets/fresh/partials/_dropdowns.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Dropdown styles
3 | ========================================================================== */
4 |
5 | // Hover Dropdowns
6 | div.nav-item.is-drop a {
7 | padding-right: 7px;
8 | }
9 |
10 | div.nav-item.is-drop:hover .dropContain .dropOut {
11 | opacity: 1;
12 | }
13 |
14 | div.nav-item.is-drop:hover, div.nav-item.is-drop:hover a, {
15 | border-bottom: 1px solid transparent !important;
16 | color: $secondary;
17 | }
18 |
19 | div.nav-item.is-drop:hover .dropContain {
20 | top: 65px;
21 | animation: fadeInUp 0.27s ease-out;
22 | }
23 |
24 | span.drop-caret {
25 | position: relative;
26 | top: 5px;
27 | }
28 |
29 | div.nav-item.is-drop {
30 | position: relative;
31 | .dropContain {
32 | width: 220px;
33 | position: absolute;
34 | z-index: 3;
35 | left: 50%;
36 | margin-left: -110px; /* half of width */
37 | top: -400px;
38 | .dropOut {
39 | width: 220px;
40 | background: $white;
41 | float: left;
42 | position: relative;
43 | margin-top: 15px;
44 | opacity: 0;
45 | -webkit-border-radius: 4px;
46 | -moz-border-radius: 4px;
47 | border-radius: 4px;
48 | -webkit-box-shadow: 0 1px 6px rgba(0,0,0,.15);
49 | -moz-box-shadow: 0 1px 6px rgba(0,0,0,.15);
50 | box-shadow: 0 1px 6px rgba(0,0,0,.15);
51 | -webkit-transition: all .5s ease-out;
52 | -moz-transition: all .5s ease-out;
53 | -ms-transition: all .5s ease-out;
54 | -o-transition: all .5s ease-out;
55 | transition: all .5s ease-out;
56 | }
57 | .dropOut .triangle {
58 | width: 0;
59 | height: 0;
60 | position: absolute;
61 | border-left: 8px solid transparent;
62 | border-right: 8px solid transparent;
63 | border-bottom: 8px solid $white;
64 | top: -8px;
65 | left: 50%;
66 | margin-left: -8px;
67 | }
68 | .dropOut ul li {
69 | text-align: left;
70 | float: left;
71 | width: 200px;
72 | padding: 12px 0 10px 15px;
73 | margin: 0px 10px;
74 | color: #777;
75 | -webkit-border-radius: 4px;
76 | -moz-border-radius: 4px;
77 | border-radius: 4px;
78 | -webkit-transition: background .1s ease-out;
79 | -moz-transition: background .1s ease-out;
80 | -ms-transition: background .1s ease-out;
81 | -o-transition: background .1s ease-out;
82 | transition: background .1s ease-out;
83 | &:hover {
84 | background: $light-grey;
85 | cursor: pointer;
86 | }
87 | }
88 | .dropOut ul {
89 | float: left;
90 | padding: 10px 0;
91 | }
92 | }
93 | }
--------------------------------------------------------------------------------
/assets/fresh/partials/_footer.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Fresh Footer
3 | ========================================================================== */
4 |
5 | footer.footer-dark {
6 | background: $blue-grey;
7 | color: $white;
8 | .columns {
9 | margin-top: 35px;
10 | }
11 | .footer-logo {
12 | img {
13 | height: 40px;
14 | }
15 | }
16 | .footer-column {
17 | .footer-header h3 {
18 | font-weight:500;
19 | font-size: 1.2rem;
20 | text-transform: uppercase;
21 | letter-spacing: 1px;
22 | margin-bottom: 20px;
23 | }
24 | ul.link-list {
25 | line-height: 40px;
26 | font-size: 1.1rem;
27 | a {
28 | color: $light-blue-grey;
29 | font-weight: 400;
30 | transition: all 0.5s;
31 | }
32 | :hover {
33 | color: $smoke-white;
34 | }
35 | }
36 | .level-item .icon {
37 | color: $secondary;
38 | transition: all 0.5s;
39 | :hover {
40 | color: $smoke-white;
41 | }
42 | }
43 | }
44 | }
--------------------------------------------------------------------------------
/assets/fresh/partials/_forms.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Inputs styles
3 | ========================================================================== */
4 |
5 | input.input {
6 | color: $basaltic-grey;
7 | box-shadow: none !important;
8 | transition: all 0.8s;
9 | padding-bottom: 3px;
10 | &.is-small {
11 | padding-bottom: 2px;
12 | padding-left: 10px;
13 | }
14 | &.is-medium {
15 | padding-bottom: 5px;
16 | }
17 | &.is-large {
18 | padding-bottom: 7px;
19 | }
20 | &:focus, &:active {
21 | border-color: $light-grey;
22 | }
23 | &.rounded {
24 | border-radius: 100px;
25 | }
26 | &.is-primary-focus:focus {
27 | border-color: $primary;
28 | ~ span.icon i {
29 | color: $primary;
30 | }
31 | }
32 | &.is-secondary-focus:focus {
33 | border-color: $secondary;
34 | ~ span.icon i {
35 | color: $secondary;
36 | }
37 | }
38 | &.is-accent-focus:focus {
39 | border-color: $accent;
40 | ~ span.icon i {
41 | color: $accent;
42 | }
43 | }
44 | &.is-bloody-focus:focus {
45 | border-color: $bloody;
46 | ~ span.icon i {
47 | color: $bloody;
48 | }
49 | }
50 | }
51 |
52 | .form-footer {
53 | width: 100%;
54 | }
--------------------------------------------------------------------------------
/assets/fresh/partials/_hero.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Hero styles
3 | ========================================================================== */
4 |
5 | .hero-body {
6 | padding-top: 6rem;
7 | padding-bottom: 6rem;
8 | .title, .subtitle {
9 | font-family: 'Open Sans', sans-serif;
10 | }
11 | .title {
12 | &.is-bold {
13 | font-weight: 700;
14 | }
15 | }
16 | .subtitle {
17 | &.is-muted {
18 | color: $muted-grey;
19 | }
20 | }
21 | }
22 |
23 | .hero-foot {
24 | img.partner-logo {
25 | height: 70px;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/assets/fresh/partials/_navbar.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Navbar
3 | ========================================================================== */
4 |
5 | //Navbar
6 | .navbar.is-fresh {
7 | position: relative;
8 | min-height: 3.8rem;
9 | transition: all .3s;
10 | z-index: 99;
11 | .container {
12 | min-height: 4rem;
13 | }
14 | &.no-shadow {
15 | box-shadow: none !important;
16 | }
17 | //Responsive menu icon
18 | .navbar-burger {
19 | width: 4rem;
20 | height: 4rem;
21 | }
22 | //Brand
23 | .navbar-brand {
24 | min-height: 4rem;
25 | img {
26 | max-height: 36px !important;
27 | height: 36px;
28 | }
29 | //Removing navbar item default hover behaviour
30 | &:hover {
31 | .navbar-item {
32 | background: transparent !important;
33 | }
34 | }
35 | }
36 | .navbar-end {
37 | align-items: center;
38 | }
39 | //Navbar items
40 | .navbar-item {
41 | color: $muted-grey;
42 | &.is-secondary {
43 | &:hover {
44 | color: $secondary !important;
45 | }
46 | }
47 | &.has-dropdown {
48 | padding: 10px 0;
49 | .navbar-link {
50 | color: $muted-grey;
51 | &:after {
52 | top: 55%;
53 | height: 0.5em;
54 | width: 0.5em;
55 | border-width: 2px;
56 | border-color: $muted-grey;
57 | }
58 | }
59 | .navbar-dropdown {
60 | top: 3.4rem;
61 | min-width: 220px;
62 | margin-top: 4px;
63 | border-top-color: $secondary;
64 | .navbar-item {
65 | padding: 10px 20px;
66 | }
67 | }
68 | &:hover {
69 | .navbar-link {
70 | color: $secondary;
71 | &:after {
72 | border-color: $secondary;
73 | }
74 | }
75 | }
76 | }
77 | .signup {
78 | display: block;
79 | line-height: 0;
80 | font-size: .9rem !important;
81 | }
82 | }
83 |
84 | //Fixed navbar modifier
85 | &.is-fixed {
86 | position: fixed;
87 | top: 0;
88 | left: 0;
89 | width: 100%;
90 | min-height: 4rem !important;
91 | background: $white;
92 | box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12);
93 | a {
94 | color: $blue-grey;
95 | &:hover {
96 | color: $primary;
97 | }
98 | }
99 | }
100 | }
101 |
102 | //Cloned fixed navbar
103 | #navbar-clone {
104 | position: fixed;
105 | top: 0;
106 | left: 0;
107 | width: 100%;
108 | background: $white;
109 | transform: translateY(-100%);
110 | z-index: 100;
111 | box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.12);
112 | &.is-active {
113 | transform: translateY(0);
114 | }
115 | }
116 |
--------------------------------------------------------------------------------
/assets/fresh/partials/_responsive.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Responsive Styles
3 | ========================================================================== */
4 |
5 | @media (max-width: 767px) {
6 |
7 | .landing-caption {
8 | text-align: center;
9 | }
10 | .navbar-menu {
11 | .is-static {
12 | position: absolute;
13 | width: 100%;
14 | }
15 | .is-fixed {
16 | position: fixed;
17 | width: 100%;
18 | }
19 | .navbar-item {
20 | text-align: center !important;
21 | .signup-button {
22 | width: 100% !important;
23 | }
24 | }
25 | .navbar-link {
26 | padding: 10px 20px !important;
27 | }
28 | }
29 | .title.section-title {
30 | font-size: 2rem !important;
31 | }
32 | .level-left.level-social {
33 | display: flex;
34 | justify-content: flex-start;
35 | }
36 | .pushed-image {
37 | margin-top: 0 !important;
38 | }
39 | .testimonial {
40 | margin: 0 auto;
41 | }
42 | }
43 |
44 |
45 | @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
46 | .landing-caption {
47 | text-align: center;
48 | }
49 | .navbar-menu {
50 | .is-static {
51 | position: absolute;
52 | width: 100%;
53 | }
54 | .is-fixed {
55 | position: fixed;
56 | width: 100%;
57 | }
58 | .navbar-item {
59 | text-align: center !important;
60 | .signup-button {
61 | width: 100% !important;
62 | }
63 | }
64 | .navbar-link {
65 | padding: 10px 20px !important;
66 | }
67 | }
68 | .pushed-image {
69 | margin-top: 0 !important;
70 | }
71 | .testimonial {
72 | margin: 0 auto;
73 | }
74 | .is-centered-tablet-portrait {
75 | text-align: center !important;
76 | .divider {
77 | margin: 0 auto !important;
78 | }
79 | }
80 | }
--------------------------------------------------------------------------------
/assets/fresh/partials/_sections.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Section Styles
3 | ========================================================================== */
4 |
5 | //Sections
6 | .section {
7 | &.section-light-grey {
8 | background-color: $light-grey;
9 | }
10 | &.section-feature-grey {
11 | background-color: $section-grey;
12 | }
13 | &.section-secondary {
14 | background-color: $secondary;
15 | }
16 | &.section-half {
17 | height: 75vh !important;
18 | }
19 | .title, .subtitle {
20 | font-family: 'Open Sans', sans-serif;
21 |
22 | }
23 | .subtitle {
24 | &.is-muted {
25 | color: $muted-grey;
26 | }
27 | }
28 | }
29 |
30 | //Titles
31 | .title-wrapper {
32 | max-width: 500px;
33 | margin: 0 auto;
34 | .title, .subtitle {
35 | font-family: 'Open Sans', sans-serif;
36 |
37 | }
38 | .subtitle {
39 | &.is-muted {
40 | color: $muted-grey;
41 | }
42 | }
43 | }
44 |
45 | //Divider
46 | .divider {
47 | height: 3px;
48 | border-radius: 50px;
49 | background: $secondary;
50 | width: 60px;
51 | &.is-centered {
52 | margin: 0 auto;
53 | }
54 | }
55 |
56 | //Wrapper
57 | .content-wrapper {
58 | padding: 60px 0;
59 | }
60 |
61 |
62 | //Pulled image
63 | img.pushed-image {
64 | margin-top: -5vh;
65 | }
66 |
67 | //Icon box
68 | .media.icon-box {
69 | border-top: none !important;
70 | .media-content .content p {
71 | span {
72 | display: block;
73 | }
74 | .icon-box-title {
75 | color: $blue-grey;
76 | font-size: 1.2rem;
77 | font-weight: 600;
78 | }
79 | .icon-box-text {
80 | color: $title-grey;
81 | font-size: 1rem;
82 | font-weight: 400;
83 | }
84 | }
85 | }
--------------------------------------------------------------------------------
/assets/fresh/partials/_sidebar.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Sidebar Styles
3 | ========================================================================== */
4 |
5 | //Sidebar animated icon trigger
6 | .menu-icon-wrapper {
7 | position: relative;
8 | left: 0;
9 | top: 0;
10 | //margin: -12px 0px 0px -12px;
11 | width: 34px;
12 | height: 34px;
13 | pointer-events: none;
14 | transition: 0.1s;
15 | svg {
16 | position: absolute;
17 | top: -18px;
18 | left: -18px;
19 | transform: scale(0.07);
20 | transform-origin: 0 0;
21 | path {
22 | stroke: $secondary;
23 | stroke-width: 40px;
24 | stroke-linecap: round;
25 | stroke-linejoin: round;
26 | fill: transparent;
27 | transition: stroke-dasharray 0.5s;
28 | &.path1 {
29 | stroke-dashoffset: 5803.15px;
30 | stroke-dasharray: 2901.57px, 2981.57px, 240px;
31 | }
32 | &.path2 {
33 | stroke-dashoffset: 800px;
34 | stroke-dasharray: 400px, 480px, 240px;
35 | }
36 | &.path3 {
37 | stroke-dashoffset: 6993.11px;
38 | stroke-dasharray: 3496.56px, 3576.56px, 240px;
39 | }
40 | }
41 | }
42 | &.open {
43 | svg {
44 | path {
45 | &.path1 {
46 | stroke-dasharray: 2901.57px, 5258.15px, 240px;
47 | }
48 | &.path2 {
49 | stroke-dasharray: 400px, 600px, 0px;
50 | }
51 | &.path3 {
52 | stroke-dasharray: 3496.56px, 6448.11px, 240px;
53 | }
54 | }
55 | }
56 | }
57 | .menu-icon-trigger {
58 | position: relative;
59 | width: 100%;
60 | height: 100%;
61 | cursor: pointer;
62 | pointer-events: auto;
63 | background: none;
64 | border: none;
65 | margin: 0;
66 | padding: 0;
67 | }
68 | }
69 |
70 | //Sidebar
71 | .sidebar {
72 | background: $dark-grey;
73 | width: 280px;
74 | height: 100%;
75 | position: fixed;
76 | top: 0;
77 | left: 0;
78 | transform: translateX(-281px);
79 | transition: all .3s;
80 | z-index: 10000;
81 | overflow-y: auto;
82 | &.is-active {
83 | transform: translateX(0);
84 | }
85 | .sidebar-header {
86 | height: 4.25rem;
87 | display: flex;
88 | justify-content: space-between;
89 | align-items: center;
90 | border-bottom: 1px solid lighten($dark-grey, 5%);
91 | padding: 0 20px;
92 | img {
93 | height: 32px;
94 | }
95 | a {
96 | width: 24px;
97 | height: 24px;
98 | }
99 | svg {
100 | stroke: $white;
101 | transform: rotate(0);
102 | transition: all .3s;
103 | cursor: pointer;
104 | &:hover {
105 | stroke: $secondary;
106 | transform: rotate(180deg);
107 | }
108 | }
109 | }
110 | .inner {
111 | position: relative;
112 | .sidebar-menu {
113 | margin: 0;
114 | padding: 0;
115 | max-width: 400px;
116 | list-style: none;
117 | list-style-type: none;
118 | font-family: 'Open Sans', sans-serif !important;
119 | li {
120 | a {
121 | padding: 20px 25px;
122 | display: block;
123 | text-decoration: none;
124 | color: $white;
125 | &:hover {
126 | padding: 20px 25px;
127 | display: block;
128 | text-decoration: none;
129 | color: $white;
130 | }
131 | }
132 | a span {
133 | margin-right: 20px;
134 | color: $white;
135 | }
136 | &.have-children {
137 | ul {
138 | padding: 0px;
139 | }
140 | li {
141 | a {
142 | background-color: darken($dark-grey, 5%);
143 | padding-left: 62px;
144 | border-bottom: 1px solid darken($dark-grey, 2%);
145 | font-size: .8rem;
146 | &:hover {
147 | color: $primary;
148 | padding-left: 62px;
149 | }
150 | }
151 | }
152 | span::after {
153 | position: absolute;
154 | top: 27px;
155 | right: 30px;
156 | content: "\f054";
157 | color: $white;
158 | transition: all .5s;
159 | font-weight: 200 !important;
160 | font-size: .8rem;
161 | }
162 | }
163 | }
164 | }
165 | li.have-children, li {
166 | position: relative;
167 | }
168 | li.have-children.active > a, li.have-children.active > a span, li.have-children.active > a span:after {
169 | color: $secondary;
170 | }
171 | li.active.have-children span::after {
172 | -moz-transform: rotate(90deg);
173 | -o-transform: rotate(90deg);
174 | -webkit-transform: rotate(90deg);
175 | transform: rotate(90deg);
176 | }
177 | .sidebar-menu .have-children > ul {
178 | display: none;
179 | }
180 | }
181 | }
182 |
--------------------------------------------------------------------------------
/assets/fresh/partials/_testimonials.scss:
--------------------------------------------------------------------------------
1 | /* ==========================================================================
2 | Testimonials Styles
3 | ========================================================================== */
4 |
5 | .testimonial {
6 | position: relative;
7 | overflow: hidden;
8 | margin: 10px auto;
9 | min-width: 220px;
10 | max-width: 310px;
11 | width: 100%;
12 | color: #333;
13 | text-align: left;
14 | box-shadow: none !important;
15 | * {
16 | -webkit-box-sizing: border-box;
17 | box-sizing: border-box;
18 | }
19 | img {
20 | max-width: 100%;
21 | height: 80px;
22 | width: 80px;
23 | border-radius: 50%;
24 | margin-right: 5px;
25 | display: block;
26 | z-index: 1;
27 | position: absolute;
28 | right: 60%;
29 | }
30 | blockquote {
31 | margin: 0;
32 | display: block;
33 | border-radius: 8px;
34 | position: relative;
35 | background-color: $smoke-white;
36 | padding: 30px 50px 65px 50px;
37 | font-size: 1.2rem;
38 | font-weight: 500;
39 | margin: 0 0 -40px;
40 | line-height: 1.6em;
41 | box-shadow: 0 0 5px rgba(0, 0, 0, 0.15);
42 | }
43 | blockquote:before, blockquote:after {
44 | font-family: 'FontAwesome';
45 | content: "\f10d";
46 | position: absolute;
47 | font-size: 20px;
48 | opacity: 0.3;
49 | font-style: normal;
50 | }
51 | blockquote:before {
52 | top: 35px;
53 | left: 20px;
54 | }
55 | blockquote:after {
56 | content: "\f10e";
57 | right: 20px;
58 | bottom: 35px;
59 | }
60 | .author {
61 | margin: 0;
62 | height: 80px;
63 | display: block;
64 | text-align: left;
65 | color: $white;
66 | padding: 0 35px;
67 | position: relative;
68 | z-index: 0;
69 | h5, span {
70 | left: 50%;
71 | position: absolute;
72 | opacity: 0.8;
73 | padding: 3px 5px;
74 | }
75 | h5 {
76 | text-transform: capitalize;
77 | bottom: 60%;
78 | margin: 0;
79 | font-weight: 600;
80 | font-size: 1.2rem;
81 | color: $blue-grey;
82 | }
83 | span {
84 | font-size: 0.8em;
85 | color: $white;
86 | top: 50%;
87 | }
88 | }
89 | }
90 |
91 |
--------------------------------------------------------------------------------
/assets/fresh/partials/_utils.scss:
--------------------------------------------------------------------------------
1 | // Resets
2 | section:focus {
3 | outline: none !important;
4 | }
5 |
6 | button {
7 | &:focus, &:active {
8 | outline: none;
9 | }
10 | }
11 |
12 | // Preloader
13 | #preloader {
14 | position: fixed;
15 | top: 0;
16 | left: 0;
17 | right: 0;
18 | bottom: 0;
19 | background-color: $white;
20 | z-index: 99;
21 | }
22 |
23 | #status {
24 | width: 200px;
25 | height: 200px;
26 | position: absolute;
27 | left: 50%;
28 | // centers the loading animation horizontally on the screen
29 | top: 50%;
30 | // centers the loading animation vertically on the screen
31 | background-image: url(../images/loaders/rings.svg);
32 | background-size: 80px 80px;
33 | // path to loading animation
34 | background-repeat: no-repeat;
35 | background-position: center;
36 | margin: -100px 0 0 -100px;
37 | // width and height divided by two
38 | }
39 |
40 | // Back to top button
41 | #backtotop {
42 | position: fixed;
43 | right: 0;
44 | opacity: 0;
45 | visibility: hidden;
46 | bottom: 25px;
47 | margin: 0 25px 0 0;
48 | z-index: 9999;
49 | transition: 0.35s;
50 | transform: scale(0.7);
51 | transition: all 0.5s;
52 | }
53 |
54 | #backtotop.visible {
55 | opacity: 1;
56 | visibility: visible;
57 | transform: scale(1);
58 |
59 | }
60 |
61 | #backtotop.visible a:hover {
62 | outline: none;
63 | opacity: 0.9;
64 | background: $secondary;
65 | }
66 |
67 | #backtotop a {
68 | outline: none;
69 | text-decoration: none;
70 | border: 0 none;
71 | display: block;
72 | width: 46px;
73 | height: 46px;
74 | background-color: $medium-grey;
75 | opacity: 1;
76 | transition: all 0.3s;
77 | border-radius: 50%;
78 | text-align: center;
79 | font-size: 26px
80 | }
81 |
82 | body #backtotop a {
83 | outline: none;
84 | color: #fff;
85 | }
86 |
87 | #backtotop a:after {
88 | outline: none;
89 | content: "\f106";
90 | font-family: "FontAwesome";
91 | position: relative;
92 | display: block;
93 | top: 50%;
94 | -webkit-transform: translateY(-55%);
95 | transform: translateY(-55%);
96 | }
97 |
98 |
99 | //Helpers
100 | .is-disabled {
101 | pointer-events: none;
102 | opacity: 0.4;
103 | cursor: default !important;
104 | }
105 |
106 | .is-hidden {
107 | display: none !important;
108 | }
109 |
110 | .stuck {
111 | position:fixed !important;
112 | top: 0 !important;
113 | z-index: 2 !important;
114 | }
115 |
116 | .light-text {
117 | color: $white !important;
118 | }
119 |
120 | .mb-20 {
121 | margin-bottom: 20px;
122 | }
123 |
124 | .mb-40 {
125 | margin-bottom: 40px;
126 | }
127 |
128 | .mb-60 {
129 | margin-bottom: 60px;
130 | }
131 |
132 | .mt-20 {
133 | margin-top: 20px;
134 | }
135 |
136 | .mt-40 {
137 | margin-top: 40px;
138 | }
139 |
140 | .mt-50 {
141 | margin-top: 50px;
142 | }
143 |
144 | .mt-60 {
145 | margin-top: 60px;
146 | }
147 |
148 | .ml-30 {
149 | margin-left: 30px;
150 | }
151 |
152 | .huge-pb {
153 | padding-bottom: 100px;
154 | }
155 |
156 | .pb-20 {
157 | padding-bottom: 20px !important;
158 | }
159 |
160 | .pb-40 {
161 | padding-bottom: 40px !important;
162 | }
163 |
164 | //Input placeholders
165 | ::-webkit-input-placeholder { /* Chrome/Opera/Safari */
166 | color: $placeholder;
167 | }
168 | ::-moz-placeholder { /* Firefox 19+ */
169 | color: $placeholder;
170 | }
171 | :-ms-input-placeholder { /* IE 10+ */
172 | color: $placeholder;
173 | }
174 | :-moz-placeholder { /* Firefox 18- */
175 | color: $placeholder;
176 | }
--------------------------------------------------------------------------------
/assets/style.sass:
--------------------------------------------------------------------------------
1 | @import "bulma/bulma"
2 | @import "fresh/core"
--------------------------------------------------------------------------------
/config.yaml:
--------------------------------------------------------------------------------
1 | # Dependency 'bulma' is brought in as module
2 | # and mount points are declared
3 | module:
4 | imports:
5 | - path: github.com/jgthms/bulma
6 | mounts:
7 | - source: bulma.sass
8 | target: assets/bulma/bulma.sass
9 | - source: bulma-rtl.sass
10 | target: assets/bulma/bulma-rtl.sass
11 | - source: sass
12 | target: assets/bulma/sass
13 | - source: sass/base
14 | target: assets/bulma/sass/base
15 | - source: sass/components
16 | target: assets/bulma/sass/components
17 | - source: sass/elements
18 | target: assets/bulma/sass/elements
19 | - source: sass/form
20 | target: assets/bulma/sass/form
21 | - source: sass/grid
22 | target: assets/bulma/sass/grid
23 | - source: sass/helpers
24 | target: assets/bulma/sass/helpers
25 | - source: sass/layout
26 | target: assets/bulma/sass/layout
27 | - source: sass/utilities
28 | target: assets/bulma/sass/utilities
29 |
--------------------------------------------------------------------------------
/docs/content/deepmodifications.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Deep modification
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | ## Deep modifications
9 |
10 | In case you want to make deep modifications of this theme (like changing the colors) you have to
11 | add the theme as an git submodule rather than as a [hugo module](../module).
12 |
13 | To create a new site using this theme as hugo module:
14 | ```bash
15 | # Create site and cd into it
16 | hugo new site my-site && cd my-site
17 |
18 | # Make a git project out of it
19 | git init
20 |
21 | # Add this theme as a git submodule
22 | git submodule add https://github.com/StefMa/hugo-fresh.git themes/hugo-fresh
23 |
24 | # Add the dependency to the css files as a git submodule and checkout version 0.9.4
25 | git submodule add https://github.com/jgthms/bulma.git themes/bulma
26 | cd themes/bulma && git checkout 0.9.4
27 |
28 | # Go back from themes/bulma dir
29 | cd ../..
30 |
31 | # Remove the default config
32 | rm config.toml
33 |
34 | # Fetch the example config
35 | curl -O https://raw.githubusercontent.com/StefMa/hugo-fresh/master/exampleSite/hugo.yaml
36 |
37 | # Configure the theme as git submodule
38 | # Remove the 'module' section in the `hugo.yml` and add
39 | # theme: 'hugo-fresh' (See also https://github.com/StefMa/hugo-fresh/issues/175#issuecomment-1863358700)
40 |
41 | # Change the path of the bulma css files
42 | # Replace `github.com/jgthms/bulma` with `bulma` in
43 | # my-site/themes/hugo-fresh/config.yml
44 |
45 | # Run the site locally
46 | hugo server
47 |
48 | # Open the site in your browser
49 | open http://localhost:1313
50 | ```
51 |
52 | Now you're able to change anything in the theme to your needs.
53 |
54 | To change the colors for example, open
55 | `my-site/themes/hugo-fresh/assets/fresh/partials/_colors.scss`
56 | and customizes to your needs.
57 |
58 | ```diff
59 | - $primary: #4FC1E;
60 | - $secondary: #F39200;
61 | + $primary: #b85ca2;
62 | + $secondary: #2ee62e;
63 | ```
64 |
65 |
--------------------------------------------------------------------------------
/docs/content/getstarted.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Get Started
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | ## The Fresh theme for Hugo
9 |
10 | **Fresh** is a theme for the [Hugo](https://gohugo.io) static site generator adapted from the gorgeous, [Bulma](https://bulma.io)-based theme of the same name from [CSS Ninja](https://cssninja.io/product/fresh). You can find a live demo of the original theme [here](https://fresh.cssninja.io) and a live demo of the Hugo theme [here](https://hugo-fresh.now.sh/).
11 |
12 |
13 |
14 | ## Getting started
15 |
16 | To create a new site using this theme as hugo module:
17 |
18 | Make sure `go` > 1.13 is installed on your system. [Download](https://go.dev/dl/) and install if needed.
19 |
20 | ```bash
21 | # Create site and cd into it
22 | hugo new site my-site && cd my-site
23 |
24 | # Transform your hugo site to an module
25 | hugo mod init YOUR_MODULE_NAME
26 |
27 | # Remove the default config
28 | rm hugo.toml
29 |
30 | # Fetch the example config
31 | curl -O https://raw.githubusercontent.com/StefMa/hugo-fresh/master/exampleSite/hugo.yaml
32 |
33 | # Run the site locally
34 | hugo server
35 |
36 | # Open the site in your browser
37 | open http://localhost:1313
38 | ```
39 |
40 | ## Customizing your page
41 |
42 | Checkout the [Landing page docs](../landingpage) to customize the landing page.
43 |
44 | There is also the option to create single pages. Check the [Single page docs](../singlepage) for more.
45 |
46 | Have some troubles? Check our [troubleshooting](../troubleshooting) guide.
47 |
48 | Interested in changed colors? Checkout the [Deep modifications](../deepmodifications) guide.
49 |
--------------------------------------------------------------------------------
/docs/content/landingpage.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Landing page
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | ## Customize the landing page
9 | There's a wide variety of customizations that you can make to your Hugo Fresh landing page by modifying the `hugo.yaml` file that you downloaded.
10 |
11 | > **Note**: There is always an up-to-date config file at [`exampleSite/hugo.yaml`](https://github.com/StefMa/hugo-fresh/blob/master/exampleSite/hugo.yaml) that contains all possible configurations.
12 | Please make sure you check them out as well.
13 |
14 | {{< title4 preloader >}}
15 | Preloader ensures images are loaded before displaying to the user.
16 | If you don't want it, set it to `false`.
17 |
18 | ```yaml
19 | preloader: false
20 | ```
21 |
22 | {{< title4 navbarlogo >}}
23 | Define the logo of the navigation bar in the upper left corner.
24 |
25 |
26 | Code
27 |
28 | ```yaml
29 | navbarlogo:
30 | image: logos/fresh.svg # Logo (from static/images/logos/)
31 | link: /
32 | ```
33 |
34 |
35 |
36 | {{< title4 font >}}
37 | Set the font of the site.
38 |
39 |
40 | Code
41 |
42 | ```yaml
43 | font:
44 | name: "Open Sans"
45 | sizes: [400,600]
46 | ```
47 |
48 |
49 |
50 | {{< title4 hero >}}
51 | The "main" page which you see when you open the website.
52 |
53 |
54 | Code
55 |
56 | ```yaml
57 | hero:
58 | title: Manage. Deploy.
59 | subtitle: Lorem ipsum sit dolor amet is dummy text used by the typography industry
60 | buttontext: Get started
61 | buttonlink: "#"
62 | image: illustrations/worker.svg
63 | # Footer logos (from static/images/logos/clients/*.svg)
64 | # urls are optional
65 | clientlogos:
66 | - logo: systek
67 | url: https://google.com
68 | - logo: tribe
69 | url: https://stefma.github.io/hugo-fresh/
70 | - logo: kromo
71 | url: https://github.com/StefMa/hugo-fresh
72 | - logo: infinite
73 | url: https://hugo-fresh.vercel.app/
74 | - logo: gutwork
75 | url: https://bulma.io/
76 | ```
77 |
78 |
79 |
80 | {{< title4 navbar >}}
81 | The navigation bar which is at the top of the site.
82 | For a dropdown, add a "sublinks" list.
83 |
84 |
85 | Code
86 |
87 | ```yaml
88 | navbar:
89 | - title: Features
90 | url: /
91 | - title: Pricing
92 | url: /
93 | - title: Dropdown
94 | sublinks:
95 | - title: Dropdown item
96 | url: /
97 | - title: Dropdown item
98 | url: /
99 | - title: Dropdown item
100 | url: /
101 | - title: Log in
102 | url: /
103 | - title: Sign up
104 | url: /
105 | button: true
106 | ```
107 |
108 |
109 |
110 | {{< title4 sidebar >}}
111 | The sidebar is an optional parameter where you can place even more navigation items.
112 |
113 |
114 | Code
115 |
116 | ```yaml
117 | sidebar:
118 | # Logo (from /images/logos/___.svg)
119 | logo: fresh-square
120 | sections:
121 | - title: User
122 | icon: user
123 | links:
124 | - text: Profile
125 | url: /
126 | - text: Account
127 | url: /
128 | - text: Settings
129 | url: /
130 | - title: Messages
131 | icon: envelope
132 | links:
133 | - text: Inbox
134 | url: /
135 | - text: Compose
136 | url: /
137 | - title: Images
138 | icon: image
139 | links:
140 | - text: Library
141 | url: /
142 | - text: Upload
143 | url: /
144 | - title: Settings
145 | icon: cog
146 | links:
147 | - text: User settings
148 | url: /
149 | - text: App settings
150 | url: /
151 | ```
152 |
153 |
154 |
155 | {{< title4 section1 >}}
156 | Describes the second "page" which you will see when you scroll down. Currently it will have **always** three `titles`.
157 |
158 |
159 | Code
160 |
161 | ```yaml
162 | section1:
163 | title: Great power comes
164 | subtitle: with great responsibility
165 | tiles:
166 | - title: App builder
167 | icon: mouse-globe
168 | text: This is some explanatory text that is on two rows
169 | url: /
170 | buttonText: Free trial
171 | - title: Cloud integration
172 | icon: laptop-cloud
173 | text: This is some explanatory text that is on two rows
174 | url: /
175 | buttonText: Get started
176 | - title: Add-ons & plugins
177 | icon: plug-cloud
178 | text: This is some explanatory text that is on two rows
179 | url: /
180 | buttonText: Get started
181 | ```
182 |
183 |
184 |
185 | {{< title4 section2 >}}
186 | Shows information why someone should use this product.
187 |
188 |
189 | Code
190 |
191 | ```yaml
192 | section2:
193 | title: You're here because you want the best
194 | subtitle: And we know it
195 | features:
196 | - title: Powerful and unified interface
197 | text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare magna eros, eu pellentesque tortor vestibulum ut. Maecenas non massa sem. Etiam finibus odio quis feugiat facilisis.
198 | # Icon (from /images/illustrations/icons/___.svg)
199 | icon: laptop-globe
200 | - title: Cross-device synchronisation
201 | text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare magna eros, eu pellentesque tortor vestibulum ut. Maecenas non massa sem. Etiam finibus odio quis feugiat facilisis.
202 | icon: doc-sync
203 | - title: Nomad system
204 | text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare magna eros, eu pellentesque tortor vestibulum ut. Maecenas non massa sem. Etiam finibus odio quis feugiat facilisis.
205 | icon: mobile-feed
206 | ```
207 |
208 |
209 |
210 | {{< title4 section3 >}}
211 | Display a bright image of your product.
212 |
213 |
214 | Code
215 |
216 | ```yaml
217 | section3:
218 | title: One platform
219 | subtitle: To rule them all
220 | image: illustrations/mockups/app-mockup.png
221 | buttonText: Get started
222 | buttonLink: "#"
223 | ```
224 |
225 |
226 |
227 | {{< title4 section4 >}}
228 | What clients says about us.
229 |
230 |
231 | Code
232 |
233 | ```yaml
234 | section4:
235 | title: Our Clients love us!
236 | subtitle: Lorem ipsum sit dolor amet is a dummy text used by typography industry
237 | clients:
238 | - name: Irma Walters
239 | quote: Lorem ipsum dolor sit amet, elit deleniti dissentias quo eu, hinc minim appetere te usu, ea case duis scribentur has. Duo te consequat elaboraret, has quando suavitate at.
240 | job: Accountant
241 | img: 1 # From (static/images/illustrations/faces)
242 | - name: John Bradley
243 | quote: Lorem ipsum dolor sit amet, elit deleniti dissentias quo eu, hinc minim appetere te usu, ea case duis scribentur has. Duo te consequat elaboraret, has quando suavitate at.
244 | job: Financial Analyst
245 | img: 2
246 | - name: Gary Blackman
247 | quote: Lorem ipsum dolor sit amet, elit deleniti dissentias quo eu, hinc minim appetere te usu, ea case duis scribentur has. Duo te consequat elaboraret, has quando suavitate at.
248 | job: HR Manager
249 | img: 3
250 | ```
251 |
252 |
253 |
254 | {{< title4 section5 >}}
255 | Write us.
256 |
257 |
258 | Code
259 |
260 | ```yaml
261 | section5:
262 | title: Drop us a line or two
263 | subtitle: We'd love to hear from you
264 | buttonText: Send Message
265 | action: https://formspree.io/f/{ID}
266 | method: POST
267 | ```
268 |
269 |
270 |
271 | {{< title4 footer >}}
272 | The footer of the site.
273 |
274 |
275 | Code
276 |
277 | ```yaml
278 | footer:
279 | # Logo (from /static/images/logos/___)
280 | logo: fresh-white-alt.svg
281 | # Social media links (GitHub, Twitter, etc.). All are optional.
282 | socialmedia:
283 | - link: https://github.com/StefMa/hugo-fresh
284 | # Icons are from Font Awesome
285 | icon: github
286 | - link: https://dribbble.com/#
287 | icon: dribbble
288 | - link: https://facebook.com/#
289 | icon: facebook
290 | - link: https://twitter.com/lucperkins
291 | icon: twitter
292 | - link: https://bitbucket.org/#
293 | icon: bitbucket
294 | bulmalogo: true
295 | quicklinks:
296 | column1:
297 | title: "Product"
298 | links:
299 | - text: Discover features
300 | link: /
301 | - text: Why choose our product?
302 | link: /
303 | - text: Compare features
304 | link: /
305 | - text: Our roadmap
306 | link: /
307 | - text: AGB
308 | link: /agb
309 | column2:
310 | title: "Docs"
311 | links:
312 | - text: Get started
313 | link: /
314 | - text: User guides
315 | link: /
316 | - text: Admin guide
317 | link: /
318 | - text: Developers
319 | link: /
320 | column3:
321 | title: "Blog"
322 | links:
323 | - text: Latest news
324 | link: /blog/first
325 | - text: Tech articles
326 | link: /blog/second
327 | ```
328 |
329 |
330 |
--------------------------------------------------------------------------------
/docs/content/markdown-syntax.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Markdown Syntax Guide
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.
9 |
10 |
11 |
12 | ## Headings
13 |
14 | The following HTML ``—`` elements represent six levels of section headings. `` is the highest section level while `` is the lowest.
15 |
16 | # H1
17 |
18 | ## H2
19 |
20 | ### H3
21 |
22 | #### H4
23 |
24 | ##### H5
25 |
26 | ###### H6
27 |
28 | ## Paragraph
29 |
30 | Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.
31 |
32 | Itatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.
33 |
34 | ## Blockquotes
35 |
36 | The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.
37 |
38 | #### Blockquote without attribution
39 |
40 | > Tiam, ad mint andaepu dandae nostion secatur sequo quae.
41 | > **Note** that you can use _Markdown syntax_ within a blockquote.
42 |
43 | #### Blockquote with attribution
44 |
45 | > Don't communicate by sharing memory, share memory by communicating.
46 | >
47 | > — Rob Pike[^1]
48 |
49 | [^1]: The above quote is excerpted from Rob Pike's [talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) during Gopherfest, November 18, 2015.
50 |
51 | ## Tables
52 |
53 | Tables aren't part of the core Markdown spec, but Hugo supports them out-of-the-box.
54 |
55 | | Name | Age |
56 | | ----- | --- |
57 | | Bob | 27 |
58 | | Alice | 23 |
59 |
60 | #### Inline Markdown within tables
61 |
62 | | Italics | Bold | Code |
63 | | --------- | -------- | ------ |
64 | | _italics_ | **bold** | `code` |
65 |
66 | ## Code Blocks
67 |
68 | #### Inline Code
69 |
70 | `This is Inline Code`
71 |
72 | #### Only `pre`
73 |
74 |
75 | This is pre text
76 |
77 |
78 | #### Code block with backticks
79 |
80 | ```
81 |
82 |
83 |
84 |
85 | Example HTML5 Document
86 |
87 |
88 | Test
89 |
90 |
91 | ```
92 |
93 | #### Code block with backticks and language specified
94 |
95 | ```html {linenos=true}
96 |
97 |
98 |
99 |
100 | Example HTML5 Document
101 |
102 |
103 |
104 | Test
105 |
106 |
107 | ```
108 |
109 | #### Code block indented with four spaces
110 |
111 |
112 |
113 |
114 |
115 | Example HTML5 Document
116 |
117 |
118 | Test
119 |
120 |
121 |
122 | #### Code block with Hugo's internal highlight shortcode
123 |
124 | {{< highlight html >}}
125 |
126 |
127 |
128 |
129 |
130 | Example HTML5 Document
131 |
132 |
133 | Test
134 |
135 |
136 | {{< /highlight >}}
137 |
138 | #### Gist
139 |
140 | {{< gist spf13 7896402 >}}
141 |
142 | ## List Types
143 |
144 | #### Ordered List
145 |
146 | 1. First item
147 | 2. Second item
148 | 3. Third item
149 |
150 | #### Unordered List
151 |
152 | - List item
153 | - Another item
154 | - And another item
155 |
156 | #### Nested list
157 |
158 | - Fruit
159 | - Apple
160 | - Orange
161 | - Banana
162 | - Dairy
163 | - Milk
164 | - Cheese
165 |
166 | ## Other Elements — abbr, sub, sup, kbd, mark
167 |
168 | GIF is a bitmap image format.
169 |
170 | H2 O
171 |
172 | Xn + Yn = Zn
173 |
174 | Press CTRL +ALT +Delete to end the session.
175 |
176 | Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures.
--------------------------------------------------------------------------------
/docs/content/misc.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Misc
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | ## Favicon
9 |
10 | You can replace the default favicon by adding your own to `static/images/favicon.png`.
11 | As for now, only pngs are possible.
12 |
--------------------------------------------------------------------------------
/docs/content/module.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Hugo module
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | ## Module
9 |
10 | The theme is an [hugo modules](https://gohugo.io/hugo-modules/)-theme.
11 | It is not recommended to add this theme as a git submodule.
12 | However, it is still possible. See the [Deep modifications](../deepmodifications) guide for me.
13 |
14 | Using the theme as a hugo module provides several benefits for the development of this theme.
15 |
16 | ### Versioning / stable theme
17 |
18 | With modules it is possible to point to any git hash you like. Nevertheless, it is strongly recommended to only use a versionised version of this theme. Checkout the [GitHub Release page](https://github.com/StefMa/hugo-fresh/releases/) for the latest version.
19 |
20 | You can run the follwing command to update/change the theme version:
21 |
22 | ```
23 | hugo mod get -u github.com/StefMa/hugo-fresh@v[SEMVER_VERSION]
24 | ```
25 |
26 | There can be als an `hash` or an `branch` name after the `@`-sign.
27 |
28 | ### Usage
29 |
30 | 1. To use the theme you first have to transform your own hugo site to an module. Doing this is possible with the following command:
31 |
32 | ```
33 | hugo mod init MODULE_NAME
34 | ```
35 |
36 | A typical module name follows the following convention: `domain-name.tld/something`.
37 |
38 | 2. After that you can declare the hugo module in your config file (yaml example):
39 |
40 | ```yaml
41 | module:
42 | imports:
43 | path: github.com/StefMa/hugo-fresh
44 | ```
45 |
--------------------------------------------------------------------------------
/docs/content/singlepage.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Single page
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | ## Creating a single page
9 | Single pages displays a single unit of information and are more or less independent from the landing page above.
10 |
11 | You can create single pages in the `content` directory (even sub-dirs are possible).
12 |
13 | If you'd like to have the footer displayed on your single page include `include_footer: true` in your front matter.
14 |
15 |
16 | Code
17 |
18 | ```yaml
19 | ---
20 | title: AGB
21 | sidebar: true # or false to display the sidebar
22 | sidebarlogo: fresh-white-alt # From (static/images/logo/)
23 | include_footer: true # or false to display the footer
24 | ---
25 | ```
26 |
27 |
28 |
--------------------------------------------------------------------------------
/docs/content/troubleshooting.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Troubleshooting
3 | sidebar: true
4 | sidebarlogo: fresh-white
5 | include_footer: false
6 | ---
7 |
8 | ## Hugo extended
9 |
10 | If you see `error: failed to transform resource: TOCSS: failed to transform "style.sass"` when attempting to run your `hugo server`, make sure you have the extended version of Hugo installed!
11 |
--------------------------------------------------------------------------------
/docs/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/stefma/hugo-fresh/docs
2 |
3 | go 1.15
4 |
5 | replace github.com/StefMa/hugo-fresh => ../
6 |
7 | require github.com/StefMa/hugo-fresh v1.0.0 // indirect
8 |
--------------------------------------------------------------------------------
/docs/go.sum:
--------------------------------------------------------------------------------
1 | github.com/jgthms/bulma v0.0.0-20220508134905-3e00a8e6d0d0/go.mod h1:89FLBKXYFKfOKAoDeUT26V0pHGwzr205cMXAEqtAVOI=
2 |
--------------------------------------------------------------------------------
/docs/hugo.yml:
--------------------------------------------------------------------------------
1 | baseURL: "https://stefma.github.io/hugo-fresh"
2 | languageCode: "en-us"
3 | title: "Hugo Fresh documentation"
4 | module:
5 | imports:
6 | path: github.com/StefMa/hugo-fresh
7 |
8 | params:
9 | navbarlogo:
10 | image: logos/fresh.svg
11 | link: /hugo-fresh
12 | hero:
13 | title: hugo fresh documentation
14 | subtitle: Probably the best hugo theme out there!
15 | buttontext: Go to docs
16 | buttonlink: getstarted
17 | image: illustrations/worker.svg
18 | navbar:
19 | - title: GitHub
20 | url: https://github.com/StefMa/hugo-fresh
21 | button: true
22 |
23 | markup:
24 | goldmark:
25 | renderer:
26 | unsafe: true # Allows you to write raw html in your md files
27 |
--------------------------------------------------------------------------------
/exampleSite/.gitignore:
--------------------------------------------------------------------------------
1 | .hugo_build.lock
2 | public
3 | resources
4 |
--------------------------------------------------------------------------------
/exampleSite/.htmltest.yml:
--------------------------------------------------------------------------------
1 | DirectoryPath: public
2 |
--------------------------------------------------------------------------------
/exampleSite/content/agb.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: AGB
3 | include_footer: true
4 | sidebar: false
5 | ---
6 |
7 | {{% title3 "§1 Lorem" %}}
8 | Bacon ipsum dolor amet pig pork hamburger tenderloin burgdoggen spare ribs bacon pancetta pork loin tail turducken. Chicken pastrami jerky tongue ball tip strip steak. Ball tip alcatra turkey, cupim strip steak swine short loin tenderloin pancetta corned beef ribeye cow short ribs. Turkey turducken flank filet mignon beef ribs pastrami rump, andouille prosciutto picanha kevin strip steak. Corned beef fatback landjaeger hamburger alcatra, bacon buffalo tongue cow biltong salami sirloin swine.
9 |
10 |
11 |
12 | {{% title3 "§2 Bacon" %}}
13 | {{% subtitle5 "§2.1 Bacon1" %}}
14 | Buffalo cupim kielbasa spare ribs frankfurter. Ribeye pork burgdoggen tenderloin, tail strip steak bacon ham hock pork loin cupim. Bresaola biltong salami, cow ham hock doner pork chop bacon sausage short ribs. Picanha shank sausage turducken. Ham hock t-bone cupim, tri-tip biltong venison flank beef. Cupim bresaola kevin, ham hock beef hamburger tri-tip biltong sirloin filet mignon.
15 |
16 |
17 |
18 | {{% subtitle5 "§2.2 Bacon2" %}}
19 | Beef jowl tail alcatra frankfurter bacon t-bone hamburger shankle. Ham hock ball tip spare ribs turkey fatback shank short loin buffalo meatball burgdoggen pork chop shankle. Porchetta buffalo pork belly chicken leberkas drumstick. Jerky chuck brisket spare ribs ribeye pork chop shankle beef ribs beef capicola. Boudin short ribs rump flank picanha. Brisket pork loin turducken, flank jerky pastrami pork chop spare ribs bresaola beef ribs. Cow fatback tenderloin pork loin pancetta.
20 |
--------------------------------------------------------------------------------
/exampleSite/content/blog/first.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: First
3 | sidebar: true
4 | sidebarlogo: fresh-white-alt
5 | ---
6 |
7 | My super sweet first blog post!!
8 |
--------------------------------------------------------------------------------
/exampleSite/content/blog/second.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Second
3 | sidebar: true
4 | sidebarlogo: fresh-white-alt
5 | ---
6 |
7 | {{% title2 "My awesome blogpost" %}}
8 | My super sweet second blog post
9 |
--------------------------------------------------------------------------------
/exampleSite/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/StefMa/hugo-fresh/exampleSite
2 |
3 | go 1.12
4 |
5 | replace github.com/StefMa/hugo-fresh => ../
6 |
7 | require github.com/StefMa/hugo-fresh v1.0.0 // indirect
8 |
--------------------------------------------------------------------------------
/exampleSite/go.sum:
--------------------------------------------------------------------------------
1 | github.com/jgthms/bulma v0.0.0-20220508134905-3e00a8e6d0d0/go.mod h1:89FLBKXYFKfOKAoDeUT26V0pHGwzr205cMXAEqtAVOI=
2 |
--------------------------------------------------------------------------------
/exampleSite/hugo.work:
--------------------------------------------------------------------------------
1 | go 1.19
2 |
3 | use ../
--------------------------------------------------------------------------------
/exampleSite/hugo.yaml:
--------------------------------------------------------------------------------
1 | baseURL: http://something-fresh.org/
2 | languageCode: en-us
3 | title: Hugo Fresh Theme
4 |
5 | module:
6 | # uncomment line below for local development of module
7 | # workspace: hugo.work
8 | imports:
9 | path: github.com/StefMa/hugo-fresh
10 |
11 |
12 | googleAnalytics: # Put in your tracking code without quotes like this: UA-XXX for universal tracking or G-XXX analytics v4 tracking
13 | # Disables warnings
14 | disableKinds:
15 | - taxonomy
16 | markup:
17 | goldmark:
18 | renderer:
19 | unsafe: true # Allows you to write raw html in your md files
20 |
21 | params:
22 | # Open graph allows easy social sharing. If you don't want it you can set it to false or just delete the variable
23 | openGraph: true
24 | # Used as meta data; describe your site to make Google Bots happy
25 | description:
26 | # Preloader ensures images are loaded before displaying to the user. If you don't want it uncomment to set it to false
27 | # preloader: false
28 | navbarlogo:
29 | # Logo (from static/images/logos/___)
30 | image: logos/fresh.svg
31 | link: /
32 | # Default width/height. Uncomment if you need to change
33 | # width: 112
34 | # height: 28
35 | font:
36 | name: "Open Sans"
37 | sizes: [400,600]
38 | hero:
39 | # Main hero title
40 | title: Manage. Deploy.
41 | # Hero subtitle (optional)
42 | subtitle: Lorem ipsum sit dolor amet is dummy text used by the typography industry
43 | # Button text
44 | buttontext: Get started
45 | # Where the main hero button links to
46 | buttonlink: "#"
47 | # Hero image (from static/images/___)
48 | image: illustrations/worker.svg
49 | # Footer logos (from static/images/logos/clients/*.svg)
50 | # urls are optional
51 | clientlogos:
52 | - logo: systek
53 | url: https://google.com
54 | - logo: tribe
55 | url: https://stefma.github.io/hugo-fresh/
56 | - logo: kromo
57 | url: https://github.com/StefMa/hugo-fresh
58 | - logo: infinite
59 | url: https://hugo-fresh.vercel.app/
60 | - logo: gutwork
61 | url: https://bulma.io/
62 | # Customizable navbar. For a dropdown, add a "sublinks" list.
63 | navbar:
64 | - title: Features
65 | url: /
66 | - title: Pricing
67 | url: /
68 | - title: Dropdown
69 | sublinks:
70 | - title: Dropdown item
71 | url: /
72 | - title: Dropdown item
73 | url: /
74 | - title: Dropdown item
75 | url: /
76 | - title: Log in
77 | url: /
78 | - title: Sign up
79 | url: /
80 | button: true
81 | sidebar:
82 | # Logo (from static/images/logos/___.svg)
83 | logo: fresh-square
84 | sections:
85 | - title: User
86 | icon: user
87 | links:
88 | - text: Profile
89 | url: /
90 | - text: Account
91 | url: /
92 | - text: Settings
93 | url: /
94 | - title: Messages
95 | icon: envelope
96 | links:
97 | - text: Inbox
98 | url: /
99 | - text: Compose
100 | url: /
101 | - title: Images
102 | icon: image
103 | links:
104 | - text: Library
105 | url: /
106 | - text: Upload
107 | url: /
108 | - title: Settings
109 | icon: cog
110 | links:
111 | - text: User settings
112 | url: /
113 | - text: App settings
114 | url: /
115 | section1:
116 | title: Great power comes
117 | subtitle: with great responsibility
118 | tiles:
119 | - title: App builder
120 | icon: mouse-globe
121 | text: This is some explanatory text that is on two rows
122 | url: /
123 | buttonText: Free trial
124 | - title: Cloud integration
125 | icon: laptop-cloud
126 | text: This is some explanatory text that is on two rows
127 | url: /
128 | buttonText: Get started
129 | - title: Add-ons & plugins
130 | icon: plug-cloud
131 | text: This is some explanatory text that is on two rows
132 | url: /
133 | buttonText: Get started
134 | section2:
135 | title: You're here because you want the best
136 | subtitle: And we know it
137 | features:
138 | - title: Powerful and unified interface
139 | text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare magna eros, eu pellentesque tortor vestibulum ut. Maecenas non massa sem. Etiam finibus odio quis feugiat facilisis.
140 | # Icon (from static/images/illustrations/icons/___.svg)
141 | icon: laptop-globe
142 | - title: Cross-device synchronisation
143 | text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare magna eros, eu pellentesque tortor vestibulum ut. Maecenas non massa sem. Etiam finibus odio quis feugiat facilisis.
144 | icon: doc-sync
145 | - title: Nomad system
146 | text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ornare magna eros, eu pellentesque tortor vestibulum ut. Maecenas non massa sem. Etiam finibus odio quis feugiat facilisis.
147 | icon: mobile-feed
148 | section3:
149 | title: One platform
150 | subtitle: To rule them all
151 | image: illustrations/mockups/app-mockup.png
152 | buttonText: Get started
153 | buttonLink: "#"
154 | section4:
155 | title: Our Clients love us!
156 | subtitle: Lorem ipsum sit dolor amet is a dummy text used by typography industry
157 | clients:
158 | - name: Irma Walters
159 | quote: Lorem ipsum dolor sit amet, elit deleniti dissentias quo eu, hinc minim appetere te usu, ea case duis scribentur has. Duo te consequat elaboraret, has quando suavitate at.
160 | job: Accountant
161 | img: 1
162 | - name: John Bradley
163 | quote: Lorem ipsum dolor sit amet, elit deleniti dissentias quo eu, hinc minim appetere te usu, ea case duis scribentur has. Duo te consequat elaboraret, has quando suavitate at.
164 | job: Financial Analyst
165 | img: 2
166 | - name: Gary Blackman
167 | quote: Lorem ipsum dolor sit amet, elit deleniti dissentias quo eu, hinc minim appetere te usu, ea case duis scribentur has. Duo te consequat elaboraret, has quando suavitate at.
168 | job: HR Manager
169 | img: 3
170 | section5:
171 | title: Drop us a line or two
172 | subtitle: We'd love to hear from you
173 | buttonText: Send Message
174 | # action: https://formspree.io/f/
175 | # method: POST
176 | footer:
177 | # Logo (from static/images/logos/___)
178 | logo: fresh-white-alt.svg
179 | # Social Media Title
180 | socialmediatitle: Follow Us
181 | # Social media links (GitHub, Twitter, etc.). All are optional.
182 | socialmedia:
183 | - link: https://github.com/StefMa
184 | # Icons are from Font Awesome
185 | icon: github
186 | - link: https://dribbble.com/#
187 | icon: dribbble
188 | - link: https://facebook.com/#
189 | icon: facebook
190 | - link: https://twitter.com/StefMa91
191 | icon: twitter
192 | - link: https://bitbucket.org/#
193 | icon: bitbucket
194 | bulmalogo: true
195 | quicklinks:
196 | column1:
197 | title: "Product"
198 | links:
199 | - text: Discover features
200 | link: /
201 | - text: Why choose our product?
202 | link: /
203 | - text: Compare features
204 | link: /
205 | - text: Our roadmap
206 | link: /
207 | - text: AGB
208 | link: /agb
209 | column2:
210 | title: "Docs"
211 | links:
212 | - text: Get started
213 | link: /
214 | - text: User guides
215 | link: /
216 | - text: Admin guide
217 | link: /
218 | - text: Developers
219 | link: /
220 | column3:
221 | title: "Blog"
222 | links:
223 | - text: Latest news
224 | link: /blog/first
225 | - text: Tech articles
226 | link: /blog/second
227 |
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module github.com/StefMa/hugo-fresh
2 |
3 | go 1.12
4 |
5 | require github.com/jgthms/bulma v0.0.0-20220508134905-3e00a8e6d0d0 // indirect
6 |
--------------------------------------------------------------------------------
/go.sum:
--------------------------------------------------------------------------------
1 | github.com/jgthms/bulma v0.0.0-20220508134905-3e00a8e6d0d0 h1:d61c8CjPFq6aGikBXMepfewc8/3IbrTCiC1xHcMcvHI=
2 | github.com/jgthms/bulma v0.0.0-20220508134905-3e00a8e6d0d0/go.mod h1:89FLBKXYFKfOKAoDeUT26V0pHGwzr205cMXAEqtAVOI=
3 |
--------------------------------------------------------------------------------
/images/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/images/screenshot.png
--------------------------------------------------------------------------------
/images/tn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/images/tn.png
--------------------------------------------------------------------------------
/layouts/_default/baseof.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{ partial "meta.html" . }}
5 | {{ block "title" . }}{{ .Site.Title }}{{ end }}
6 | {{ partial "css.html" . }}
7 |
8 |
9 | {{ if ne .Site.Params.preloader false }}
10 |
11 |
14 | {{ end }}
15 |
16 | {{ block "main" . }}
17 | {{ end }}
18 |
19 |
20 |
21 |
22 | {{ partial "javascript.html" . }}
23 |
24 |
25 |
--------------------------------------------------------------------------------
/layouts/_default/list.html:
--------------------------------------------------------------------------------
1 | {{ "" | safeHTML }}
2 |
--------------------------------------------------------------------------------
/layouts/_default/single.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 | {{ partial "single/single.html" . }}
4 |
5 | {{ if .Params.include_footer }}
6 | {{ partial "footer.html" . }}
7 | {{ end }}
8 |
9 | {{ if .Params.sidebar }}
10 | {{ partial "single/sidebar.html" . }}
11 | {{ end }}
12 |
13 | {{ end }}
14 |
--------------------------------------------------------------------------------
/layouts/index.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 | {{ if .Site.Params.hero }}
4 | {{ partial "hero.html" . }}
5 | {{ end }}
6 |
7 | {{ if .Site.Params.section1 }}
8 | {{ partial "section1.html" . }}
9 | {{ end }}
10 |
11 | {{ if .Site.Params.section2 }}
12 | {{ partial "section2.html" . }}
13 | {{ end }}
14 |
15 | {{ if .Site.Params.section3 }}
16 | {{ partial "section3.html" . }}
17 | {{ end }}
18 |
19 | {{ if .Site.Params.section4 }}
20 | {{ partial "section4.html" . }}
21 | {{ end }}
22 |
23 | {{ if .Site.Params.section5 }}
24 | {{ partial "section5.html" . }}
25 | {{ end }}
26 |
27 | {{ if .Site.Params.footer }}
28 | {{ partial "footer.html" . }}
29 | {{ end }}
30 |
31 | {{ if .Site.Params.sidebar }}
32 | {{ partial "sidebar.html" . }}
33 | {{ end }}
34 |
35 | {{ end }}
--------------------------------------------------------------------------------
/layouts/partials/css.html:
--------------------------------------------------------------------------------
1 | {{- $inServerMode := "" }}
2 | {{- if gt (int (index (split hugo.Version ".") 1)) "120" }}
3 | {{ $inServerMode = hugo.IsServer }}
4 | {{- else }}
5 | {{ $inServerMode = .Site.IsServer }}
6 | {{- end }}
7 | {{- $sass := "style.sass" }}
8 | {{- $cssTarget := "css/style.css" }}
9 | {{- $cssOpts := cond ($inServerMode) (dict "targetPath" $cssTarget "enableSourceMap" true) (dict "targetPath" $cssTarget "outputStyle" "compressed") }}
10 | {{- $fontName := .Site.Params.font.name | default "Open Sans" }}
11 | {{- $fontFace := replace $fontName " " "+" }}
12 | {{- $fontSizes := delimit (.Site.Params.font.sizes | default (slice 300 400 600 700)) "," }}
13 | {{- $fontUrl := printf "https://fonts.googleapis.com/css?family=%s:%s" $fontFace $fontSizes }}
14 |
15 |
16 | {{- if $inServerMode }}
17 | {{- $css := resources.Get $sass | toCSS $cssOpts }}
18 |
19 | {{- else }}
20 | {{- $css := resources.Get $sass | toCSS $cssOpts | minify | fingerprint }}
21 |
22 | {{- end }}
23 |
24 |
--------------------------------------------------------------------------------
/layouts/partials/footer.html:
--------------------------------------------------------------------------------
1 | {{- $footer := .Site.Params.footer }}
2 | {{- $logo := index $footer "logo" }}
3 | {{- $quickLinks := index $footer "quicklinks" }}
4 | {{- $socialMedia := index $footer "socialmedia" }}
5 | {{- $bulmaLogo := index $footer "bulmalogo" }}
6 | {{- $socialMediaTitle := index $footer "socialmediatitle" }}
7 |
58 |
--------------------------------------------------------------------------------
/layouts/partials/hero-body.html:
--------------------------------------------------------------------------------
1 | {{- $hero := .Site.Params.hero }}
2 | {{- $title := index $hero "title" }}
3 | {{- $subtitle := index $hero "subtitle" }}
4 | {{- $buttonText := index $hero "buttontext" }}
5 | {{- $buttonLink := index $hero "buttonlink" }}
6 | {{- $image := index $hero "image" }}
7 |
8 |
9 |
10 |
11 |
12 | {{ $title }}
13 |
14 | {{ with $subtitle }}
15 |
16 | {{ . }}
17 |
18 | {{ end }}
19 |
20 |
21 | {{ $buttonText }}
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/layouts/partials/hero-footer.html:
--------------------------------------------------------------------------------
1 | {{- $hero := .Site.Params.hero }}
2 | {{- $clientLogos := index $hero "clientlogos" }}
3 |
--------------------------------------------------------------------------------
/layouts/partials/hero.html:
--------------------------------------------------------------------------------
1 |
2 | {{ partial "navbar.html" . }}
3 | {{ partial "navbar-clone.html" . }}
4 | {{ partial "hero-body.html" . }}
5 | {{ partial "hero-footer.html" . }}
6 |
--------------------------------------------------------------------------------
/layouts/partials/javascript.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/layouts/partials/meta.html:
--------------------------------------------------------------------------------
1 | {{ template "_internal/google_analytics.html" . }}
2 | {{ if eq .Site.Params.openGraph true }}
3 | {{ template "_internal/opengraph.html" . }}
4 | {{ end }}
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/layouts/partials/navbar-clone.html:
--------------------------------------------------------------------------------
1 | {{- $navbar := .Site.Params.navbar }}
2 | {{- $sidebarVisible := .Params.sidebar | default .Site.Params.sidebar }}
3 | {{- $navbarLogo := .Site.Params.navbarlogo }}
4 | {{- $navbarLogoWidth := .Site.Params.navbarlogo.width | default 112 }}
5 | {{- $navbarLogoHeight := .Site.Params.navbarlogo.width | default 28 }}
6 |
7 |
83 |
84 |
--------------------------------------------------------------------------------
/layouts/partials/navbar.html:
--------------------------------------------------------------------------------
1 | {{- $navbar := .Site.Params.navbar }}
2 | {{- $sidebarVisible := .Params.sidebar | default .Site.Params.sidebar }}
3 | {{- $navbarLogo := .Site.Params.navbarlogo }}
4 | {{- $navbarLogoWidth := .Site.Params.navbarlogo.width | default 112 }}
5 | {{- $navbarLogoHeight := .Site.Params.navbarlogo.height | default 28 }}
6 |
7 |
83 |
84 |
--------------------------------------------------------------------------------
/layouts/partials/section1.html:
--------------------------------------------------------------------------------
1 | {{- $section1 := .Site.Params.section1 }}
2 | {{- $title := index $section1 "title" }}
3 | {{- $subtitle := index $section1 "subtitle" }}
4 | {{- $tiles := index $section1 "tiles" }}
5 |
6 |
7 |
8 |
{{ $title }}
9 |
{{ $subtitle }}
10 |
11 |
12 |
13 |
14 |
15 | {{- range $tiles }}
16 |
17 |
18 |
19 |
{{ .title }}
20 |
21 |
22 |
23 |
24 |
27 |
30 |
31 |
32 | {{- end }}
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/layouts/partials/section2.html:
--------------------------------------------------------------------------------
1 | {{- $section2 := .Site.Params.section2 }}
2 | {{- $title := index $section2 "title" }}
3 | {{- $subtitle := index $section2 "subtitle" }}
4 | {{- $features := index $section2 "features" }}
5 |
6 |
7 |
8 |
9 |
{{ $title }}
10 |
{{ $subtitle }}
11 |
12 |
13 |
14 | {{- range $features }}
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | {{ .title }}
25 |
26 | {{ .text | markdownify }}
27 |
28 |
29 |
30 |
31 | {{- end }}
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/layouts/partials/section3.html:
--------------------------------------------------------------------------------
1 | {{- $section3 := .Site.Params.section3 }}
2 | {{- $title := index $section3 "title" }}
3 | {{- $subtitle := index $section3 "subtitle" }}
4 | {{- $image := index $section3 "image" }}
5 | {{- $buttonText := index $section3 "buttontext" }}
6 | {{- $buttonLink := index $section3 "buttonlink" }}
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
{{ $title }}
19 | {{ $subtitle }}
20 |
21 |
22 |
23 |
24 | {{ $buttonText }}
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/layouts/partials/section4.html:
--------------------------------------------------------------------------------
1 | {{- $section4 := .Site.Params.section4 }}
2 | {{- $title := index $section4 "title" }}
3 | {{- $subtitle := index $section4 "subtitle" }}
4 | {{- $clients := index $section4 "clients" }}
5 |
6 |
7 |
8 |
9 |
{{ $title }}
10 | {{- with $subtitle }}
11 | {{ . }}
12 | {{- end }}
13 |
14 |
15 |
16 |
17 | {{- range $clients }}
18 |
19 |
20 |
21 | {{ .quote }}
22 |
23 |
24 |
25 |
{{ .name }}
26 |
{{ .job }}
27 |
28 |
29 |
30 | {{- end }}
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/layouts/partials/section5.html:
--------------------------------------------------------------------------------
1 | {{- $section5 := .Site.Params.section5 }}
2 | {{- if eq $section5 true }}
3 | {{- $section5 = dict "_" "_" }}
4 | {{- end }}
5 | {{- $title := index $section5 "title" | default "Drop us a line or two "}}
6 | {{- $subtitle := index $section5 "subtitle" | default "We'd love to hear from you" }}
7 | {{- $action := index $section5 "action" }}
8 | {{- $method := index $section5 "method" }}
9 | {{- $buttonText := index $section5 "buttontext" | default "Send Message" }}
10 |
11 |
12 |
13 |
{{ $title }}
14 |
{{ $subtitle }}
15 |
16 |
17 |
18 |
40 |
41 |
--------------------------------------------------------------------------------
/layouts/partials/sidebar.html:
--------------------------------------------------------------------------------
1 | {{- $sidebar := .Site.Params.sidebar }}
2 | {{- $logo := index $sidebar "logo" }}
3 | {{- $sections := index $sidebar "sections" }}
4 |
--------------------------------------------------------------------------------
/layouts/partials/single/content.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
{{ .Title }}
6 |
{{ .Params.Subtitle }}
7 |
8 |
9 |
10 |
11 |
12 | {{ .Content }}
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/layouts/partials/single/sidebar.html:
--------------------------------------------------------------------------------
1 | {{- $logo := .Params.sidebarlogo }}
2 |
21 |
--------------------------------------------------------------------------------
/layouts/partials/single/single.html:
--------------------------------------------------------------------------------
1 | {{ partial "navbar.html" . }}
2 | {{ partial "navbar-clone.html" . }}
3 | {{ partial "single/content.html" . }}
4 |
--------------------------------------------------------------------------------
/layouts/shortcodes/subtitle1.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/subtitle2.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/subtitle3.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/subtitle4.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/subtitle5.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/subtitle6.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/title1.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/title2.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/title3.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/title4.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/title5.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/layouts/shortcodes/title6.html:
--------------------------------------------------------------------------------
1 | {{ .Get 0 }}
2 |
--------------------------------------------------------------------------------
/resources/_gen/assets/sass/style.sass_0cd3d355ec95bf1703b17a06ee0ef826.json:
--------------------------------------------------------------------------------
1 | {"Target":"css/style.min.7a984355ea0371a845ca84dd9356e5caf3fc628ad4553524aa9a665b79c54d29.css","MediaType":"text/css","Data":{"Integrity":"sha256-ephDVeoDcahFyoTdk1blyvP8YorUVTUkqppmW3nFTSk="}}
--------------------------------------------------------------------------------
/static/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/static/fonts/fontello.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/fonts/fontello.woff
--------------------------------------------------------------------------------
/static/fonts/simple-line-icons.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/fonts/simple-line-icons.ttf
--------------------------------------------------------------------------------
/static/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/images/favicon.png
--------------------------------------------------------------------------------
/static/images/illustrations/faces/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/images/illustrations/faces/1.png
--------------------------------------------------------------------------------
/static/images/illustrations/faces/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/images/illustrations/faces/2.png
--------------------------------------------------------------------------------
/static/images/illustrations/faces/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/images/illustrations/faces/3.png
--------------------------------------------------------------------------------
/static/images/illustrations/icons/doc-sync.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
10 |
11 |
12 |
15 |
16 |
17 |
18 |
19 |
20 |
22 |
24 |
26 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/static/images/illustrations/icons/laptop-cloud.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
10 |
11 |
12 |
15 |
16 |
17 |
20 |
21 |
22 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/static/images/illustrations/icons/laptop-globe.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
10 |
11 |
12 |
15 |
18 |
19 |
20 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/static/images/illustrations/icons/mobile-feed.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
10 |
11 |
12 |
15 |
16 |
17 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/static/images/illustrations/icons/mouse-globe.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
10 |
11 |
15 |
16 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/static/images/illustrations/icons/plug-cloud.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
9 |
10 |
14 |
15 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/static/images/illustrations/mockups/app-mockup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/images/illustrations/mockups/app-mockup.png
--------------------------------------------------------------------------------
/static/images/illustrations/worker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/images/illustrations/worker.png
--------------------------------------------------------------------------------
/static/images/illustrations/worker.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
21 |
22 |
23 |
25 |
31 |
32 |
35 |
41 |
42 |
44 |
45 |
46 |
49 |
50 |
52 |
54 |
56 |
60 |
64 |
68 |
70 |
71 |
73 |
83 |
86 |
88 |
93 |
95 |
96 |
97 |
99 |
101 |
105 |
106 |
107 |
108 |
111 |
112 |
113 |
116 |
117 |
119 |
121 |
123 |
125 |
127 |
129 |
131 |
132 |
133 |
--------------------------------------------------------------------------------
/static/images/loaders/audio.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
15 |
16 |
17 |
21 |
22 |
23 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/static/images/loaders/ball-triangle.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
17 |
18 |
19 |
25 |
31 |
32 |
33 |
38 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/static/images/loaders/bars.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
11 |
12 |
13 |
17 |
21 |
22 |
23 |
27 |
31 |
32 |
33 |
37 |
41 |
42 |
43 |
47 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/static/images/loaders/circles.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
12 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/static/images/loaders/grid.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
13 |
14 |
15 |
19 |
20 |
21 |
25 |
26 |
27 |
31 |
32 |
33 |
37 |
38 |
39 |
43 |
44 |
45 |
49 |
50 |
51 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/static/images/loaders/hearts.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/static/images/loaders/oval.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/static/images/loaders/puff.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
12 |
19 |
20 |
21 |
28 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/static/images/loaders/rings.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
14 |
18 |
19 |
20 |
25 |
29 |
33 |
34 |
35 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/static/images/loaders/spinning-circles.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
10 |
11 |
12 |
16 |
17 |
18 |
22 |
23 |
24 |
28 |
29 |
30 |
34 |
35 |
36 |
40 |
41 |
42 |
46 |
47 |
48 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/static/images/loaders/tail-spin.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
20 |
21 |
22 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/static/images/loaders/three-dots.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
12 |
13 |
14 |
18 |
22 |
23 |
24 |
28 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/static/images/logos/bulma.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/static/images/logos/clients/gutwork.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
9 |
16 |
17 |
23 |
25 |
26 |
27 |
28 |
30 |
31 |
--------------------------------------------------------------------------------
/static/images/logos/clients/infinite.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
9 |
10 |
13 |
16 |
19 |
20 |
21 |
23 |
26 |
29 |
31 |
34 |
36 |
38 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/static/images/logos/clients/kromo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
17 |
22 |
27 |
35 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/static/images/logos/clients/systek.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
8 |
9 |
11 |
13 |
15 |
17 |
19 |
21 |
23 |
25 |
27 |
28 |
29 |
37 |
38 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/static/images/logos/clients/tribe.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
9 |
11 |
13 |
14 |
15 |
17 |
19 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/static/images/logos/fresh-alt.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
12 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
25 |
28 |
32 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/static/images/logos/fresh-square.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/static/images/logos/fresh-white-alt.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
12 |
13 |
14 |
15 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
25 |
28 |
32 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/static/images/logos/fresh-white.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
16 |
17 |
18 |
19 |
20 |
22 |
23 |
25 |
26 |
27 |
29 |
30 |
31 |
32 |
47 |
50 |
52 |
54 |
56 |
58 |
60 |
62 |
63 |
64 |
66 |
69 |
72 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/static/images/logos/fresh.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
17 |
18 |
19 |
20 |
21 |
23 |
24 |
26 |
27 |
28 |
30 |
31 |
32 |
33 |
48 |
51 |
53 |
55 |
57 |
59 |
61 |
63 |
64 |
65 |
67 |
70 |
73 |
75 |
76 |
77 |
--------------------------------------------------------------------------------
/static/images/logos/icon-logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/static/images/logos/made-with-bulma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/StefMa/hugo-fresh/66aa58df174904491bba3cc2407d4e71ca3c565e/static/images/logos/made-with-bulma.png
--------------------------------------------------------------------------------
/static/js/fresh.js:
--------------------------------------------------------------------------------
1 | //Preloader
2 | $(window).on('load', function() { // makes sure the whole site is loaded
3 | $('#status').fadeOut(); // will first fade out the loading animation
4 | $('#preloader').delay(350).fadeOut('slow'); // will fade out the white DIV that covers the website.
5 | $('body').delay(350).css({'overflow':'visible'});
6 | })
7 |
8 | $(document).ready(function(){
9 | //Mobile menu toggle
10 | if ($('.navbar-burger').length) {
11 | $('.navbar-burger').on("click", function(){
12 |
13 | var menu_id = $(this).attr('data-target');
14 | $(this).toggleClass('is-active');
15 | $("#"+menu_id).toggleClass('is-active');
16 | $('.navbar.is-light').toggleClass('is-dark-mobile')
17 | });
18 | }
19 |
20 | //Animate left hamburger icon and open sidebar
21 | $('.menu-icon-trigger').on("click", function(e){
22 | e.preventDefault();
23 | $('.menu-icon-wrapper').toggleClass('open');
24 | $('.sidebar').toggleClass('is-active');
25 | });
26 |
27 | //Close sidebar
28 | $('.sidebar-close').on("click", function() {
29 | $('.sidebar').removeClass('is-active');
30 | $('.menu-icon-wrapper').removeClass('open');
31 | })
32 |
33 | //Sidebar menu
34 | if ($('.sidebar').length) {
35 | $(".sidebar-menu > li.have-children > a").on("click", function(i){
36 | i.preventDefault();
37 | if( ! $(this).parent().hasClass("active") ){
38 | $(".sidebar-menu li ul").slideUp();
39 | $(this).next().slideToggle();
40 | $(".sidebar-menu li").removeClass("active");
41 | $(this).parent().addClass("active");
42 | }
43 | else{
44 | $(this).next().slideToggle();
45 | $(".sidebar-menu li").removeClass("active");
46 | }
47 | });
48 | }
49 |
50 | //Navbar Clone
51 | if ($('#navbar-clone').length) {
52 | $(window).on("scroll", function() { // this will work when your window scrolled.
53 | var height = $(window).scrollTop(); //getting the scrolling height of window
54 | if(height > 50) {
55 | $("#navbar-clone").addClass('is-active');
56 | } else{
57 | $("#navbar-clone").removeClass('is-active');
58 | }
59 | });
60 | }
61 |
62 | //Init feather icons
63 | feather.replace();
64 |
65 | //reveal elements on scroll so animations trigger the right way
66 | var $window = $(window),
67 | win_height_padded = $window.height() * 1.1,
68 | isTouch = Modernizr.touch;
69 |
70 | $window.on('scroll', revealOnScroll);
71 |
72 | function revealOnScroll() {
73 | var scrolled = $window.scrollTop();
74 | $(".revealOnScroll:not(.animated)").each(function () {
75 | var $this = $(this),
76 | offsetTop = $this.offset().top;
77 |
78 | if (scrolled + win_height_padded > offsetTop) {
79 | if ($this.data('timeout')) {
80 | window.setTimeout(function(){
81 | $this.addClass('animated ' + $this.data('animation'));
82 | }, parseInt($this.data('timeout'),10));
83 | } else {
84 | $this.addClass('animated ' + $this.data('animation'));
85 | }
86 | }
87 | });
88 | }
89 |
90 | // Back to Top button behaviour
91 | var pxShow = 600;
92 | var scrollSpeed = 500;
93 | $(window).on("scroll", function() {
94 | if ($(window).scrollTop() >= pxShow) {
95 | $("#backtotop").addClass('visible');
96 | } else {
97 | $("#backtotop").removeClass('visible');
98 | }
99 | });
100 | $('#backtotop a').on('click', function() {
101 | $('html, body').animate({
102 | scrollTop: 0
103 | }, scrollSpeed);
104 | return false;
105 | });
106 |
107 | // Select all links with hashes
108 | $('a[href*="#"]')
109 | // Remove links that don't actually link to anything
110 | .not('[href="#"]')
111 | .not('[href="#0"]')
112 | .on("click", function(event) {
113 | // On-page links
114 | if (
115 | location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '')
116 | &&
117 | location.hostname == this.hostname
118 | ) {
119 | // Figure out element to scroll to
120 | var target = $(this.hash);
121 | target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');
122 | // Does a scroll target exist?
123 | if (target.length) {
124 | // Only prevent default if animation is actually gonna happen
125 | event.preventDefault();
126 | $('html, body').animate({
127 | scrollTop: target.offset().top
128 | }, 550, function() {
129 | // Callback after animation
130 | // Must change focus!
131 | var $target = $(target);
132 | $target.focus();
133 | if ($target.is(":focus")) { // Checking if the target was focused
134 | return false;
135 | } else {
136 | $target.attr('tabindex','-1'); // Adding tabindex for elements not focusable
137 | $target.focus(); // Set focus again
138 | };
139 | });
140 | }
141 | }
142 | });
143 | })
144 |
--------------------------------------------------------------------------------
/static/js/jquery.panelslider.min.js:
--------------------------------------------------------------------------------
1 | (function(e){"use strict";function r(r){var i=r.data("ps-options");if(e("body").hasClass(i.bodyClass)||n)return;r.trigger("psBeforeOpen"),n=!0,r.addClass("ps-active-panel"),e("body").addClass(i.bodyClass).one(t,function(e){n=!1,r.trigger("psOpen"),typeof i.onOpen=="function"&&i.onOpen()})}var t=["transitionend","webkitTransitionEnd","oTransitionEnd","MSTransitionEnd"].join(" "),n=!1;e.panelslider=function(e,t){e.panelslider(t)},e.panelslider.close=function(r){var i=e(".ps-active-panel"),s=i.data("ps-options");if(!i.length||n)return;i.trigger("psBeforeClose"),n=!0,i.removeClass("ps-active-panel"),e("body").removeClass(s.bodyClass).one(t,function(e){n=!1,i.trigger("psClose"),r&&setTimeout(function(){r()},0)})},e(document).on("click keyup",function(t){var n=e(".ps-active-panel");if(t.type=="keyup"&&t.keyCode!=27)return;n.length&&n.data("ps-options").clickClose&&e.panelslider.close()}),e(document).on("click",".ps-active-panel",function(e){e.stopPropagation()}),e.fn.panelslider=function(t){var n={bodyClass:"ps-active",clickClose:!0,onOpen:null},i=e(this.attr("href"));return i.data("ps-options",e.extend({},n,t)),this.click(function(t){var n=e(".ps-active-panel");n.length?n[0]==i[0]?e.panelslider.close():e.panelslider.close(function(){r(i)}):r(i),t.preventDefault(),t.stopPropagation()}),this}})(jQuery);
--------------------------------------------------------------------------------
/theme.toml:
--------------------------------------------------------------------------------
1 | name = "Hugo Fresh"
2 | license = "MIT"
3 | licenselink = "https://github.com/StefMa/hugo-fresh/blob/master/LICENSE.md"
4 | description = "A Hugo adaptation of the Fresh theme from CSS Ninja"
5 | homepage = "https://github.com/StefMa/hugo-fresh"
6 | tags = ["responsive", "one page", "light", "onepage", "company", "clean", "landing page"]
7 | features = []
8 | min_version = "0.45"
9 |
10 | [author]
11 | name = "Stefan M."
12 | homepage = "https://github.com/StefMa"
13 |
--------------------------------------------------------------------------------