feat: add prettier
continuous-integration/drone/push Build is passing Details

This commit is contained in:
kolaente 2022-01-29 18:53:15 +01:00
parent 0eb40547ec
commit 6f3c075669
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
24 changed files with 635 additions and 431 deletions

View File

@ -2,59 +2,59 @@ kind: pipeline
name: build
trigger:
event:
- push
event:
- push
steps:
- name: build
image: node:16
pull: true
group: build-static
commands:
- yarn --frozen-lockfile
- yarn prod
- yarn clean
- yarn release
- name: build
image: node:16
pull: true
group: build-static
commands:
- yarn --frozen-lockfile
- yarn prod
- yarn clean
- yarn release
- name: release
image: plugins/s3:1
pull: true
settings:
bucket: vikunja-releases
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
path_style: true
strip_prefix: dist/
source: dist/vikunja-theme.tar.gz
target: /theme/
when:
event: [ push ]
branch: [ main ]
- name: release
image: plugins/s3:1
pull: true
settings:
bucket: vikunja-releases
access_key:
from_secret: aws_access_key_id
secret_key:
from_secret: aws_secret_access_key
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
path_style: true
strip_prefix: dist/
source: dist/vikunja-theme.tar.gz
target: /theme/
when:
event: [push]
branch: [main]
---
kind: pipeline
name: trigger-website-update
trigger:
branch:
- main
event:
- push
branch:
- main
event:
- push
depends_on:
- build
- build
steps:
- name: trigger
image: plugins/downstream
settings:
server: https://drone.kolaente.de
token:
from_secret: drone_token
repositories:
- vikunja/website@main
- vikunja/blog@main
- vikunja/api@main
- name: trigger
image: plugins/downstream
settings:
server: https://drone.kolaente.de
token:
from_secret: drone_token
repositories:
- vikunja/website@main
- vikunja/blog@main
- vikunja/api@main

5
.prettierignore Normal file
View File

@ -0,0 +1,5 @@
.idea/
node_modules/
static/css/*.css
dist/
yarn-error.log

15
.prettierrc Normal file
View File

@ -0,0 +1,15 @@
{
"tabWidth": 4,
"useTabs": true,
"goTemplateBracketSpacing": true,
"printWidth": 100,
"singleQuote": true,
"overrides": [
{
"files": ["*.html"],
"options": {
"parser": "go-template"
}
}
]
}

View File

@ -1,13 +1,22 @@
{{ partial "header.html" . }}
<section class="w-full h-screen bg-yellow-200 flex items-center justify-center flex-col">
<h1 class="font-title pb-8 text-5xl font-bold">
Page not found
</h1>
<a href="/" class="flex items-center">
<svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 mr-2" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 19l-7-7m0 0l7-7m-7 7h18" />
</svg>
Back to home page
</a>
</section>
{{ define "main" }}
<section class="flex h-screen w-full flex-col items-center justify-center bg-yellow-200">
<h1 class="pb-8 font-title text-5xl font-bold">Page not found</h1>
<a href="/" class="flex items-center">
<svg
xmlns="http://www.w3.org/2000/svg"
class="mr-2 h-6 w-6"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M10 19l-7-7m0 0l7-7m-7 7h18"
/>
</svg>
Back to home page
</a>
</section>
{{ end }}

View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html lang="en">
<head>
{{ partial "header.html" . }}
</head>
<body class="bg-gray-50 text-gray-900 antialiased">
{{ partial "navbar.html" . }}
{{ block "main" . }}
{{ end }}
{{ partial "footer.html" . }}
</body>
</html>

View File

@ -1,25 +1,24 @@
{{ partial "header.html" . }}
<div class="max-w-screen-xl flex mx-auto lg:pt-8 flex-col lg:flex-row">
<div class="w-full lg:w-1/4">
{{ partial "menu" . }}
</div>
<article class="w-full lg:w-3/4 p-4 pt-6 lg:pt-2">
<div class="max-w-none prose prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-h1:font-title prose-h1:font-bold prose-img:rounded-sm">
{{ partial "headline-hash.html" . }}
{{ range .Pages.GroupBy "Section" }}
<h3>{{ .Key | title }}</h3>
<ul>
{{ range .Pages }}
<li>
<a href="{{ .Permalink }}">{{ .Title }}</a>
</li>
{{ define "main" }}
<div class="mx-auto flex max-w-screen-xl flex-col lg:flex-row lg:pt-8">
<div class="w-full lg:w-1/4">{{ partial "menu" . }}</div>
<article class="w-full p-4 pt-6 lg:w-3/4 lg:pt-2">
<div
class="prose max-w-none prose-h1:font-title prose-h1:font-bold prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-img:rounded-sm"
>
{{ partial "headline-hash.html" . }}
{{ range .Pages.GroupBy
"Section"
}}
<h3>{{ .Key | title }}</h3>
<ul>
{{ range .Pages }}
<li>
<a href="{{ .Permalink }}">{{ .Title }}</a>
</li>
{{ end }}
</ul>
{{ end }}
</ul>
{{ end }}
</div>
</article>
</div>
{{ partial "footer.html" . }}
</div>
</article>
</div>
{{ end }}

View File

@ -1,7 +1,5 @@
{{ partial "header.html" . }}
<article class="max-w-screen-xl mx-auto mt-4 px-4 lg:px-0">
{{ partial "prose.html" .Content }}
</article>
{{ partial "footer.html" . }}
{{ define "main" }}
<article class="mx-auto mt-4 max-w-screen-xl px-4 lg:px-0">
{{ partial "prose.html" .Content }}
</article>
{{ end }}

View File

@ -1,12 +1,8 @@
{{ partial "header.html" . }}
<div class="max-w-screen-xl flex mx-auto lg:pt-8 flex-col lg:flex-row">
<div class="w-full lg:w-1/4">
{{ partial "menu" . }}
{{ define "main" }}
<div class="mx-auto flex max-w-screen-xl flex-col lg:flex-row lg:pt-8">
<div class="w-full lg:w-1/4">{{ partial "menu" . }}</div>
<article class="w-full p-4 pt-6 lg:w-3/4 lg:pt-2">
{{ partial "prose.html" .Content }}
</article>
</div>
<article class="w-full lg:w-3/4 p-4 pt-6 lg:pt-2">
{{ partial "prose.html" .Content }}
</article>
</div>
{{ partial "footer.html" . }}
{{ end }}

View File

@ -1,41 +1,55 @@
{{ partial "header.html" . }}
{{ define "main" }}
<section
class="flex min-h-screen w-full flex-col items-center justify-center bg-hero-llama bg-cover pb-8 text-center font-title font-bold text-white"
>
<div class="mt-48 mb-32">
{{ if .Params.heading }}
{{ if .Params.heading.heading }}
<h1 class="mb-4 text-5xl">
{{ .Params.heading.heading | markdownify }}
</h1>
{{ end }}
{{ if .Params.heading.content }}
<h3 class="mb-6 text-3xl">
{{ .Params.heading.content | markdownify }}
</h3>
{{ end }}
{{ if .Params.heading.subtitle }}
<h4 class="text-xl">
{{ .Params.heading.subtitle | markdownify }}
</h4>
{{ end }}
{{ if .Params.heading.subsubtitle }}
<h4 class="text-lg">
{{ .Params.heading.subsubtitle | markdownify }}
</h4>
{{ end }}
<section class="w-full min-h-screen bg-hero-llama bg-cover flex items-center justify-center flex-col text-white font-title font-bold text-center pb-8">
<div class="mt-48 mb-32">
{{ if .Params.heading }}
{{ if .Params.heading.heading }}
<h1 class="text-5xl mb-4">{{.Params.heading.heading | markdownify}}</h1>
{{end}}
{{ if .Params.heading.content }}
<h3 class="text-3xl mb-6">{{.Params.heading.content | markdownify}}</h3>
{{end}}
{{ if .Params.heading.subtitle }}
<h4 class="text-xl">{{.Params.heading.subtitle | markdownify}}</h4>
{{end}}
{{ if .Params.heading.subsubtitle }}
<h4 class="text-lg">{{.Params.heading.subsubtitle | markdownify}}</h4>
{{end}}
{{end}}
{{ end }}
<div class="flex py-4 space-x-2 justify-center">
<a href="https://try.vikunja.io"
class="px-4 py-2 border border-transparent shadow text-xl font-medium rounded-md text-white bg-primary hover:bg-primary-darker cursor-pointer">
Try it
</a>
<a href="/features"
class="px-4 py-2 border border-transparent shadow text-xl font-medium rounded-md text-white bg-primary hover:bg-primary-darker cursor-pointer">
Features
</a>
<div class="flex justify-center space-x-2 py-4">
<a
href="https://try.vikunja.io"
class="cursor-pointer rounded-md border border-transparent bg-primary px-4 py-2 text-xl font-medium text-white shadow hover:bg-primary-darker"
>
Try it
</a>
<a
href="/features"
class="cursor-pointer rounded-md border border-transparent bg-primary px-4 py-2 text-xl font-medium text-white shadow hover:bg-primary-darker"
>
Features
</a>
</div>
</div>
</div>
<div class="max-w-screen-xl rounded-sm overflow-hidden shadow-lg">
<picture class="object-contain object-top w-full">
<source srcset="/images/vikunja-task-overview.webp" type="image/webp"/>
<source srcset="/images/vikunja-task-overview.png" type="image/png"/>
<img src="/images/vikunja-task-overview.png" alt=""/>
</picture>
</div>
</section>
{{ partial "footer.html" . }}
<div class="max-w-screen-xl overflow-hidden rounded-sm shadow-lg">
<picture class="w-full object-contain object-top">
<source srcset="/images/vikunja-task-overview.webp" type="image/webp" />
<source srcset="/images/vikunja-task-overview.png" type="image/png" />
<img src="/images/vikunja-task-overview.png" alt="" />
</picture>
</div>
</section>
{{ end }}

View File

@ -1,109 +1,171 @@
<footer class="mt-12 border-t-2 border-gray-200 py-8 px-4 md:px-0 md:flex text-left text-sm text-gray-800 mx-auto max-w-screen-xl">
<div class="w-full md:w-2/5 flex flex-col">
<img src="{{ .Site.BaseURL }}images/vikunja-logo.svg" alt="{{ .Site.Title }}" class="h-8" width="109"
height="32"/>
<footer
class="mx-auto mt-12 max-w-screen-xl border-t-2 border-gray-200 py-8 px-4 text-left text-sm text-gray-800 md:flex md:px-0"
>
<div class="flex w-full flex-col md:w-2/5">
<img
src="{{ .Site.BaseURL }}images/vikunja-logo.svg"
alt="{{ .Site.Title }}"
class="h-8"
width="109"
height="32"
/>
<p class="py-4 text-gray-600">
&copy; {{ now.Year }}<br/>
&copy; {{ now.Year }}<br />
Made with ♥️ and <a href="https://gohugo.io">Hugo</a>.
</p>
<a href="https://twitter.com/vikunjaio" target="_blank" rel="noopener" class="hover:underline pb-2 flex align-middle">
<svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 112.197 112.197" style="enable-background:new 0 0 112.197 112.197;" xml:space="preserve"><g><circle style="fill:#55ACEE;" cx="56.099" cy="56.098" r="56.098"/><g><path style="fill:#F1F2F2;" d="M90.461,40.316c-2.404,1.066-4.99,1.787-7.702,2.109c2.769-1.659,4.894-4.284,5.897-7.417 c-2.591,1.537-5.462,2.652-8.515,3.253c-2.446-2.605-5.931-4.233-9.79-4.233c-7.404,0-13.409,6.005-13.409,13.409 c0,1.051,0.119,2.074,0.349,3.056c-11.144-0.559-21.025-5.897-27.639-14.012c-1.154,1.98-1.816,4.285-1.816,6.742 c0,4.651,2.369,8.757,5.965,11.161c-2.197-0.069-4.266-0.672-6.073-1.679c-0.001,0.057-0.001,0.114-0.001,0.17 c0,6.497,4.624,11.916,10.757,13.147c-1.124,0.308-2.311,0.471-3.532,0.471c-0.866,0-1.705-0.083-2.523-0.239 c1.706,5.326,6.657,9.203,12.526,9.312c-4.59,3.597-10.371,5.74-16.655,5.74c-1.08,0-2.15-0.063-3.197-0.188 c5.931,3.806,12.981,6.025,20.553,6.025c24.664,0,38.152-20.432,38.152-38.153c0-0.581-0.013-1.16-0.039-1.734 C86.391,45.366,88.664,43.005,90.461,40.316L90.461,40.316z"/></g></g></svg>
<span class="ml-1">
Follow Vikunja on Twitter
</span>
<a
href="https://twitter.com/vikunjaio"
target="_blank"
rel="noopener"
class="flex pb-2 align-middle hover:underline"
>
<svg
class="h-4 w-4"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
viewBox="0 0 112.197 112.197"
style="enable-background:new 0 0 112.197 112.197;"
xml:space="preserve"
>
<g>
<circle style="fill:#55ACEE;" cx="56.099" cy="56.098" r="56.098" />
<g>
<path
style="fill:#F1F2F2;"
d="M90.461,40.316c-2.404,1.066-4.99,1.787-7.702,2.109c2.769-1.659,4.894-4.284,5.897-7.417 c-2.591,1.537-5.462,2.652-8.515,3.253c-2.446-2.605-5.931-4.233-9.79-4.233c-7.404,0-13.409,6.005-13.409,13.409 c0,1.051,0.119,2.074,0.349,3.056c-11.144-0.559-21.025-5.897-27.639-14.012c-1.154,1.98-1.816,4.285-1.816,6.742 c0,4.651,2.369,8.757,5.965,11.161c-2.197-0.069-4.266-0.672-6.073-1.679c-0.001,0.057-0.001,0.114-0.001,0.17 c0,6.497,4.624,11.916,10.757,13.147c-1.124,0.308-2.311,0.471-3.532,0.471c-0.866,0-1.705-0.083-2.523-0.239 c1.706,5.326,6.657,9.203,12.526,9.312c-4.59,3.597-10.371,5.74-16.655,5.74c-1.08,0-2.15-0.063-3.197-0.188 c5.931,3.806,12.981,6.025,20.553,6.025c24.664,0,38.152-20.432,38.152-38.153c0-0.581-0.013-1.16-0.039-1.734 C86.391,45.366,88.664,43.005,90.461,40.316L90.461,40.316z"
/>
</g>
</g>
</svg>
<span class="ml-1"> Follow Vikunja on Twitter </span>
</a>
<a href="https://matrix.to/#/#vikunja:matrix.org">
<img src="https://img.shields.io/badge/chat-on%20matrix.org-brightgreen" alt="Chat on matrix.org"/>
<img
src="https://img.shields.io/badge/chat-on%20matrix.org-brightgreen"
alt="Chat on matrix.org"
/>
</a>
<p class="mt-6 font-title text-base font-bold">
Subscribe to our newsletter
</p>
<p class="mt-6 font-title text-base font-bold">Subscribe to our newsletter</p>
<p class="mt-2">
We'll email you about releases and news about Vikunja.
Low traffic. Unsubscribe any time.
We'll email you about releases and news about Vikunja. Low traffic. Unsubscribe any
time.
</p>
<form method="post" action="https://newsletter.kolaente.de/subscription/form" class="listmonk-form">
<input type="text" name="email" placeholder="E-mail"
class="mt-2 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary focus:ring focus:ring-primary-lighter focus:ring-opacity-50"
required/>
<form
method="post"
action="https://newsletter.kolaente.de/subscription/form"
class="listmonk-form"
>
<input
type="text"
name="email"
placeholder="E-mail"
class="mt-2 block w-full rounded-md border-gray-300 shadow-sm focus:border-primary focus:ring focus:ring-primary-lighter focus:ring-opacity-50"
required
/>
<input id="f0bc9" type="hidden" name="l" value="f0bc9ec2-56a4-48c8-baad-7a31b137484e"/>
<input id="f0bc9" type="hidden" name="l" value="f0bc9ec2-56a4-48c8-baad-7a31b137484e" />
<input type="submit" value="Subscribe"
class="mt-4 px-4 py-2 text-base font-medium rounded-md text-white bg-primary hover:bg-primary-darker cursor-pointer"/>
<input
type="submit"
value="Subscribe"
class="mt-4 cursor-pointer rounded-md bg-primary px-4 py-2 text-base font-medium text-white hover:bg-primary-darker"
/>
</form>
</div>
<div class="w-full md:w-1/5 mt-4 md:mt-0 flex flex-col">
<h3 class="font-title font-bold text-base mb-4 md:mb-6">Legal</h3>
<a href="/privacy" class="hover:underline pb-2">Privacy Policy</a>
<a href="/imprint" class="hover:underline pb-2">Imprint</a>
<div class="mt-4 flex w-full flex-col md:mt-0 md:w-1/5">
<h3 class="mb-4 font-title text-base font-bold md:mb-6">Legal</h3>
<a href="/privacy" class="pb-2 hover:underline">Privacy Policy</a>
<a href="/imprint" class="pb-2 hover:underline">Imprint</a>
</div>
<div class="w-full md:w-1/5 mt-4 md:mt-0 flex flex-col">
<h3 class="font-title font-bold text-base mb-4 md:mb-6">Support Us</h3>
<a href="https://www.buymeacoffee.com/kolaente" class="hover:underline pb-2 flex align-middle" target="_blank">
<img src="https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg" alt="Buy me a coffee"
class="w-3 mr-1"/>
<span>
Buy Me a Coffee
</span>
<div class="mt-4 flex w-full flex-col md:mt-0 md:w-1/5">
<h3 class="mb-4 font-title text-base font-bold md:mb-6">Support Us</h3>
<a
href="https://www.buymeacoffee.com/kolaente"
class="flex pb-2 align-middle hover:underline"
target="_blank"
>
<img
src="https://cdn.buymeacoffee.com/buttons/bmc-new-btn-logo.svg"
alt="Buy me a coffee"
class="mr-1 w-3"
/>
<span> Buy Me a Coffee </span>
</a>
<a href="https://github.com/sponsors/kolaente/button" class="hover:underline pb-2 flex align-middle"
target="_blank">
<svg xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 mr-1" fill="none" viewBox="0 0 24 24"
stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"/>
<a
href="https://github.com/sponsors/kolaente/button"
class="flex pb-2 align-middle hover:underline"
target="_blank"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="mr-1 h-4 w-4"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
/>
</svg>
<span>
Sponsor on Github
</span>
<span> Sponsor on Github </span>
</a>
<a href="https://opencollective.com/vikunja" class="hover:underline pb-2" target="_blank">
<a href="https://opencollective.com/vikunja" class="pb-2 hover:underline" target="_blank">
Sponsor on Opencollective
</a>
<a href="https://vikunja.cloud/stickers?utm_source=io&utm_medium=io&utm_campaign=footer"
class="hover:underline pb-2">
<a
href="https://vikunja.cloud/stickers?utm_source=io&utm_medium=io&utm_campaign=footer"
class="pb-2 hover:underline"
>
Buy Stickers
</a>
</div>
<div class="w-full md:w-1/5 mt-4 md:mt-0 flex flex-col">
<h3 class="font-title font-bold text-base mb-4 md:mb-6">Product</h3>
<a href="https://vikunja.cloud/features" class="hover:underline pb-2">Features</a>
<a href="https://vikunja.cloud/managed-service" class="hover:underline pb-2">Managed Service</a>
<a href="https://vikunja.cloud/?utm_source=io&utm_medium=io&utm_campaign=footer" class="hover:underline pb-2">
<div class="mt-4 flex w-full flex-col md:mt-0 md:w-1/5">
<h3 class="mb-4 font-title text-base font-bold md:mb-6">Product</h3>
<a href="https://vikunja.cloud/features" class="pb-2 hover:underline">Features</a>
<a href="https://vikunja.cloud/managed-service" class="pb-2 hover:underline"
>Managed Service</a
>
<a
href="https://vikunja.cloud/?utm_source=io&utm_medium=io&utm_campaign=footer"
class="pb-2 hover:underline"
>
Get it Hosted
</a>
<a href="https://vikunja.cloud/stickers" class="hover:underline pb-2">Stickers</a>
<a href="https://vikunja.cloud/stickers" class="pb-2 hover:underline">Stickers</a>
</div>
<div class="w-full md:w-1/5 mt-4 md:mt-0 flex flex-col">
<h3 class="font-title font-bold text-base mb-4 md:mb-6">About</h3>
<a href="/" class="hover:underline pb-2">Home</a>
<a href="/docs" class="hover:underline pb-2">Docs</a>
<a href="/contact/" class="hover:underline pb-2">Contact</a>
<a href="/survey" class="hover:underline pb-2">Feedback Survey</a>
<a href="https://community.vikunja.io" class="hover:underline pb-2">Community Forum</a>
<div class="mt-4 flex w-full flex-col md:mt-0 md:w-1/5">
<h3 class="mb-4 font-title text-base font-bold md:mb-6">About</h3>
<a href="/" class="pb-2 hover:underline">Home</a>
<a href="/docs" class="pb-2 hover:underline">Docs</a>
<a href="/contact/" class="pb-2 hover:underline">Contact</a>
<a href="/survey" class="pb-2 hover:underline">Feedback Survey</a>
<a href="https://community.vikunja.io" class="pb-2 hover:underline">Community Forum</a>
</div>
</footer>
<script>
document.addEventListener('DOMContentLoaded', function () {
const $navbarBurgers = Array.prototype.slice.call(document.querySelectorAll('.navbar-burger'), 0)
const $navbarBurgers = Array.prototype.slice.call(
document.querySelectorAll('.navbar-burger'),
0
);
if ($navbarBurgers.length > 0) {
$navbarBurgers.forEach(function ($el) {
const target = $el.dataset.target
const $target = document.getElementById(target)
const target = $el.dataset.target;
const $target = document.getElementById(target);
$el.addEventListener('click', function () {
$target.classList.toggle('hidden')
})
$target.addEventListener('click', el => {
$target.classList.toggle('hidden')
})
})
$target.classList.toggle('hidden');
});
$target.addEventListener('click', (el) => {
$target.classList.toggle('hidden');
});
});
}
})
});
</script>
{{ partial "plausible-tracking.html" . }}
</body>
</html>

View File

@ -1,67 +1,66 @@
<!DOCTYPE html>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<!-- Title -->
{{ $title := .Site.Title }}
{{ if and (not .IsHome) .Title }}
{{ $title = printf "%s | %s" .Title .Site.Title }}
{{ end }}
<title>{{ $title }}</title>
<meta property="og:title" content="{{ $title }}" />
<meta name="twitter:title" content="{{ $title }}" />
<meta itemprop="name" content="{{ $title }}" />
<meta name="application-name" content="{{ $title }}" />
<!-- Title -->
{{ $title := .Site.Title}}
{{ if and (not .IsHome) .Title }}
{{ $title = printf "%s | %s" .Title .Site.Title}}
{{ end }}
<title>{{ $title }}</title>
<meta property="og:title" content="{{ $title }}" />
<meta name="twitter:title" content="{{ $title }}" />
<meta itemprop="name" content="{{ $title }}" />
<meta name="application-name" content="{{ $title }}" />
<!-- Description -->
<meta name="description" content="{{ .Params.description }}" />
<meta itemprop="description" content="{{ .Params.description }}" />
<meta property="og:description" content="{{ .Params.description }}" />
<meta name="twitter:description" content="{{ .Params.description }}" />
<!-- Description -->
<meta name="description" content="{{ .Params.description }}" />
<meta itemprop="description" content="{{ .Params.description }}" />
<meta property="og:description" content="{{ .Params.description }}" />
<meta name="twitter:description" content="{{ .Params.description }}" />
<!-- Links -->
<base href="{{ .Permalink }}" />
<link rel="canonical" href="{{ .Permalink }}" itemprop="url" />
<meta name="url" content="{{ .Permalink }}" />
<meta name="twitter:url" content="{{ .Permalink }}" />
<meta property="og:url" content="{{ .Permalink }}" />
<!-- Links -->
<base href="{{ .Permalink }}">
<link rel="canonical" href="{{ .Permalink }}" itemprop="url" />
<meta name="url" content="{{ .Permalink }}" />
<meta name="twitter:url" content="{{ .Permalink }}" />
<meta property="og:url" content="{{ .Permalink }}" />
<!-- Images -->
{{ with .Params.image }}
<meta itemprop="image" content="{{ . | absURL }}" />
<meta property="og:image" content="{{ . | absURL }}" />
<meta name="twitter:image" content="{{ . | absURL }}" />
<meta name="twitter:image:src" content="{{ . | absURL }}" />
{{ else }}
<meta itemprop="image" content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png" />
<meta property="og:image" content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png" />
<meta name="twitter:image" content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png" />
<meta
name="twitter:image:src"
content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png"
/>
{{ end }}
<!-- Images -->
{{ with .Params.image }}
<meta itemprop="image" content="{{ . | absURL }}" />
<meta property="og:image" content="{{ . | absURL }}" />
<meta name="twitter:image" content="{{ . | absURL }}" />
<meta name="twitter:image:src" content="{{ . | absURL }}" />
{{ else }}
<meta itemprop="image" content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png" />
<meta property="og:image" content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png" />
<meta name="twitter:image" content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png" />
<meta name="twitter:image:src" content="{{ .Site.Params.ogimage | absURL }}images/vikunja.png" />
{{ end }}
<!-- Misc -->
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}"/>
{{ hugo.Generator }}
<!-- Misc -->
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
{{ hugo.Generator }}
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s"/>` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
{{ range .AlternativeOutputFormats -}}
{{ printf `<link rel="%s" type="%s" href="%s" title="%s" />` .Rel .MediaType.Type .Permalink $.Site.Title | safeHTML }}
{{ end -}}
<link rel="canonical" href="{{ .Permalink }}">
<link rel="canonical" href="{{ .Permalink }}" />
{{ $siteBaseURL := .Site.BaseURL }}
{{ $styleFolder := "./themes/vikunja/static/css" }}
{{ range readDir $styleFolder }}
<link rel="stylesheet" href="{{ $siteBaseURL }}css/{{ .Name }}">
{{ end }}
{{ $siteBaseURL := .Site.BaseURL }}
{{ $styleFolder :=
"./themes/vikunja/static/css"
}}
{{ range readDir $styleFolder }}
<link rel="stylesheet" href="{{ $siteBaseURL }}css/{{ .Name }}" />
{{ end }}
<link rel="shortcut icon" type="image/x-icon" href="{{ .Site.BaseURL }}favicon.ico">
<link rel="icon" type="image/x-icon" href="{{ .Site.BaseURL }}favicon.ico">
</head>
<body class="antialiased bg-gray-50 text-gray-900">
{{ partial "navbar.html" . }}
<link rel="shortcut icon" type="image/x-icon" href="{{ .Site.BaseURL }}favicon.ico" />
<link rel="icon" type="image/x-icon" href="{{ .Site.BaseURL }}favicon.ico" />

View File

@ -1,25 +1,33 @@
<a class="navbar-burger py-2 px-1 m-2 mt-6 bg-gray-200 rounded-sm text-center block lg:hidden" data-target="docsMenu">
<a
class="navbar-burger m-2 mt-6 block rounded-sm bg-gray-200 py-2 px-1 text-center lg:hidden"
data-target="docsMenu"
>
Show Menu
</a>
<aside class="px-2 text-gray-600 hidden lg:block" id="docsMenu">
<aside class="hidden px-2 text-gray-600 lg:block" id="docsMenu">
{{ $currentNode := . }}
{{ range .Site.Menus.sidebar }}
{{ if .HasChildren }}
<p class="uppercase font-title pb-2 pt-4 text-sm text-gray-500">
{{ .Pre }}
{{ .Name }}
</p>
<ul>
{{ range .Children }}
<li>
<a href="{{ .URL }}" class="px-2 py-1.5 block rounded-sm hover:bg-gray-200 {{ if $currentNode.IsMenuCurrent "sidebar" . }} !bg-primary text-white {{ end }}">
{{ .Pre }}
{{ .Name }}
</a>
</li>
{{ end }}
</ul>
<p class="pb-2 pt-4 font-title text-sm uppercase text-gray-500">
{{ .Pre }}
{{ .Name }}
</p>
<ul>
{{ range .Children }}
<li>
<a
href="{{ .URL }}"
class="{{ if $currentNode.IsMenuCurrent "sidebar" . }}
!bg-primary text-white
{{ end }} block rounded-sm px-2 py-1.5 hover:bg-gray-200"
>
{{ .Pre }}
{{ .Name }}
</a>
</li>
{{ end }}
</ul>
{{ end }}
{{ end }}
</aside>

View File

@ -1,16 +1,41 @@
<nav class="w-full bg-primary">
<div class="flex justify-between max-w-screen-2xl mx-auto px-2">
<div class="mx-auto flex max-w-screen-2xl justify-between px-2">
<a href="/">
<img src="{{ .Site.BaseURL }}images/vikunja-logo-white.svg" alt="{{ .Site.Title }}" class="h-10 my-2 ml-2 lg:ml-0"/>
<img
src="{{ .Site.BaseURL }}images/vikunja-logo-white.svg"
alt="{{ .Site.Title }}"
class="my-2 ml-2 h-10 lg:ml-0"
/>
</a>
<a class="block lg:hidden text-white p-3 pr-4 cursor-pointer navbar-burger" data-target="navMenu" aria-label="menu" aria-expanded="false">
<svg xmlns="http://www.w3.org/2000/svg" class="h-8 w-8" fill="none" viewBox="0 0 24 24" stroke="currentColor">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
<a
class="navbar-burger block cursor-pointer p-3 pr-4 text-white lg:hidden"
data-target="navMenu"
aria-label="menu"
aria-expanded="false"
>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-8 w-8"
fill="none"
viewBox="0 0 24 24"
stroke="currentColor"
>
<path
stroke-linecap="round"
stroke-linejoin="round"
stroke-width="2"
d="M4 6h16M4 12h16M4 18h16"
/>
</svg>
</a>
<div class="text-white font-title font-semibold hidden lg:flex">
<div class="hidden font-title font-semibold text-white lg:flex">
{{ $currentNode := .Page }}{{ range .Site.Menus.page }}
<a class="block h-full py-4 px-2 hover:bg-primary-darker {{ if $currentNode.IsMenuCurrent "page" . }}bg-primary-darker{{ end }}" href="{{ .URL }}">
<a
class="{{ if $currentNode.IsMenuCurrent "page" . }}
bg-primary-darker
{{ end }} block h-full py-4 px-2 hover:bg-primary-darker"
href="{{ .URL }}"
>
{{ .Name }}
</a>
{{ end }}
@ -18,12 +43,17 @@
</div>
<!-- Mobile Menu -->
<div class="fixed hidden bg-black bg-opacity-50 top-0 bottom-0 left-0 right-0" id="navMenu">
<div class="flex font-title font-semibold fixed flex-col w-3/4 bg-gray-100 h-screen">
<div class="fixed top-0 bottom-0 left-0 right-0 hidden bg-black bg-opacity-50" id="navMenu">
<div class="fixed flex h-screen w-3/4 flex-col bg-gray-100 font-title font-semibold">
{{ $currentNode := .Page }}{{ range .Site.Menus.page }}
<a class="block py-2 px-4 hover:bg-primary hover:text-white {{ if $currentNode.IsMenuCurrent "page" . }} bg-primary text-white {{ end }}" href="{{ .URL }}">
{{ .Name }}
</a>
<a
class="{{ if $currentNode.IsMenuCurrent "page" . }}
bg-primary text-white
{{ end }} block py-2 px-4 hover:bg-primary hover:text-white"
href="{{ .URL }}"
>
{{ .Name }}
</a>
{{ end }}
</div>
</div>

View File

@ -1,3 +1,8 @@
{{ if .Site.Params.plausibleEnabled }}
<script async defer data-domain="{{ .Site.Params.plausibleDomain }}" src="{{ .Site.Params.plausibleURL }}/js/plausible.js"></script>
{{end}}
<script
async
defer
data-domain="{{ .Site.Params.plausibleDomain }}"
src="{{ .Site.Params.plausibleURL }}/js/plausible.js"
></script>
{{ end }}

View File

@ -1,3 +1,5 @@
<div class="max-w-none prose prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-h1:font-title prose-h1:font-bold prose-img:rounded-sm">
<div
class="prose max-w-none prose-h1:font-title prose-h1:font-bold prose-a:text-primary prose-a:no-underline hover:prose-a:underline prose-img:rounded-sm"
>
{{ partial "headline-hash.html" . }}
</div>

View File

@ -1,7 +1,7 @@
<a href="https://vikunja.cloud/?utm_source=io&utm_medium=io&utm_campaign=blog_post"
class="bg-hero-llama bg-cover bg-no-repeat bg-center py-44 flex items-center justify-center flex-col shadow hover:shadow-lg rounded text-white mt-8">
<a
href="https://vikunja.cloud/?utm_source=io&utm_medium=io&utm_campaign=blog_post"
class="mt-8 flex flex-col items-center justify-center rounded bg-hero-llama bg-cover bg-center bg-no-repeat py-44 text-white shadow hover:shadow-lg"
>
<h2 class="font-title text-3xl font-bold">Vikunja Cloud is here!</h2>
<p class="pt-4">
Get a hosted Vikunja Account.
</p>
<p class="pt-4">Get a hosted Vikunja Account.</p>
</a>

View File

@ -1,56 +1,91 @@
{{ partial "header.html" . }}
{{ define "main" }}
<article class="mx-auto mt-4 max-w-screen-lg">
<h1 class="mb-2 font-title text-4xl font-bold">Blog</h1>
<p class="mb-10 text-gray-600">All the latest Vikunja news and updates.</p>
<article class="max-w-screen-lg mx-auto mt-4">
<h1 class="font-title text-4xl font-bold mb-2">Blog</h1>
<p class="text-gray-600 mb-10">All the latest Vikunja news and updates.</p>
{{ $paginator := .Paginate (where .Data.Pages "Type" "post") }}{{ range $paginator.Pages }}
<section class="mb-8">
<a class="font-title text-2xl font-bold" href="{{ .Permalink }}">{{ .Title }}</a>
<p class="text-gray-400">
{{ .Date.Format "2006-01-02" }}
</p>
<p class="pt-4 text-gray-600">
{{ .Summary }}
</p>
<a href="{{ .Permalink }}"
class="inline-flex items-center mt-4 px-2 py-2 rounded-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
<span class="mr-1">
Read more
</span>
<svg xmlns="http://www.w3.org/2000/svg" class="h-5 w-5" viewBox="0 0 20 20" fill="currentColor">
<path fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"/>
</svg>
</a>
</section>
{{ end }}
<nav class="relative z-0 inline-flex rounded-md shadow-sm -space-x-px" aria-label="Pagination">
{{ if .Paginator.HasPrev}}
<a href="{{ .Paginator.Prev.URL }}" class="relative inline-flex items-center px-2 py-2 {{ if .Paginator.HasNext }} rounded-l-md {{ else }} rounded-md {{ end }} border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
Previous
<svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
aria-hidden="true">
<path fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"/>
</svg>
</a>
{{ $paginator := .Paginate (where .Data.Pages "Type" "post") }}{{ range
$paginator.Pages
}}
<section class="mb-8">
<a class="font-title text-2xl font-bold" href="{{ .Permalink }}">{{ .Title }}</a>
<p class="text-gray-400">{{ .Date.Format "2006-01-02" }}</p>
<p class="pt-4 text-gray-600">{{ .Summary }}</p>
<a
href="{{ .Permalink }}"
class="mt-4 inline-flex items-center rounded-md border border-gray-300 bg-white px-2 py-2 text-sm font-medium text-gray-500 hover:bg-gray-50"
>
<span class="mr-1"> Read more </span>
<svg
xmlns="http://www.w3.org/2000/svg"
class="h-5 w-5"
viewBox="0 0 20 20"
fill="currentColor"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
</section>
{{ end }}
{{ if .Paginator.HasNext }}
<a href="{{ .Paginator.Next.URL }}" class="relative inline-flex items-center px-2 py-2 {{ if .Paginator.HasPrev }} rounded-r-md {{ else }} rounded-md {{ end }} border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50">
Next
<svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor"
aria-hidden="true">
<path fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"/>
</svg>
</a>
{{ end }}
</nav>
</article>
{{ partial "footer.html" . }}
<nav
class="relative z-0 inline-flex -space-x-px rounded-md shadow-sm"
aria-label="Pagination"
>
{{ if .Paginator.HasPrev }}
<a
href="{{ .Paginator.Prev.URL }}"
class="{{ if .Paginator.HasNext }}
rounded-l-md
{{ else }}
rounded-md
{{ end }} relative inline-flex items-center border border-gray-300 bg-white px-2 py-2 text-sm font-medium text-gray-500 hover:bg-gray-50"
>
Previous
<svg
class="h-5 w-5"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
aria-hidden="true"
>
<path
fill-rule="evenodd"
d="M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
{{ end }}
{{ if .Paginator.HasNext }}
<a
href="{{ .Paginator.Next.URL }}"
class="{{ if .Paginator.HasPrev }}
rounded-r-md
{{ else }}
rounded-md
{{ end }} relative inline-flex items-center border border-gray-300 bg-white px-2 py-2 text-sm font-medium text-gray-500 hover:bg-gray-50"
>
Next
<svg
class="h-5 w-5"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 20 20"
fill="currentColor"
aria-hidden="true"
>
<path
fill-rule="evenodd"
d="M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z"
clip-rule="evenodd"
/>
</svg>
</a>
{{ end }}
</nav>
</article>
{{ end }}

View File

@ -1,15 +1,10 @@
{{ partial "header.html" . }}
{{ define "main" }}
<article class="mx-auto mt-4 max-w-screen-lg">
<h1 class="mb-8 font-title text-3xl font-bold">
<a href="{{ .Permalink }}"> {{ .Title }} </a>
</h1>
<article class="max-w-screen-lg mx-auto mt-4">
<h1 class="text-3xl font-bold font-title mb-8">
<a href="{{ .Permalink }}">
{{ .Title }}
</a>
</h1>
{{ partial "prose.html" .Content }}
{{ partial "vikunja-cloud-banner.html" }}
</article>
{{ partial "footer.html" . }}
{{ partial "prose.html" .Content }}
{{ partial "vikunja-cloud-banner.html" }}
</article>
{{ end }}

View File

@ -1,5 +1,5 @@
<div class="toc">
<h2>Table of contents</h2>
<h2>Table of contents</h2>
{{ .Page.TableOfContents }}
{{ .Page.TableOfContents }}
</div>

View File

@ -1,24 +1,28 @@
{
"name": "vikunja-theme",
"version": "1.0.0",
"description": "A Hugo theme that gets used within all of our websites.",
"license": "LGPL-3.0-or-later",
"author": {
"name": "The Vikunja authors",
"email": "team@vikunja.io"
},
"scripts": {
"prod": "tailwindcss -i src/style.css -o static/css/styles.css --minify",
"watch": "tailwindcss -i src/style.css -o static/css/styles.css --watch",
"clean": "rm -rf dist && mkdir dist",
"release": "tar -czvf dist/vikunja-theme.tar.gz archetypes layouts static LICENSE README.md theme.toml"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.0",
"postcss": "^8.4.5",
"tailwindcss": "^3.0.17"
},
"dependencies": {
"@tailwindcss/forms": "^0.4.0"
}
"name": "vikunja-theme",
"version": "1.0.0",
"description": "A Hugo theme that gets used within all of our websites.",
"license": "LGPL-3.0-or-later",
"author": {
"name": "The Vikunja authors",
"email": "team@vikunja.io"
},
"scripts": {
"prod": "tailwindcss -i src/style.css -o static/css/styles.css --minify",
"watch": "tailwindcss -i src/style.css -o static/css/styles.css --watch",
"clean": "rm -rf dist && mkdir dist",
"release": "tar -czvf dist/vikunja-theme.tar.gz archetypes layouts static LICENSE README.md theme.toml",
"format": "prettier --write ."
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.0",
"postcss": "^8.4.5",
"prettier": "^2.5.1",
"prettier-plugin-go-template": "^0.0.11",
"prettier-plugin-tailwindcss": "^0.1.4",
"tailwindcss": "^3.0.17"
},
"dependencies": {
"@tailwindcss/forms": "^0.4.0"
}
}

View File

@ -2,7 +2,7 @@
/* Setting a base font size */
body {
font-size: 16px;
font-size: 16px;
}
@tailwind base;
@ -15,13 +15,13 @@ body {
.prose h4,
.prose h5,
.prose h6 {
@apply font-title font-semibold;
@apply font-title font-semibold;
}
.notification {
@apply p-4 rounded;
@apply rounded p-4;
}
.notification.is-warning {
@apply bg-yellow-300;
@apply bg-yellow-300;
}

View File

@ -5,11 +5,11 @@
font-weight: 300;
src: url('quicksand-v7-latin-300.eot'); /* IE9 Compat Modes */
src: local('Quicksand Light'), local('Quicksand-Light'),
url('quicksand-v7-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('quicksand-v7-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
url('quicksand-v7-latin-300.woff') format('woff'), /* Modern Browsers */
url('quicksand-v7-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
url('quicksand-v7-latin-300.svg#Quicksand') format('svg'); /* Legacy iOS */
url('quicksand-v7-latin-300.eot?#iefix') format('embedded-opentype'),
/* IE6-IE8 */ url('quicksand-v7-latin-300.woff2') format('woff2'),
/* Super Modern Browsers */ url('quicksand-v7-latin-300.woff') format('woff'),
/* Modern Browsers */ url('quicksand-v7-latin-300.ttf') format('truetype'),
/* Safari, Android, iOS */ url('quicksand-v7-latin-300.svg#Quicksand') format('svg'); /* Legacy iOS */
}
/* quicksand-regular - latin */
@ -19,11 +19,11 @@
font-weight: 400;
src: url('quicksand-v7-latin-regular.eot'); /* IE9 Compat Modes */
src: local('Quicksand Regular'), local('Quicksand-Regular'),
url('quicksand-v7-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('quicksand-v7-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('quicksand-v7-latin-regular.woff') format('woff'), /* Modern Browsers */
url('quicksand-v7-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('quicksand-v7-latin-regular.svg#Quicksand') format('svg'); /* Legacy iOS */
url('quicksand-v7-latin-regular.eot?#iefix') format('embedded-opentype'),
/* IE6-IE8 */ url('quicksand-v7-latin-regular.woff2') format('woff2'),
/* Super Modern Browsers */ url('quicksand-v7-latin-regular.woff') format('woff'),
/* Modern Browsers */ url('quicksand-v7-latin-regular.ttf') format('truetype'),
/* Safari, Android, iOS */ url('quicksand-v7-latin-regular.svg#Quicksand') format('svg'); /* Legacy iOS */
}
/* quicksand-500 - latin */
@ -33,11 +33,11 @@
font-weight: 500;
src: url('quicksand-v7-latin-500.eot'); /* IE9 Compat Modes */
src: local('Quicksand Medium'), local('Quicksand-Medium'),
url('quicksand-v7-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('quicksand-v7-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
url('quicksand-v7-latin-500.woff') format('woff'), /* Modern Browsers */
url('quicksand-v7-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
url('quicksand-v7-latin-500.svg#Quicksand') format('svg'); /* Legacy iOS */
url('quicksand-v7-latin-500.eot?#iefix') format('embedded-opentype'),
/* IE6-IE8 */ url('quicksand-v7-latin-500.woff2') format('woff2'),
/* Super Modern Browsers */ url('quicksand-v7-latin-500.woff') format('woff'),
/* Modern Browsers */ url('quicksand-v7-latin-500.ttf') format('truetype'),
/* Safari, Android, iOS */ url('quicksand-v7-latin-500.svg#Quicksand') format('svg'); /* Legacy iOS */
}
/* quicksand-700 - latin */
@ -47,9 +47,9 @@
font-weight: 700;
src: url('quicksand-v7-latin-700.eot'); /* IE9 Compat Modes */
src: local('Quicksand Bold'), local('Quicksand-Bold'),
url('quicksand-v7-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('quicksand-v7-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
url('quicksand-v7-latin-700.woff') format('woff'), /* Modern Browsers */
url('quicksand-v7-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
url('quicksand-v7-latin-700.svg#Quicksand') format('svg'); /* Legacy iOS */
url('quicksand-v7-latin-700.eot?#iefix') format('embedded-opentype'),
/* IE6-IE8 */ url('quicksand-v7-latin-700.woff2') format('woff2'),
/* Super Modern Browsers */ url('quicksand-v7-latin-700.woff') format('woff'),
/* Modern Browsers */ url('quicksand-v7-latin-700.ttf') format('truetype'),
/* Safari, Android, iOS */ url('quicksand-v7-latin-700.svg#Quicksand') format('svg'); /* Legacy iOS */
}

View File

@ -1,15 +1,8 @@
const defaultTheme = require('tailwindcss/defaultTheme')
const defaultTheme = require('tailwindcss/defaultTheme');
module.exports = {
content: [
'./src/*.css',
'./layouts/**/*.html'
],
safelist: [
'p-4',
'!text-white',
'!underline',
],
content: ['./src/*.css', './layouts/**/*.html'],
safelist: ['p-4', '!text-white', '!underline'],
theme: {
extend: {
colors: {
@ -17,7 +10,7 @@ module.exports = {
lighter: '#3b7aec',
DEFAULT: '#196aff',
darker: '#0064ff',
}
},
},
fontFamily: {
title: ['Quicksand', ...defaultTheme.fontFamily.sans],
@ -27,8 +20,5 @@ module.exports = {
},
},
},
plugins: [
require('@tailwindcss/typography'),
require('@tailwindcss/forms'),
],
}
plugins: [require('@tailwindcss/typography'), require('@tailwindcss/forms')],
};

View File

@ -511,6 +511,23 @@ postcss@^8.4.5:
picocolors "^1.0.0"
source-map-js "^1.0.1"
prettier-plugin-go-template@^0.0.11:
version "0.0.11"
resolved "https://registry.yarnpkg.com/prettier-plugin-go-template/-/prettier-plugin-go-template-0.0.11.tgz#49439095ac0a3a14f34d5024d628265c7a2b954a"
integrity sha512-qtgoEjvbgmcDp9TOqYNgrPrA41s6S1UMyzMqjcxdxQahTX0webWfbamyA/x3XeBFEEJmgXrRAirzJrIVzImsMg==
dependencies:
ulid "^2.3.0"
prettier-plugin-tailwindcss@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.4.tgz#b09e826a57a0f69b0662eededd659b3d5a5551e7"
integrity sha512-kt3YFWqxcG9+bilBI0hPF7RjQZNtgBRvjJZGw6B2MNAjPqlfcYIiZnNaIEnq4XimKLTzZYxz6jQnUXmSQ/5njg==
prettier@^2.5.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a"
integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==
queue-microtask@^1.2.2:
version "1.2.3"
resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
@ -611,6 +628,11 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
ulid@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/ulid/-/ulid-2.3.0.tgz#93063522771a9774121a84d126ecd3eb9804071f"
integrity sha512-keqHubrlpvT6G2wH0OEfSW4mquYRcbe/J8NMmveoQOjUqmo+hXtO+ORCpWhdbZ7k72UtY61BL7haGxW6enBnjw==
util-deprecate@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"