From 79acfcf1599496e67b20c39c00a100b07c383ab1 Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Sat, 16 Mar 2019 17:43:05 +0100 Subject: theme: Add terrassa theme --- themes/terrassa/.dockerignore | 12 + themes/terrassa/CONTRIBUTING.md | 7 + themes/terrassa/Dockerfile | 7 + themes/terrassa/LICENSE | 20 + themes/terrassa/README.md | 165 ++++++ themes/terrassa/archetypes/default.md | 10 + themes/terrassa/archetypes/page.md | 8 + themes/terrassa/archetypes/section.md | 6 + themes/terrassa/assets/css/animations.css | 10 + themes/terrassa/assets/css/base.css | 73 +++ themes/terrassa/assets/css/media-queries.css | 187 +++++++ themes/terrassa/assets/css/reset.css | 180 +++++++ themes/terrassa/assets/css/style.css | 581 +++++++++++++++++++++ themes/terrassa/assets/js/form.js | 3 + themes/terrassa/assets/js/header.js | 7 + themes/terrassa/exampleSite/config.toml | 93 ++++ themes/terrassa/exampleSite/content/_index.md | 11 + themes/terrassa/exampleSite/content/about.md | 18 + .../terrassa/exampleSite/content/contact/_index.md | 8 + .../content/posts/16-things-free-songs.md | 20 + .../terrassa/exampleSite/content/posts/_index.md | 8 + .../exampleSite/content/posts/bad-architects.md | 30 ++ .../posts/game-websites/images/dummy-image.jpg | Bin 0 -> 4370078 bytes .../content/posts/game-websites/index.md | 24 + .../content/posts/preventative-medicines.md | 18 + .../exampleSite/content/sections/simple-choices.md | 8 + .../exampleSite/content/sections/simple-people.md | 10 + .../exampleSite/content/sections/simple-values.md | 8 + .../exampleSite/content/sections/simple.md | 8 + themes/terrassa/images/blog-screenshot.png | Bin 0 -> 93613 bytes themes/terrassa/images/screenshot.png | Bin 0 -> 105438 bytes themes/terrassa/images/tn.png | Bin 0 -> 70302 bytes themes/terrassa/layouts/404.html | 5 + themes/terrassa/layouts/_default/baseof.html | 11 + themes/terrassa/layouts/_default/card.html | 28 + themes/terrassa/layouts/_default/list.html | 11 + themes/terrassa/layouts/_default/single.html | 31 ++ themes/terrassa/layouts/_default/tags.html | 12 + themes/terrassa/layouts/contact/list.html | 46 ++ themes/terrassa/layouts/index.html | 4 + themes/terrassa/layouts/partials/cta-btn.html | 4 + themes/terrassa/layouts/partials/footer.html | 66 +++ .../terrassa/layouts/partials/hamburger-menu.html | 18 + themes/terrassa/layouts/partials/head.html | 21 + themes/terrassa/layouts/partials/header.html | 14 + themes/terrassa/layouts/partials/hero.html | 10 + themes/terrassa/layouts/partials/menu.html | 13 + themes/terrassa/layouts/partials/scripts.html | 8 + themes/terrassa/layouts/partials/section.html | 6 + themes/terrassa/layouts/partials/sections.html | 10 + themes/terrassa/layouts/partials/separator.html | 3 + themes/terrassa/layouts/partials/styles.html | 9 + themes/terrassa/makefile | 29 + themes/terrassa/static/favicon.ico | Bin 0 -> 15086 bytes .../static/images/undraw_freelancer_b0my.svg | 1 + themes/terrassa/static/logo.svg | 17 + themes/terrassa/theme.toml | 18 + themes/terrassa/usage.sh | 5 + 58 files changed, 1940 insertions(+) create mode 100644 themes/terrassa/.dockerignore create mode 100644 themes/terrassa/CONTRIBUTING.md create mode 100644 themes/terrassa/Dockerfile create mode 100644 themes/terrassa/LICENSE create mode 100644 themes/terrassa/README.md create mode 100644 themes/terrassa/archetypes/default.md create mode 100644 themes/terrassa/archetypes/page.md create mode 100644 themes/terrassa/archetypes/section.md create mode 100644 themes/terrassa/assets/css/animations.css create mode 100644 themes/terrassa/assets/css/base.css create mode 100644 themes/terrassa/assets/css/media-queries.css create mode 100644 themes/terrassa/assets/css/reset.css create mode 100644 themes/terrassa/assets/css/style.css create mode 100644 themes/terrassa/assets/js/form.js create mode 100644 themes/terrassa/assets/js/header.js create mode 100644 themes/terrassa/exampleSite/config.toml create mode 100644 themes/terrassa/exampleSite/content/_index.md create mode 100644 themes/terrassa/exampleSite/content/about.md create mode 100644 themes/terrassa/exampleSite/content/contact/_index.md create mode 100644 themes/terrassa/exampleSite/content/posts/16-things-free-songs.md create mode 100644 themes/terrassa/exampleSite/content/posts/_index.md create mode 100644 themes/terrassa/exampleSite/content/posts/bad-architects.md create mode 100644 themes/terrassa/exampleSite/content/posts/game-websites/images/dummy-image.jpg create mode 100644 themes/terrassa/exampleSite/content/posts/game-websites/index.md create mode 100644 themes/terrassa/exampleSite/content/posts/preventative-medicines.md create mode 100644 themes/terrassa/exampleSite/content/sections/simple-choices.md create mode 100644 themes/terrassa/exampleSite/content/sections/simple-people.md create mode 100644 themes/terrassa/exampleSite/content/sections/simple-values.md create mode 100644 themes/terrassa/exampleSite/content/sections/simple.md create mode 100644 themes/terrassa/images/blog-screenshot.png create mode 100644 themes/terrassa/images/screenshot.png create mode 100644 themes/terrassa/images/tn.png create mode 100644 themes/terrassa/layouts/404.html create mode 100644 themes/terrassa/layouts/_default/baseof.html create mode 100644 themes/terrassa/layouts/_default/card.html create mode 100644 themes/terrassa/layouts/_default/list.html create mode 100644 themes/terrassa/layouts/_default/single.html create mode 100644 themes/terrassa/layouts/_default/tags.html create mode 100644 themes/terrassa/layouts/contact/list.html create mode 100644 themes/terrassa/layouts/index.html create mode 100644 themes/terrassa/layouts/partials/cta-btn.html create mode 100644 themes/terrassa/layouts/partials/footer.html create mode 100644 themes/terrassa/layouts/partials/hamburger-menu.html create mode 100644 themes/terrassa/layouts/partials/head.html create mode 100644 themes/terrassa/layouts/partials/header.html create mode 100644 themes/terrassa/layouts/partials/hero.html create mode 100644 themes/terrassa/layouts/partials/menu.html create mode 100644 themes/terrassa/layouts/partials/scripts.html create mode 100644 themes/terrassa/layouts/partials/section.html create mode 100644 themes/terrassa/layouts/partials/sections.html create mode 100644 themes/terrassa/layouts/partials/separator.html create mode 100644 themes/terrassa/layouts/partials/styles.html create mode 100644 themes/terrassa/makefile create mode 100644 themes/terrassa/static/favicon.ico create mode 100644 themes/terrassa/static/images/undraw_freelancer_b0my.svg create mode 100644 themes/terrassa/static/logo.svg create mode 100644 themes/terrassa/theme.toml create mode 100755 themes/terrassa/usage.sh (limited to 'themes/terrassa') diff --git a/themes/terrassa/.dockerignore b/themes/terrassa/.dockerignore new file mode 100644 index 0000000..0ad3d41 --- /dev/null +++ b/themes/terrassa/.dockerignore @@ -0,0 +1,12 @@ +.git +.gitignore +LICENSE +README.md +theme.toml + +/archetypes/ +/assets/ +/images/ +/layouts/ +/static/ + diff --git a/themes/terrassa/CONTRIBUTING.md b/themes/terrassa/CONTRIBUTING.md new file mode 100644 index 0000000..59a27e8 --- /dev/null +++ b/themes/terrassa/CONTRIBUTING.md @@ -0,0 +1,7 @@ +All contributions are welcome. + +**Features**: if you are adding a feature, fork the repository, create a new branch for your feature and submit a PR. Make sure to put documentation for your new feature. If making additions that will affect the config file, make sure you update the *config.toml* on the *exampleSite*. + +**Issues** or **Bugs**: submit a new issue with information about your issue or bug. If you have a solution, then submit a new PR as described above. + +Thank you very much for helping to improve Terrassa. \ No newline at end of file diff --git a/themes/terrassa/Dockerfile b/themes/terrassa/Dockerfile new file mode 100644 index 0000000..43a450f --- /dev/null +++ b/themes/terrassa/Dockerfile @@ -0,0 +1,7 @@ +FROM nginx +LABEL maintainer="d94.zaragoza@gmail.com" +ARG EXPOSE=80 +EXPOSE ${EXPOSE}/tcp +EXPOSE ${EXPOSE}/udp +ARG HUGO_SITE=exampleSite +COPY /${HUGO_SITE}/public/ /usr/share/nginx/html/ \ No newline at end of file diff --git a/themes/terrassa/LICENSE b/themes/terrassa/LICENSE new file mode 100644 index 0000000..47f7640 --- /dev/null +++ b/themes/terrassa/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2018-2019 Daniel Zaragoza "Danielkvist" (d94.zaragoza@gmail.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/themes/terrassa/README.md b/themes/terrassa/README.md new file mode 100644 index 0000000..d74f1db --- /dev/null +++ b/themes/terrassa/README.md @@ -0,0 +1,165 @@ +# Terrassa - Hugo Theme + +Terrassa is a simple, fast and responsive theme for Hugo with a strong focus on accessibility made from scratch. + +![Hugo Terrassa theme screenshot](https://github.com/danielkvist/hugo-terrassa-theme/blob/master/images/screenshot.png) + +## Theme features + +- Coherent responsive design. +- Consistent design throughout the entire site. +- Classic navigation menu in large screen sizes. +- Hamburger navigation menu in small screen sizes. +- Great focus on accessibility. +- Customizable call to action on the home page. +- Contact form. +- Ready for blogging. + +And much more. + +## Installation + +To install Terrassa run the followings command inside your Hugo site: + +```bash +$ cd themes +$ git clone https://github.com/danielkvist/hugo-terrassa-theme.git terrassa +``` + +Or + +```bash +$ cd themes +$ git submodule add https://github.com/danielkvist/hugo-terrassa-theme.git terrassa +``` + +> You can also download the last release [here](https://github.com/danielkvist/hugo-terrassa-theme/releases). + +Back to your Hugo site directory open the *config.toml* file and add the following line: + +```toml +theme = "terrassa" +``` + +And that's it. + +## Archetypes + +Terrassa includes three base archetypes: +* *default*: for content such as blogs posts. +* *section*: for the sections on your Home page. +* *page*: for pages like the About page. + +So be careful. Creating a new site with Hugo also creates a default archetype that replaces the one provided by Terrassa. + +### Home and Single pages + +To create your home page run the following command inside your Hugo site: + +```bash +$ hugo new _index.md -k page +``` + +Or to create another page: + +```bash +$ hugo new example.md -k page +``` + +You'll get something like this: + +```markdown +--- +title: "" +description: "" +images: [] +draft: true +menu: main +weight: 0 +--- +``` + +Some properties are used as follows: +* *title*: is the name that will be displayed in the menu. In the rest of the single pages the main title of the content. +* *description*: in the case of the home page the description is not shown. In the rest of the single pages it is shown as a subtitle. +* *images*: in the case of the home page the first image is used as the background image for the hero and to share on social networks (with [Twitter Cards](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/abouts-cards.html) and [Facebook Graph](https://developers.facebook.com/docs/graph-api/)). In every other page or post is used only for share on social networks. +* *weight*: sets the order of the items in the menu. + +## Home page Sections + +To create a new section in your Home page follow the next steps: + +```bash +$ hugo new sections/example.md -k section +``` + +You'll come across something like this: + +```markdown +--- +title: "Example" +description: "" +draft: true +weight: 0 +--- +``` + +The *title* is used as the title of your new section and the content is the body. At this moment the *description* is not used for anything. + +The *weight* defines the order in case of having more than one section. + +### Blog or List pages + +To create a Blog or a page with a similar structure follow these steps: + +```bash +$ hugo new posts/_index.md -k page +``` + +> In this case it is only necessary to set, if wanted, the *title* and the *weight* in the *_index.md*. + +To add a new posts run the following command: + +```bash +$ hugo new posts/bad-example.md +``` + +Inside this file you'll find something like this: + +```markdown +--- +title: "Bad example" +description: "" +date: 2018-12-27T21:09:45+01:00 +publishDate: 2018-12-27T21:09:45+01:00 +author: "John Doe" +images: [] +draft: true +tags: [] +--- +``` +The *title* and *description* are used as the main title and subtitle respectively. + +> You can find more information about each parameter in the [official documentation](https://gohugo.io/content-management/front-matter/). + +Then, the corresponding section will show a list of cards with the *title*, the *date*, a *summary of the content* (truncated to 480 words) and a list of *tags* if any. + +![Hugo Terrassa theme Blog section screenshot](https://github.com/danielkvist/hugo-terrassa-theme/blob/master/images/blog-screenshot.png) + +### Contact + +For the contact page follow these instructions: + +```bash +$ hugo new contact/_index.md -k page +``` + +The *title* and *description* will be used as the main title and subtitle respectively with a contact form. The rest of the options are defined in the [config.toml](https://github.com/danielkvist/hugo-terrassa-theme/blob/master/exampleSite/config.toml). + +## Config + +For the configuration check the [config.toml](https://github.com/danielkvist/hugo-terrassa-theme/blob/master/exampleSite/config.toml) of the *exampleSite* and the [official documentation](https://gohugo.io/getting-started/configuration/) to see all the options. + +## Font Awesome + +Terrassa uses the [Font Awesome](https://fontawesome.com/) icons through a CDN. Something that for the moment affects the performance. diff --git a/themes/terrassa/archetypes/default.md b/themes/terrassa/archetypes/default.md new file mode 100644 index 0000000..33b7e3d --- /dev/null +++ b/themes/terrassa/archetypes/default.md @@ -0,0 +1,10 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +description: "" +date: {{ .Date }} +publishDate: {{ .Date }} +author: "John Doe" +images: [] +draft: true +tags: [] +--- \ No newline at end of file diff --git a/themes/terrassa/archetypes/page.md b/themes/terrassa/archetypes/page.md new file mode 100644 index 0000000..2789892 --- /dev/null +++ b/themes/terrassa/archetypes/page.md @@ -0,0 +1,8 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +description: "" +images: [] +draft: true +menu: main +weight: 0 +--- \ No newline at end of file diff --git a/themes/terrassa/archetypes/section.md b/themes/terrassa/archetypes/section.md new file mode 100644 index 0000000..efe83a1 --- /dev/null +++ b/themes/terrassa/archetypes/section.md @@ -0,0 +1,6 @@ +--- +title : "{{ replace .Name "-" " " | title }}" +description: "" +draft: true +weight: 0 +--- \ No newline at end of file diff --git a/themes/terrassa/assets/css/animations.css b/themes/terrassa/assets/css/animations.css new file mode 100644 index 0000000..ce65162 --- /dev/null +++ b/themes/terrassa/assets/css/animations.css @@ -0,0 +1,10 @@ +@keyframes focus { + 0% { + filter: blur(14px); + opacity: 0; + } + 100% { + filter: blur(0); + opacity: 1; + } +} \ No newline at end of file diff --git a/themes/terrassa/assets/css/base.css b/themes/terrassa/assets/css/base.css new file mode 100644 index 0000000..71b9569 --- /dev/null +++ b/themes/terrassa/assets/css/base.css @@ -0,0 +1,73 @@ +:root { + /* Font Sizes */ + --title: 3.998rem; + --subtitle: 2.827rem; + --header: 1.999rem; + --subheader: 1.414rem; + + /* Colors */ + --primary: #ffc107; + --primary-dark: #ffa000; + --primary-light: #ffecb3; + --primary-text: #212121; + --secondary-text: #333333; + --accent: #536dfe; + --divider: #bdbdbd; + --white: #fdfdfd; + + /* Breackpoints */ + --sm: 576px; + --md: 768px; + --lg: 992px; + --xl: 1200px; +} + +a { + color: var(--accent); +} + +a:hover { + color: var(--primary-dark); +} + +body { + color: var(--primary-text); +} + +figcaption { + font-size: 0.9rem; + text-align: center; +} + +hr { + color: var(--divider); + opacity: 0.30; + width: 25%; +} + +i { + font-size: var(--subheader); +} + +input, +textarea { + border: 2px solid var(--divider); +} + +input:focus, +textarea:focus { + border: 2px solid var(--accent); +} + +pre { + border: 1px solid var(--divider); + overflow: auto; + margin-bottom: 1.75rem; + padding: 1rem 1.75rem; + text-align: left; + width: 100%; +} + +textarea { + resize: none; +} diff --git a/themes/terrassa/assets/css/media-queries.css b/themes/terrassa/assets/css/media-queries.css new file mode 100644 index 0000000..57455d6 --- /dev/null +++ b/themes/terrassa/assets/css/media-queries.css @@ -0,0 +1,187 @@ +@media only screen and (max-width: 1024px) { + .hero { + background-position: 20% 0; + background-size: cover; + } + + .section { + margin: 2.75rem 19%; + } + + .card { + margin-bottom: 0.75rem; + } + + .post__body { + margin: 0 19%; + } + + .pagination { + width: 40%; + } + + .footer__contact { + align-items: start; + flex-direction: column; + padding: 1.75rem 4.5rem; + } + + .footer__contact__item { + padding-bottom: 1.75rem; + } + + .footer__contact__item:last-of-type { + padding-bottom: 0; + } + + .copy { + align-items: flex-end; + padding-right: 4.5rem; + } +} + +@media only screen and (max-width: 992px) { + .hero__caption > h1 { + font-size: var(--subtitle); + } + + .hero__caption > h2 { + font-size: 1.25rem; + } + + .pagination { + width: 50%; + } + + .footer__social { + padding: 1rem 0; + } +} + +@media only screen and (max-width: 768px) { + .header__title { + font-size: 1rem; + } + + .menu { + display: none; + visibility: hidden; + } + + .hamburger-menu { + display: grid; + visibility: visible; + } + + .hamburger__items__item { + margin-right: 1.75rem; + } + + .section { + margin: 2.75rem 9%; + } + + .card { + width: 85%; + } + + .contact__form { + grid-template-areas: "name" "email" "msg" "submit"; + } + + .contact__field > input { + width: 25rem; + } + + .contact__field--name { + margin-right: 0; + } + + .contact__field--msg { + margin-top: 0; + } + + .contact__field--submit { + margin: 1.75rem 0; + } + + .post__header { + padding: 0 10%; + } + + .post__body { + margin: 0 9%; + } + + .post__body > blockquote > p { + margin: 0 5%; + } + + .post__footer { + margin: 0 10% 0.75rem; + } + + .pagination { + width: 70%; + } +} + +@media only screen and (max-width: 576px) { + .header__title { + margin-left: 1.75rem; + } + + .toggle { + right: 1.75rem; + } + + .hero { + background-position: 30% 0; + } + + .hero__caption { + margin: 0 1.75rem 0; + } + + .contact__field > input { + width: 20rem; + } + + .card { + width: 90%; + } + + .pagination { + width: 90%; + } + + .footer { + grid-template-areas: "social" "contact" "copy"; + grid-template-columns: 1fr; + } + + .footer__social__link { + height: 40px; + line-height: 40px; + margin: 0.75rem; + width: 40px; + } + + .footer__contact { + padding: 1.75rem; + } + + .copy { + justify-content: center; + margin-bottom: 1.75rem; + margin-left: 5%; + margin-right: 5%; + padding: 0; + } +} + +@media only screen and (max-width: 340px) { + .contact__field > input { + width: 17rem; + } +} diff --git a/themes/terrassa/assets/css/reset.css b/themes/terrassa/assets/css/reset.css new file mode 100644 index 0000000..b3abac5 --- /dev/null +++ b/themes/terrassa/assets/css/reset.css @@ -0,0 +1,180 @@ +html, +body, +h1, +h2, +h3, +h4, +h5, +h6, +a, +p, +span, +em, +small, +strong, +sub, +sup, +mark, +del, +ins, +strike, +abbr, +dfn, +blockquote, +q, +cite, +code, +pre, +li, +dl, +dt, +dd, +div, +section, +article, +main, +aside, +nav, +header, +hgroup, +footer, +img, +figure, +figcaption, +address, +time, +audio, +video, +canvas, +iframe, +details, +summary, +fieldset, +form, +label, +legend, +table, +caption, +tbody, +tfoot, +thead, +tr, +th, +td { + border: 0; + padding: 0; + margin: 0; +} + +html { + box-sizing: border-box; + font-size: 1em; +} + +*, +*::before, +*::after { + box-sizing: inherit; +} + +a { + text-decoration: none; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, Oxygen, Cantarell, "Open Sans", "Helvetica Neue", sans-serif; + font-kerning: auto; + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialised; + font-weight: 400; + height: 100vh; + hyphens: auto; + line-height: 1.62; + overflow-wrap: break-word; + text-rendering: optimizeLegibility; +} + +blockquote, +q { + quotes: none; +} + +blockquote:after, +blockquote:before, +q:after, +q:before { + content: ""; +} + +h1, +h2, +h3, +h4 { + font-weight: inherit; + line-height: 1.2; + margin: 1.414rem 0 0.5rem; +} + +hr { + box-sizing: content-box; + overflow: visible; +} + +img, +video, +figure { + display: block; + height: auto; + max-width: 100%; +} + +img { + border-style: none; +} + +main, +header, +footer { + display: block; +} + +ol, +ul { + list-style: none; + margin-left: 0; + margin-right: 0; + padding: 0; +} + +p { + margin-bottom: 1.1rem; +} + +pre, +code, +kbd { + font-family: monospace; + font-size: 1em; + white-space: pre-wrap; +} + +select { + text-transform: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +[hidden] { + display: none; +} + +[disabled] { + cursor: not-allowed; +} + +:focus:not(:focus-visible) { + outline: none; +} diff --git a/themes/terrassa/assets/css/style.css b/themes/terrassa/assets/css/style.css new file mode 100644 index 0000000..ed94b13 --- /dev/null +++ b/themes/terrassa/assets/css/style.css @@ -0,0 +1,581 @@ +/* HEADER */ +.header { + background-color: var(--white); + box-shadow: 0 1px 5px var(--divider); + display: grid; + grid-template-columns: repeat(2, 1fr); + grid-template-rows: 1fr; + position: fixed; + top: 0; + width: 100%; + z-index: 999; +} + +.header__title { + align-items: center; + display: flex; + font-size: 1.1rem; + justify-content: flex-start; + margin: 1rem 4.5rem; +} + +.header__title__link { + color: var(--primary-dark); +} + +.header__title__logo { + max-width: 7rem; + vertical-align: middle; + width: 100%; +} + +/* MENU */ +.menu { + align-items: center; + display: flex; + hyphens: none; + margin-right: 4.5rem; +} + +.menu__items { + display: flex; + justify-content: space-evenly; + width: 100%; +} + +.menu__items__item { + margin: 0 1.5rem; +} + +.menu__items__item__link { + color: var(--primary-text); + padding: 0.5rem 0; + position: relative; +} + +.menu__items__item__link:hover, +.menu__items__item__link:focus { + color: var(--primary-text); +} + +.menu__items__item__link::before { + bottom: 0; + content: ""; + display: block; + height: 3px; + position: absolute; + transition: all 0.25s ease-in-out; + width: 0%; +} + +.menu__items__item__link::before { + background-color: var(--primary); +} + +.menu__items__item__link:hover::before, +.menu__items__item__link:focus::before { + opacity: 1; + width: 100%; +} + +.menu__items__item__link.active::before { + opacity: 1; + width: 100%; +} + +/* HAMBURGER MENU */ +.hamburger-menu { + display: none; + visibility: hidden; +} + +.toggle, +.hamburger__toggle { + user-select: none; +} + +.toggle { + align-self: center; + position: absolute; + right: 4.5rem; +} + +.hamburger__toggle { + height: 32px; + left: -5px; + opacity: 0; + position: absolute; + top: -7px; + width: 40px; +} + +.hamburger__items { + background-color: var(--white); + box-shadow: -1px 2px 5px var(--divider); + height: 100vh; + position: absolute; + transform: translate(100%, 0); + transform-origin: 0% 0%; + transition: transform 0.15s ease-in-out; + visibility: hidden; + width: 50vw; +} + +.hamburger__items__item { + margin: 1.75rem 0 0 2.75rem; +} + +.hamburger__items__item__link { + color: var(--primary-text); +} + +.hamburger__items__item__link:hover { + color: var(--primary-dark); +} + +.toggle .hamburger__toggle:checked ~ .hamburger__items { + transform: translate(-70%, 0); + visibility: visible; +} + +/* HERO */ +.hero { + align-content: center; + background-attachment: fixed; + background-position: 100% 20%; + background-repeat: no-repeat; + background-size: contain; + display: flex; + height: 90vh; + justify-content: flex-start; + width: 100%; +} + +.hero__caption { + align-items: flex-start; + animation: focus 0.95s cubic-bezier(0.390, 0.575, 0.565, 1.000) both; + display: flex; + flex-direction: column; + justify-content: center; + margin-left: 4.5rem; +} + +.hero__caption > h1 { + font-size: var(--title); +} + +.hero__caption > h2 { + font-size: var(--subheader); + margin-top: 0.45rem; +} + +/* CTA */ +.cta__btn { + margin-top: 4.5rem; +} + +/* SECTION */ +.section { + margin: 2.75rem 24%; + text-justify: distribute; +} + +.section__title { + padding: 0 20%; + margin-bottom: 1.75rem; + text-align: center; +} + +/* SEPARATOR */ +.separator { + align-items: center; + display: flex; + font-size: 0.45rem; + justify-content: center; +} + +/* CONTENT */ +.content { + display: grid; + grid-auto-flow: row; + grid-template-columns: 1fr; + grid-template-rows: 1fr; + justify-items: center; + min-height: 90vh; +} + +/* CARD */ +.card { + margin-bottom: 2.75rem; + max-width: 900px; + text-justify: distribute; + width: 70%; +} + +.card__header__link { + color: var(--primary-text); +} + +.card__header__link:hover { + color: var(--primary); +} + +.card__header__author { + margin-bottom: 0.75rem; + text-align: left; +} + +/* POST */ +.post { + min-height: 90vh; + text-justify: distribute; +} + +.post__header { + display: grid; + grid-template-areas: "title" "date" "subtitle" "author"; + grid-template-rows: auto; + justify-content: center; + padding: 0 20%; +} + +.post__title { + font-size: var(--header); + grid-area: title; +} + +.post__subtitle { + grid-area: subtitle; + margin-top: 0.75rem; + text-align: center; +} + +.post__author { + grid-area: author; + text-align: center; +} + +.post__date { + grid-area: date; + margin-bottom: 1.75rem; +} + +.post__body { + margin: 1.75rem 24% 0.75rem; +} + +.post__body > figure { + margin-bottom: 1.75rem; +} + +.post__body > ol { + list-style-type: decimal; +} + +.post__body > ul { + list-style-type: disc; +} + +.post__body > blockquote > p { + margin: 0.75rem 24%; + text-align: center; +} + +.post__body > blockquote > p::before, +.post__body > blockquote > p::after { + background-color: var(--divider); + content: ""; + display: block; + height: 1px; + width: 100%; +} + +.post__body > blockquote > p::before { + margin-bottom: 1rem; +} + +.post__body > blockquote > p::after { + margin-top: 1rem; +} + +.post__body > blockquote > p::after { + margin-bottom: 1.1rem; +} + +.post__body > ul, +.post__body > ol { + margin-left: 3.75rem; +} + +.post__footer { + display: flex; + justify-content: center; + margin: 0 30% 0.75rem; +} + +/* PAGINATION */ +.pagination { + display: flex; + justify-content: space-evenly; + margin-bottom: 2.75rem; + width: 20%; +} + +.page-item.disabled > .page-link { + cursor: not-allowed; + opacity: 0.7; +} + +.page-item.active > .page-link { + color: var(--primary-dark); +} + +.page-link { + color: var(--primary-text); +} + +/* CONTACT */ +.contact { + align-items: center; + display: flex; + flex-direction: column; + justify-content: flex-start; + min-height: 90vh; +} + +.contact__content { + text-align: center; +} + +.contact__form { + display: grid; + grid-template-areas: "name email" "msg msg" "submit submit"; + grid-template-columns: 1fr; + grid-template-rows: repeat(3, auto); + margin-top: 1.75rem; +} + +.contact__field { + display: flex; + flex-direction: column; + margin-bottom: 0.75rem; +} + +.contact__field > label { + margin-bottom: 0.45rem; +} + +.contact__field > input { + font-size: 1rem; + height: 1.9rem; + padding: 1rem 0.75rem; + width: 20rem; +} + +.contact__field > textarea { + font-family: sans-serif; + font-size: 1rem; + height: 12rem; + padding: 0.75rem 0.75rem; + width: 100%; +} + +.contact__field--name { + grid-area: name; + margin-right: 1rem; +} + +.contact__field--email { + grid-area: email; +} + +.contact__field--msg { + grid-area: msg; + margin-top: 1.75rem; +} + +.contact__field--submit { + align-content: center; + display: grid; + grid-area: submit; + justify-content: center; + margin: 1.75rem 0 2.75rem; +} + +.submit { + font-size: 1rem; +} + +/* FOOTER */ +.footer { + background-color: var(--primary-dark); + display: grid; + grid-auto-flow: row; + grid-template-areas: "social social social" "contact contact copy"; + grid-template-columns: repeat(3, 1fr); + grid-template-rows: repeat(2, auto); +} + +.footer__social { + align-items: center; + background-color: var(--white); + border-top: 1px solid var(--divider); + border-bottom: 1px solid var(--divider); + display: flex; + flex-wrap: wrap; + grid-area: social; + justify-content: space-evenly; + padding: 1rem 20%; +} + +.footer__social__link { + background-color: var(--primary-text); + border-radius: 50%; + color: var(--white); + font-size: var(--subheader); + height: 35px; + line-height: 35px; + position: relative; + text-align: center; + width: 35px; +} + +.footer__social__link::after { + background: transparent; + border: 1.5px solid var(--primary-text); + border-radius: 50%; + bottom: 0; + content: ""; + display: block; + left: 0; + position: absolute; + right: 0; + top: 0; + transition: 0.3s all; +} + +.footer__social__link:hover, +.footer__social__link:focus { + background-color: transparent; + color: var(--secondary-text); +} + +.footer__social__link:hover::after, +.footer__social__link:focus::after { + border-color: var(--secondary-text); + transform: scale(1.5); +} + +.footer__contact { + align-items: center; + display: flex; + grid-area: contact; + justify-content: space-around; + width: 100%; +} + +.footer__contact__item { + color: var(--white); + margin: 0; +} + +.footer__contact__item > span { + color: var(--primary-text); + margin-right: 0.25rem; +} + +.footer__contact__link, +.footer__contact__link:hover { + color: var(--white); +} + +/* 404 */ +.notfound { + align-items: center; + display: flex; + justify-content: center; + min-height: 90vh; +} + +.notfound__title { + font-size: var(--title); +} + +/* COPY */ +.copy { + align-items: center; + display: flex; + font-size: 0.95rem; + grid-area: copy; + justify-content: flex-end; + padding: 1.75rem; +} + +.copy > p { + margin: 0; +} + +/* AUTHOR */ +.author { + font-size: 0.95rem; + font-weight: 400; +} + +/* DATE */ +.date { + font-size: 0.95rem; + font-weight: 400; + margin: 0 0 0.75rem 0; +} + +/* TAGS */ +.tags { + display: flex; + flex-wrap: wrap; + padding: 0; +} + +.tags__tag { + margin-right: 0.75rem; +} + +/* RIPPLE */ +.ripple-btn { + background-color: var(--primary-dark); + border: none; + color: var(--white); + overflow: hidden; + padding: 1.15rem 4.5rem; + position: relative; + transform: translate3d(0, 0, 0); + transition: all 0.25s; +} + +.ripple-btn:hover, +.ripple-btn:focus { + color: var(--white); + background-color: var(--primary); +} + +.ripple-btn::after { + background-image: radial-gradient(circle, var(--primary-light) 10%, transparent 10.01%); + background-position: 50%; + background-repeat: no-repeat; + content: ""; + display: block; + height: 100%; + left: 0; + opacity: 0; + position: absolute; + pointer-events: none; + top: 0; + transform: scale(10, 10); + transition: transform .5s, opacity 1s; + width: 100%; +} + +.ripple-btn:active::after { + opacity: 0.7; + transform: scale(0, 0); + transition: 0s; +} \ No newline at end of file diff --git a/themes/terrassa/assets/js/form.js b/themes/terrassa/assets/js/form.js new file mode 100644 index 0000000..1c9bd4d --- /dev/null +++ b/themes/terrassa/assets/js/form.js @@ -0,0 +1,3 @@ +function cleanForm() { + document.getElementById("contact-form").reset(); +} \ No newline at end of file diff --git a/themes/terrassa/assets/js/header.js b/themes/terrassa/assets/js/header.js new file mode 100644 index 0000000..12de881 --- /dev/null +++ b/themes/terrassa/assets/js/header.js @@ -0,0 +1,7 @@ +const header = document.querySelector("header"); + +function paddingHeader() { + document.body.style.paddingTop = `${header.offsetHeight}px`; +} + +window.addEventListener("load", paddingHeader); \ No newline at end of file diff --git a/themes/terrassa/exampleSite/config.toml b/themes/terrassa/exampleSite/config.toml new file mode 100644 index 0000000..d40ac0d --- /dev/null +++ b/themes/terrassa/exampleSite/config.toml @@ -0,0 +1,93 @@ +baseurl = "/" +title = "Terrassa" +author = "Daniel Zaragoza (Danielkvist)" +googleAnalytics = "" +defaultContentLanguage = "en" +language = "en-US" +paginate = 3 # Number of posts per page + +theme = "hugo-terrassa-theme" +themesDir = "../.." # Not necessary on production sites + +[outputs] + home = ["HTML", "RSS"] + page = ["HTML", "RSS"] + +[params] + description = "Terrassa is a simple, fast and responsive theme for Hugo with a strong focus on accessibility made from scratch." + favicon = "favicon.ico" # Relative URL + logo = "" # Absolute URL + +[params.hero] + textColor = "" # Empty for default color + +[params.cta] # Call To Action + show = true + cta = "Contact" + link = "contact" # Relative URL + +[params.form] # Contact form + netlify = true # Use only if you are using Netlify + action = "https://formspree.io/your@email.com" + method = "POST" + inputNameName = "name" + inputNameLabel = "Name" + inputNamePlaceholder = "Your name" + inputEmailName = "email" + inputEmailLabel = "Email" + inputEmailPlaceholder = "Your email" + inputMsgName = "message" + inputMsgLabel = "Write something" + inputMsgLength = 750 + inputSubmitValue = "Send" + +[params.posts] + showAuthor = true + showDate = true + showTags = true + dateFormat = "Monday, Jan, 2006" + +[params.contact] # Contact info + email = "example@gmail.com" + phone = "xxx xxx xxx" + skype = "" + address = "419 Creek St. Revere, MA 02151" + +[params.social] # Social networks + twitter = "https://twitter.com/john" + facebook = "https://facebook.com/john" + github = "https://github.com/john" + gitlab = "" + codepen = "https://codepen.io/john" + instagram = "https://instagram.com/john" + pinterest = "" + youtube = "" + linkedin = "" + weibo = "" + mastodon = "" + tumblr = "" + flickr = "" + "500px" = "" + +[params.copy] # Copyright + copy = "" # Empty for default content + +[privacy] + [privacy.googleAnalytics] + anonymizeIP = true + disable = false + respectDoNotTrack = true + useSessionStorage = false + [privacy.instagram] + disable = false + simple = false + [privacy.twitter] + disable = false + enableDNT = true + simple = false + [privacy.vimeo] + disable = false + simple = false + [privacy.youtube] + disable = false + privacyEnhanced = true \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/_index.md b/themes/terrassa/exampleSite/content/_index.md new file mode 100644 index 0000000..6aefa55 --- /dev/null +++ b/themes/terrassa/exampleSite/content/_index.md @@ -0,0 +1,11 @@ +--- +title: "Home" +description: "" +images: ["undraw_freelancer_b0my.svg"] +draft: false +menu: main +weight: 1 +--- + +# Terrassa +## The Hugo theme for you. Or for your company. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/about.md b/themes/terrassa/exampleSite/content/about.md new file mode 100644 index 0000000..8bc89c7 --- /dev/null +++ b/themes/terrassa/exampleSite/content/about.md @@ -0,0 +1,18 @@ +--- +title: "About" +description: "" +images: [] +draft: false +menu: main +weight: 3 +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Felis donec et odio pellentesque diam. Sapien nec sagittis aliquam malesuada bibendum. Velit dignissim sodales ut eu sem integer vitae justo. Vulputate sapien nec sagittis aliquam malesuada bibendum. Eu ultrices vitae auctor eu augue ut. Amet mattis vulputate enim nulla aliquet porttitor lacus luctus. Mauris in aliquam sem fringilla. Sed faucibus turpis in eu mi bibendum. Nunc consequat interdum varius sit amet mattis vulputate enim. Tincidunt praesent semper feugiat nibh sed pulvinar. Curabitur vitae nunc sed velit dignissim sodales ut eu sem. Arcu odio ut sem nulla pharetra diam sit amet. Vitae justo eget magna fermentum iaculis. Sit amet consectetur adipiscing elit ut aliquam. Suspendisse sed nisi lacus sed viverra tellus in hac. Arcu felis bibendum ut tristique et egestas. Egestas pretium aenean pharetra magna ac placerat vestibulum. Tempus egestas sed sed risus pretium quam vulputate. + +Quam nulla porttitor massa id neque. Convallis convallis tellus id interdum velit laoreet id donec ultrices. In mollis nunc sed id semper risus in. Id nibh tortor id aliquet. Amet mattis vulputate enim nulla aliquet porttitor lacus. Eget nulla facilisi etiam dignissim diam quis enim lobortis scelerisque. Interdum consectetur libero id faucibus nisl tincidunt eget nullam. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Facilisis mauris sit amet massa vitae tortor. Massa placerat duis ultricies lacus sed. Lectus sit amet est placerat in egestas erat imperdiet. Tempus egestas sed sed risus. Congue eu consequat ac felis donec et odio pellentesque diam. Volutpat lacus laoreet non curabitur gravida arcu. Tortor dignissim convallis aenean et tortor. Pretium vulputate sapien nec sagittis aliquam malesuada bibendum arcu. Sit amet luctus venenatis lectus magna fringilla urna porttitor. + +Elementum pulvinar etiam non quam. Vulputate enim nulla aliquet porttitor lacus luctus accumsan tortor posuere. Ut tristique et egestas quis ipsum suspendisse ultrices gravida dictum. Dui ut ornare lectus sit. Commodo sed egestas egestas fringilla phasellus faucibus scelerisque eleifend. Venenatis cras sed felis eget velit. Lectus mauris ultrices eros in cursus turpis massa tincidunt dui. Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna. Sed odio morbi quis commodo odio aenean. Adipiscing at in tellus integer feugiat scelerisque varius. Massa sapien faucibus et molestie ac feugiat sed. Dolor purus non enim praesent elementum facilisis. Vitae suscipit tellus mauris a diam maecenas. Vel fringilla est ullamcorper eget nulla facilisi etiam dignissim diam. Vitae et leo duis ut diam quam. Lectus quam id leo in vitae turpis. Vitae ultricies leo integer malesuada nunc. + +Ornare lectus sit amet est placerat in egestas erat. Massa vitae tortor condimentum lacinia quis vel. Ornare massa eget egestas purus. Varius quam quisque id diam vel quam. Convallis tellus id interdum velit. Aenean pharetra magna ac placerat vestibulum. Vitae congue eu consequat ac felis donec et. Dignissim suspendisse in est ante in nibh mauris. Lobortis scelerisque fermentum dui faucibus in ornare. At urna condimentum mattis pellentesque id nibh tortor id. Purus non enim praesent elementum facilisis leo vel. Rutrum quisque non tellus orci ac auctor augue mauris. Eget arcu dictum varius duis at consectetur lorem. Elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Quam pellentesque nec nam aliquam sem. Dignissim convallis aenean et tortor at risus viverra adipiscing at. Ante in nibh mauris cursus. At risus viverra adipiscing at in tellus. + +Duis at tellus at urna condimentum. Felis bibendum ut tristique et egestas quis. Diam vel quam elementum pulvinar etiam non quam lacus suspendisse. Dui accumsan sit amet nulla facilisi morbi tempus iaculis. Congue eu consequat ac felis donec et. Mattis pellentesque id nibh tortor id aliquet lectus proin. Interdum varius sit amet mattis vulputate enim nulla. Aenean et tortor at risus viverra adipiscing at in. Diam volutpat commodo sed egestas egestas. Nulla pharetra diam sit amet nisl. Odio pellentesque diam volutpat commodo sed egestas egestas fringilla. Augue interdum velit euismod in pellentesque massa. Tempus egestas sed sed risus. Id semper risus in hendrerit gravida rutrum quisque non. Cras ornare arcu dui vivamus arcu felis bibendum ut. Vitae ultricies leo integer malesuada nunc vel risus commodo viverra. Volutpat diam ut venenatis tellus in metus. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/contact/_index.md b/themes/terrassa/exampleSite/content/contact/_index.md new file mode 100644 index 0000000..199af07 --- /dev/null +++ b/themes/terrassa/exampleSite/content/contact/_index.md @@ -0,0 +1,8 @@ +--- +title: "Contact" +description: "Send me a message!" +images: [] +draft: false +menu: main +weight: 4 +--- \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/posts/16-things-free-songs.md b/themes/terrassa/exampleSite/content/posts/16-things-free-songs.md new file mode 100644 index 0000000..0c046d8 --- /dev/null +++ b/themes/terrassa/exampleSite/content/posts/16-things-free-songs.md @@ -0,0 +1,20 @@ +--- +title: "16 things that won't happen in free songs" +description: "Why country music festivals will change your life." +date: 2018-12-17T22:21:42+01:00 +publishDate: 2018-12-19T22:21:42+01:00 +author: "John Doe" +images: [] +draft: false +tags: ["music", "songs" , "free"] +--- + +5 ways country song ringtones can make you rich. [Why country music festivals will change your life](#). The unconventional guide to music notes. Why our world would end if music videos disappeared. 8 insane (but true) things about top country songs. How twitter can teach you about popular songs. 13 facts about latin music videos that'll keep you up at night. Why do people think free dances are a good idea? Why your free song never works out the way you plan. The 6 best music video youtube videos. + +> "The unconventional guide to piano stores. Why concert events should be 1 of the 7 deadly sins". + +How free dances are making the world a better place. 7 least favorite music videos. 7 ways live shows could leave you needing a lawyer. 11 great articles about popular songs. [7 movies with unbelievable scenes about free songs](#). If you read one article about billboard music awards read this one. 18 ways latin music videos could leave you needing a lawyer. How best rock songs can help you live a better life. The 17 best country music festival twitter feeds to follow. Expose: you're losing money by not using top country songs. + +[How jazz coffee bars can help you predict the future](#). What wikipedia can't tell you about music festivals. 10 bs facts about rock bands everyone thinks are true. What the world would be like if summer music festivals didn't exist. How hollywood got latin music videos all wrong. Why pop music books are on crack about pop music books. The evolution of top country songs. How not knowing pop music books makes you a rookie. Why do people think concert tickets are a good idea? How twitter can teach you about jazz coffee bars. + +6 ways top country songs can make you rich. [7 facts about summer music festivals that'll keep you up at night](#). 8 problems with free dances. What everyone is saying about music festivals. Free songs by the numbers. Why concert tickets are on crack about concert tickets. 9 problems with live shows. Why popular songs are on crack about popular songs. The unconventional guide to piano stores. Why concert events should be 1 of the 7 deadly sins. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/posts/_index.md b/themes/terrassa/exampleSite/content/posts/_index.md new file mode 100644 index 0000000..02c64d7 --- /dev/null +++ b/themes/terrassa/exampleSite/content/posts/_index.md @@ -0,0 +1,8 @@ +--- +title: "Blog" +description: "" +images: [] +draft: false +menu: main +weight: 2 +--- \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/posts/bad-architects.md b/themes/terrassa/exampleSite/content/posts/bad-architects.md new file mode 100644 index 0000000..66bee48 --- /dev/null +++ b/themes/terrassa/exampleSite/content/posts/bad-architects.md @@ -0,0 +1,30 @@ +--- +title: "How architects aren't as bad as you think" +description: "Why living room ideas are killing you." +date: 2018-12-16T22:34:04+01:00 +publishDate: 2018-12-19T22:21:42+01:00 +author: "John Doe" +images: [] +draft: false +tags: ["health", "music", "architecture"] +--- + +6 uses for living room decors. [Why living room ideas are killing you](#). The oddest place you will find decorating ideas. Why the world would end without apartment guides. 12 things that won't happen in interior design ideas. How twitter can teach you about bathroom designs. The 12 best floor plan youtube videos. 9 bs facts about living room decors everyone thinks are true. The only home builder resources you will ever need. How decorating ideas can help you predict the future. + +> "Show me the code". + +[The 10 best resources for modular homes](#). Home builders by the numbers. *Why you'll never succeed at interior design ideas*. 12 myths uncovered about small house plans. How designer furniture can help you live a better life. Why the world would end without floor plans. How hollywood got interior designs all wrong. An expert interview about kitchen designs. Why our world would end if bathroom designs disappeared. Why mom was right about bathroom designs. + +```golang +package main + +import "fmt" + +func main() { + fmt.Println("Hello, Gopher!") +} +``` + +How building is making the world a better place. **An expert interview about living room ideas**. What everyone is saying about modern living rooms. The 20 best interior design twitter feeds to follow. How to be unpopular in the designer furniture world. [Why mom was right about apartments](#). What the world would be like if kitchen designs didn't exist. The 19 biggest studio apartment blunders. 9 great articles about kitchen planners. How to start using kitchen planners. + +Why luxury homes are killing you. 12 least favorite interior designs. How to cheat at luxury homes and get away with it. How floor plans made me a better person. [Why floor plans should be 1 of the 7 deadly sins](#). If you read one article about modern homes read this one. Architectural designs in 11 easy steps. The 19 worst architectural designs in history. How rent houses changed how we think about death. 6 insane (but true) things about small house plans. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/posts/game-websites/images/dummy-image.jpg b/themes/terrassa/exampleSite/content/posts/game-websites/images/dummy-image.jpg new file mode 100644 index 0000000..f70edb8 Binary files /dev/null and b/themes/terrassa/exampleSite/content/posts/game-websites/images/dummy-image.jpg differ diff --git a/themes/terrassa/exampleSite/content/posts/game-websites/index.md b/themes/terrassa/exampleSite/content/posts/game-websites/index.md new file mode 100644 index 0000000..d8ec181 --- /dev/null +++ b/themes/terrassa/exampleSite/content/posts/game-websites/index.md @@ -0,0 +1,24 @@ +--- +title: "How game websites can help you live a better life" +description: "The 6 best dish review twitter feeds to follow." +date: 2018-12-19T22:32:19+01:00 +publishDate: 2018-12-19T22:21:42+01:00 +author: "John Doe" +images: [] +draft: false +tags: ["health", "cooking"] +--- + +[How to cheat at dish reviews and get away with it](#). The 6 best dish review twitter feeds to follow. The best ways to utilize minute meals. The best ways to utilize safe food handling tips. The best ways to utilize safe food handling tips. 17 facts about food processors that will impress your friends. How cooking healthy food is making the world a better place. Why you'll never succeed at healthy eating facts. 16 things you don't want to hear about chefs. 9 uses for mexican food. + +![Dummy image.](./images/dummy-image.jpg) + +The unconventional guide to chicken dishes. Why food networks beat peanut butter on pancakes. How fast food isn't as bad as you think. If you read one article about restaurant weeks read this one. Why delicious food is afraid of the truth. Why meatloaf recipes will make you question everything. The oddest place you will find food networks. 16 great articles about breakfast casseroles. Why the next 10 years of healthy cooking tips will smash the last 10. The 16 biggest food network blunders. + +{{< figure src="./images/dummy-image.jpg" title="Dummy image using Hugo shortcode." >}} + +11 things that won't happen in minute meals. [Why mom was right about mexican food](#). 20 facts about chefs that will impress your friends. 7 uses for delicious food. How to cheat at dish reviews and get away with it. Unbelievable dish review success stories. Why your food network never works out the way you plan. Why food processors are the new black. Why our world would end if healthy lunch ideas disappeared. The 12 best resources for healthy eating facts. + +Dummy image with HTML. + +14 ways chef uniforms can make you rich. An expert interview about healthy eating facts. 17 things that won't happen in fast food. The 16 worst songs about food stamps. 20 podcasts about thai restaurants. 12 ways easy meals can make you rich. Why restaurant weeks should be 1 of the 7 deadly sins. 15 ideas you can steal from safe food handling tips. Why mexican food is the new black. Why healthy cooking tips are the new black. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/posts/preventative-medicines.md b/themes/terrassa/exampleSite/content/posts/preventative-medicines.md new file mode 100644 index 0000000..b7664a3 --- /dev/null +++ b/themes/terrassa/exampleSite/content/posts/preventative-medicines.md @@ -0,0 +1,18 @@ +--- +title: "Why preventative medicines are afraid of the truth" +description: "Why vaccination schedules will change your life." +date: 2018-12-07T22:30:56+01:00 +publishDate: 2018-12-19T22:21:42+01:00 +author: "John Doe" +images: [] +draft: false +tags: ["medicine", "health"] +--- + +Why vaccination schedules will change your life. How weight loss meal plans can help you live a better life. How not knowing fitness equipment makes you a rookie. The 18 best resources for fitness equipment. 9 problems with home health care products. [17 amazing health care provider picturesi](#). How nutrition facts make you a better lover. The oddest place you will find home health care products. The 15 best health question twitter feeds to follow. Why our world would end if preventative medicines disappeared. + +How hollywood got travel medicines all wrong. Expose: you're losing money by not using health care solutions. 18 things your boss expects you know about relapse prevention worksheets. 5 ways vaccination schedules can make you rich. 14 things you don't want to hear about vaccination schedules. The evolution of vaccine ingredients. 19 movies with unbelievable scenes about fitness programs. 17 amazing health care solution pictures. 11 things you don't want to hear about travel vaccines. 12 movies with unbelievable scenes about travel vaccines. + +What the world would be like if naturopathic medicines didn't exist. 11 myths uncovered about vaccine ingredients. 9 facts about healthy eating meal plans that'll keep you up at night. Home health care products by the numbers. Why mom was right about health quotes. Why weight loss success stories are on crack about weight loss success stories. What experts are saying about travel medicines. Expose: you're losing money by not using weight loss meal plans. [What wikipedia can't tell you about vaccine ingredientsi](#). 20 facts about fitness magazines that will impress your friends. + +18 ways home health care products could leave you needing a lawyer. 6 ways healthy eating tips could leave you needing a lawyer. Why nutrition label makers are on crack about nutrition label makers. Why mom was right about health questions. [Why online nutrition courses will make you question everything](#). 12 facts about health informatics that will impress your friends. 16 facts about health informatics that will impress your friends. The oddest place you will find weight loss meal plans. 16 things about health informatics your kids don't want you to know. What experts are saying about fitness programs. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/sections/simple-choices.md b/themes/terrassa/exampleSite/content/sections/simple-choices.md new file mode 100644 index 0000000..f0304cb --- /dev/null +++ b/themes/terrassa/exampleSite/content/sections/simple-choices.md @@ -0,0 +1,8 @@ +--- +title : "Simple Choices" +description: "" +draft: false +weight: 2 +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/sections/simple-people.md b/themes/terrassa/exampleSite/content/sections/simple-people.md new file mode 100644 index 0000000..2caed07 --- /dev/null +++ b/themes/terrassa/exampleSite/content/sections/simple-people.md @@ -0,0 +1,10 @@ +--- +title : "Simple People" +description: "" +draft: false +weight: 3 +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/sections/simple-values.md b/themes/terrassa/exampleSite/content/sections/simple-values.md new file mode 100644 index 0000000..872fcde --- /dev/null +++ b/themes/terrassa/exampleSite/content/sections/simple-values.md @@ -0,0 +1,8 @@ +--- +title : "Simple Values" +description: "" +draft: false +weight: 1 +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \ No newline at end of file diff --git a/themes/terrassa/exampleSite/content/sections/simple.md b/themes/terrassa/exampleSite/content/sections/simple.md new file mode 100644 index 0000000..7031576 --- /dev/null +++ b/themes/terrassa/exampleSite/content/sections/simple.md @@ -0,0 +1,8 @@ +--- +title : "Simple" +description: "" +draft: false +weight: 4 +--- + +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. \ No newline at end of file diff --git a/themes/terrassa/images/blog-screenshot.png b/themes/terrassa/images/blog-screenshot.png new file mode 100644 index 0000000..3a84a99 Binary files /dev/null and b/themes/terrassa/images/blog-screenshot.png differ diff --git a/themes/terrassa/images/screenshot.png b/themes/terrassa/images/screenshot.png new file mode 100644 index 0000000..c0c3bf2 Binary files /dev/null and b/themes/terrassa/images/screenshot.png differ diff --git a/themes/terrassa/images/tn.png b/themes/terrassa/images/tn.png new file mode 100644 index 0000000..f512243 Binary files /dev/null and b/themes/terrassa/images/tn.png differ diff --git a/themes/terrassa/layouts/404.html b/themes/terrassa/layouts/404.html new file mode 100644 index 0000000..2384d5a --- /dev/null +++ b/themes/terrassa/layouts/404.html @@ -0,0 +1,5 @@ +{{ define "main" }} +
+

404

+
+{{ end }} \ No newline at end of file diff --git a/themes/terrassa/layouts/_default/baseof.html b/themes/terrassa/layouts/_default/baseof.html new file mode 100644 index 0000000..6e1a936 --- /dev/null +++ b/themes/terrassa/layouts/_default/baseof.html @@ -0,0 +1,11 @@ + + +{{- partial "head.html" . -}} + + + {{- partial "header.html" . -}} + {{- block "main" . }}{{- end }} + {{- partial "footer.html" . -}} + + + \ No newline at end of file diff --git a/themes/terrassa/layouts/_default/card.html b/themes/terrassa/layouts/_default/card.html new file mode 100644 index 0000000..6a184f1 --- /dev/null +++ b/themes/terrassa/layouts/_default/card.html @@ -0,0 +1,28 @@ +
+
+

+ + {{ .Title }} + +

+ {{ if ne .Type "page" }} + {{ if and $.Site.Params.posts.showDate $.Site.Params.posts.showAuthor }} +

+ {{ dateFormat $.Site.Params.posts.dateFormat .Date }} By {{ $.Params.author }}. +

+ {{ else if $.Site.Params.posts.showDate }} +

{{ dateFormat $.Site.Params.posts.dateFormat .Date }}

+ {{ else if $.Site.Params.posts.showAuthor }} +

By {{ $.Params.author }}.

+ {{ end }} + {{ end }} +
+ +
+ {{ .Content | truncate 480 }} +
+ +
+ {{ .Render "tags" }} +
+
\ No newline at end of file diff --git a/themes/terrassa/layouts/_default/list.html b/themes/terrassa/layouts/_default/list.html new file mode 100644 index 0000000..c01a3b6 --- /dev/null +++ b/themes/terrassa/layouts/_default/list.html @@ -0,0 +1,11 @@ +{{ define "main" }} +
+ {{ $paginator := .Paginate (where .Data.Pages.ByDate.Reverse "Type" "posts") }} + + {{ range $paginator.Pages }} + {{ .Render "card" }} + {{ end }} + + {{ template "_internal/pagination.html" . }} +
+{{ end }} \ No newline at end of file diff --git a/themes/terrassa/layouts/_default/single.html b/themes/terrassa/layouts/_default/single.html new file mode 100644 index 0000000..f6b15ae --- /dev/null +++ b/themes/terrassa/layouts/_default/single.html @@ -0,0 +1,31 @@ +{{ define "main" }} +
+
+

{{ .Title }}

+ {{ if .Description }} +

{{ .Description }}

+ {{ end }} + {{ if ne .Type "page" }} + {{ if and $.Site.Params.posts.showDate $.Site.Params.posts.showAuthor }} + + {{ else if $.Site.Params.posts.showDate }} + + {{ else if $.Site.Params.posts.showAuthor }} + + {{ end }} + {{ end }} +
+ +
+ {{ .Content }} +
+ + {{ if ne .Type "page" }} +
+ {{ .Render "tags" }} +
+ {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/themes/terrassa/layouts/_default/tags.html b/themes/terrassa/layouts/_default/tags.html new file mode 100644 index 0000000..4618ae3 --- /dev/null +++ b/themes/terrassa/layouts/_default/tags.html @@ -0,0 +1,12 @@ +{{ if and $.Site.Params.posts.showTags .Params.Tags }} + +{{ end }} diff --git a/themes/terrassa/layouts/contact/list.html b/themes/terrassa/layouts/contact/list.html new file mode 100644 index 0000000..83b7402 --- /dev/null +++ b/themes/terrassa/layouts/contact/list.html @@ -0,0 +1,46 @@ +{{ define "main" }} +
+

{{ .Title }}

+

{{ .Description }}

+ + {{ if $.Site.Params.form.netlify }} +
+ {{ else }} + + {{ end }} + + +
+ + +
+ + + + + +
+ + +
+ + +
+ +
+ +
+
+{{ end }} \ No newline at end of file diff --git a/themes/terrassa/layouts/index.html b/themes/terrassa/layouts/index.html new file mode 100644 index 0000000..8575e89 --- /dev/null +++ b/themes/terrassa/layouts/index.html @@ -0,0 +1,4 @@ +{{ define "main" }} +{{ partial "hero.html" . }} +{{ partial "sections.html" . }} +{{ end }} \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/cta-btn.html b/themes/terrassa/layouts/partials/cta-btn.html new file mode 100644 index 0000000..1d7b73f --- /dev/null +++ b/themes/terrassa/layouts/partials/cta-btn.html @@ -0,0 +1,4 @@ + + {{ .Site.Params.cta.cta }} + \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/footer.html b/themes/terrassa/layouts/partials/footer.html new file mode 100644 index 0000000..b2b27bc --- /dev/null +++ b/themes/terrassa/layouts/partials/footer.html @@ -0,0 +1,66 @@ + \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/hamburger-menu.html b/themes/terrassa/layouts/partials/hamburger-menu.html new file mode 100644 index 0000000..40a9ad8 --- /dev/null +++ b/themes/terrassa/layouts/partials/hamburger-menu.html @@ -0,0 +1,18 @@ + \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/head.html b/themes/terrassa/layouts/partials/head.html new file mode 100644 index 0000000..a2885d2 --- /dev/null +++ b/themes/terrassa/layouts/partials/head.html @@ -0,0 +1,21 @@ + + + + + + {{ .Site.Title }} - {{ .Title }} + + + + {{ .Hugo.Generator }} + + {{ if .Site.GoogleAnalytics }} + {{ template "_internal/google_analytics.html" . }} + {{ end }} + + {{ template "_internal/twitter_cards.html" . }} + {{ template "_internal/opengraph.html" . }} + + + {{ partial "styles.html" . }} + \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/header.html b/themes/terrassa/layouts/partials/header.html new file mode 100644 index 0000000..73142ae --- /dev/null +++ b/themes/terrassa/layouts/partials/header.html @@ -0,0 +1,14 @@ +
+ + + {{ partial "menu.html" . }} + {{ partial "hamburger-menu.html" . }} +
diff --git a/themes/terrassa/layouts/partials/hero.html b/themes/terrassa/layouts/partials/hero.html new file mode 100644 index 0000000..138d674 --- /dev/null +++ b/themes/terrassa/layouts/partials/hero.html @@ -0,0 +1,10 @@ +
+
+ {{ .Content }} + {{ if .Site.Params.cta.show }} + {{ partial "cta-btn.html" . }} + {{ end }} +
+
\ No newline at end of file diff --git a/themes/terrassa/layouts/partials/menu.html b/themes/terrassa/layouts/partials/menu.html new file mode 100644 index 0000000..abfb92b --- /dev/null +++ b/themes/terrassa/layouts/partials/menu.html @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/scripts.html b/themes/terrassa/layouts/partials/scripts.html new file mode 100644 index 0000000..46beb79 --- /dev/null +++ b/themes/terrassa/layouts/partials/scripts.html @@ -0,0 +1,8 @@ +{{ $header := resources.Get "js/header.js" }} +{{ $form := resources.Get "js/form.js" }} +{{ $bundle := slice $header $form | resources.Concat "js/bundle.js" }} +{{ $js := $bundle | resources.Minify | resources.Fingerprint "sha512" }} + + + \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/section.html b/themes/terrassa/layouts/partials/section.html new file mode 100644 index 0000000..ef05877 --- /dev/null +++ b/themes/terrassa/layouts/partials/section.html @@ -0,0 +1,6 @@ +
+

{{ .Title }}

+
+ {{ .Content }} +
+
\ No newline at end of file diff --git a/themes/terrassa/layouts/partials/sections.html b/themes/terrassa/layouts/partials/sections.html new file mode 100644 index 0000000..6d4cfc3 --- /dev/null +++ b/themes/terrassa/layouts/partials/sections.html @@ -0,0 +1,10 @@ +{{ $items := (where $.Site.RegularPages "Type" "sections") }} +{{ $len := (len $items) }} + +{{ range $i, $e := $items }} +{{ partial "section.html" .}} + +{{ if ne (add $i 1) $len }} +{{ partial "separator.html" . }} +{{ end }} +{{ end}} \ No newline at end of file diff --git a/themes/terrassa/layouts/partials/separator.html b/themes/terrassa/layouts/partials/separator.html new file mode 100644 index 0000000..e890b22 --- /dev/null +++ b/themes/terrassa/layouts/partials/separator.html @@ -0,0 +1,3 @@ +
+ +
\ No newline at end of file diff --git a/themes/terrassa/layouts/partials/styles.html b/themes/terrassa/layouts/partials/styles.html new file mode 100644 index 0000000..4dd5827 --- /dev/null +++ b/themes/terrassa/layouts/partials/styles.html @@ -0,0 +1,9 @@ +{{ $reset := resources.Get "css/reset.css" }} +{{ $base := resources.Get "css/base.css" }} +{{ $style := resources.Get "css/style.css" }} +{{ $media := resources.Get "css/media-queries.css" }} +{{ $animations := resources.Get "css/animations.css" }} +{{ $bundle := slice $reset $base $style $media $animations | resources.Concat "css/bundle.css" }} +{{ $css := $bundle | resources.Minify | resources.Fingerprint "sha512" }} + + \ No newline at end of file diff --git a/themes/terrassa/makefile b/themes/terrassa/makefile new file mode 100644 index 0000000..6f35a8a --- /dev/null +++ b/themes/terrassa/makefile @@ -0,0 +1,29 @@ +IMAGE_NAME=terrassa +APP_NAME=terrassa +IMAGE_PORT=80 +HOST_PORT=80 +HUGO_SITE=exampleSite +HUGO_BASE_URL=https://danielkvist.github.io/terrassa/ + +build: + cd ./$(HUGO_SITE) && hugo +build-min: + cd ./$(HUGO_SITE) && hugo --minify +build-deploy: + cd ./$(HUGO_SITE) && hugo --minify --baseURL="$(HUGO_BASE_URL)" +server: + cd ./$(HUGO_SITE) && hugo server -w +server-draft: + cd ./$(HUGO_SITE) && hugo server -w -D +docker: + docker image build --build-arg HUGO_SITE=$(HUGO_SITE) --build-arg EXPOSE=$(IMAGE_PORT) -t $(IMAGE_NAME) . +docker-nc: + docker image build --build-arg HUGO_SITE=$(HUGO_SITE) --build-arg EXPOSE=$(IMAGE_PORT) --no-cache -t $(IMAGE_NAME) . +run: + docker container run -d -p $(IMAGE_PORT):$(HOST_PORT) --name $(APP_NAME) $(IMAGE_NAME) +stop: + docker container stop $(APP_NAME) +rm: + docker container rm $(APP_NAME) +clean: + docker container stop $(APP_NAME) && docker container rm $(APP_NAME) && docker image rm $(IMAGE_NAME) && cd ./$(HUGO_SITE) && rm -rf ./public diff --git a/themes/terrassa/static/favicon.ico b/themes/terrassa/static/favicon.ico new file mode 100644 index 0000000..3669333 Binary files /dev/null and b/themes/terrassa/static/favicon.ico differ diff --git a/themes/terrassa/static/images/undraw_freelancer_b0my.svg b/themes/terrassa/static/images/undraw_freelancer_b0my.svg new file mode 100644 index 0000000..5c94559 --- /dev/null +++ b/themes/terrassa/static/images/undraw_freelancer_b0my.svg @@ -0,0 +1 @@ +freelancer \ No newline at end of file diff --git a/themes/terrassa/static/logo.svg b/themes/terrassa/static/logo.svg new file mode 100644 index 0000000..69a2301 --- /dev/null +++ b/themes/terrassa/static/logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/themes/terrassa/theme.toml b/themes/terrassa/theme.toml new file mode 100644 index 0000000..5ef4ccc --- /dev/null +++ b/themes/terrassa/theme.toml @@ -0,0 +1,18 @@ +name = "Terrassa" +license = "MIT" +licenselink = "https://github.com/danielkvist/hugo-terrassa-theme/blob/master/LICENSE" +description = "A simple, fast and responsive theme for Hugo with a strong focus on accessibility." +homepage = "http://github.com/danielkvist/hugo-terrassa-theme" +tags = ["blog", "clean", "personal", "company", "google analytics", "contact form","mobile", "modern", "accessibility", "font awesome"] +features = [ + "responsive design", + "accessibility", + "social icons", + "contact form", + "blog", +] +min_version = "0.41" + +[author] + name = "Danielkvist (Daniel Zaragoza)" + homepage = "https://dkvist.com" diff --git a/themes/terrassa/usage.sh b/themes/terrassa/usage.sh new file mode 100755 index 0000000..23d8d60 --- /dev/null +++ b/themes/terrassa/usage.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +make build +make docker-nc +make run \ No newline at end of file -- cgit v1.2.3