adds hugo starter tailwind theme
This commit is contained in:
4
themes/hugo-starter-tailwind-basic/.gitignore
vendored
Normal file
4
themes/hugo-starter-tailwind-basic/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
node_modules/
|
||||||
|
public/
|
||||||
|
resources/
|
||||||
|
.hugo_build.lock
|
3
themes/hugo-starter-tailwind-basic/.vscode/settings.json
vendored
Normal file
3
themes/hugo-starter-tailwind-basic/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"autoHide.autoHidePanel": false
|
||||||
|
}
|
21
themes/hugo-starter-tailwind-basic/LICENSE
Normal file
21
themes/hugo-starter-tailwind-basic/LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 Bjørn Erik Pedersen
|
||||||
|
|
||||||
|
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.
|
58
themes/hugo-starter-tailwind-basic/README.md
Normal file
58
themes/hugo-starter-tailwind-basic/README.md
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Hugo Basic Starter for TailwindCSS v3.x
|
||||||
|
|
||||||
|
[](https://app.netlify.com/sites/lucid-nightingale-60a4e2/deploys)
|
||||||
|
|
||||||
|
A very simple starter set up with [TailwindCSS](https://tailwindcss.com/) and its [typography plugin](https://tailwindcss.com/docs/typography-plugin) and a build setup using [PostCSS](https://postcss.org/) and PurgeCSS (when running the production build).
|
||||||
|
|
||||||
|
In the preview deployment on Netlify it currently has a 100 score on both mobile and desktop on [Google PageSpeed](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Flucid-nightingale-60a4e2.netlify.app%2F&tab=mobile).
|
||||||
|
|
||||||
|
|
||||||
|
This setup can be used both as a starter project and a theme.
|
||||||
|
|
||||||
|
## As a Project
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
hugo server
|
||||||
|
```
|
||||||
|
|
||||||
|
## As a Theme
|
||||||
|
|
||||||
|
Import `github.com/bep/hugo-starter-tailwind-basic/v3` (use `github.com/bep/hugo-starter-tailwind-basic/v2` if you want/need Tailwind 2.x.) into your project, and then run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
hugo mod npm pack
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
You need to add (something like) this to your `hugo.toml`:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[module]
|
||||||
|
[module.hugoVersion]
|
||||||
|
extended = false
|
||||||
|
min = "0.112.0"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "assets"
|
||||||
|
target = "assets"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "hugo_stats.json"
|
||||||
|
target = "assets/watching/hugo_stats.json"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
writeStats = true
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "assets/watching/hugo_stats\\.json"
|
||||||
|
target = "styles\\.css"
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "(postcss|tailwind)\\.config\\.js"
|
||||||
|
target = "css"
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "assets/.*\\.(js|ts|jsx|tsx)"
|
||||||
|
target = "js"
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "assets/.*\\.(.*)$"
|
||||||
|
target = "$1"
|
||||||
|
```
|
||||||
|
|
||||||
|
Then run your project as usual.
|
@ -0,0 +1 @@
|
|||||||
|
@import "buttons.css";
|
15
themes/hugo-starter-tailwind-basic/assets/css/styles.css
Normal file
15
themes/hugo-starter-tailwind-basic/assets/css/styles.css
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
@tailwind base;
|
||||||
|
@tailwind components;
|
||||||
|
@tailwind utilities;
|
||||||
|
|
||||||
|
@import "components/all.css";
|
||||||
|
|
||||||
|
html {
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@screen md {
|
||||||
|
html {
|
||||||
|
font-size: 20px;
|
||||||
|
}
|
||||||
|
}
|
311
themes/hugo-starter-tailwind-basic/content/_index.md
Normal file
311
themes/hugo-starter-tailwind-basic/content/_index.md
Normal file
@ -0,0 +1,311 @@
|
|||||||
|
---
|
||||||
|
title: TailwindCSS Basic Hugo Starter
|
||||||
|
---
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
### Philosophy
|
||||||
|
|
||||||
|
Markdown is intended to be as easy-to-read and easy-to-write as is feasible.
|
||||||
|
|
||||||
|
Readability, however, is emphasized above all else. A Markdown-formatted
|
||||||
|
document should be publishable as-is, as plain text, without looking
|
||||||
|
like it's been marked up with tags or formatting instructions. While
|
||||||
|
Markdown's syntax has been influenced by several existing text-to-HTML
|
||||||
|
filters -- including [Setext](http://docutils.sourceforge.net/mirror/setext.html), [atx](http://www.aaronsw.com/2002/atx/), [Textile](http://textism.com/tools/textile/), [reStructuredText](http://docutils.sourceforge.net/rst.html),
|
||||||
|
[Grutatext](http://www.triptico.com/software/grutatxt.html), and [EtText](http://ettext.taint.org/doc/) -- the single biggest source of
|
||||||
|
inspiration for Markdown's syntax is the format of plain text email.
|
||||||
|
|
||||||
|
```go
|
||||||
|
// New creates a new Workers with the given number of workers.
|
||||||
|
func New(numWorkers int) *Workers {
|
||||||
|
return &Workers{
|
||||||
|
sem: make(chan struct{}, numWorkers),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Block Elements
|
||||||
|
|
||||||
|
### Paragraphs and Line Breaks
|
||||||
|
|
||||||
|
A paragraph is simply one or more consecutive lines of text, separated
|
||||||
|
by one or more blank lines. (A blank line is any line that looks like a
|
||||||
|
blank line -- a line containing nothing but spaces or tabs is considered
|
||||||
|
blank.) Normal paragraphs should not be indented with spaces or tabs.
|
||||||
|
|
||||||
|
The implication of the "one or more consecutive lines of text" rule is
|
||||||
|
that Markdown supports "hard-wrapped" text paragraphs. This differs
|
||||||
|
significantly from most other text-to-HTML formatters (including Movable
|
||||||
|
Type's "Convert Line Breaks" option) which translate every line break
|
||||||
|
character in a paragraph into a `<br />` tag.
|
||||||
|
|
||||||
|
When you *do* want to insert a `<br />` break tag using Markdown, you
|
||||||
|
end a line with two or more spaces, then type return.
|
||||||
|
|
||||||
|
### Headers
|
||||||
|
|
||||||
|
Markdown supports two styles of headers, [Setext] [1] and [atx] [2].
|
||||||
|
|
||||||
|
|
||||||
|
```go
|
||||||
|
// Require loads a module the Node.js way.
|
||||||
|
// Note that this requires that the require function is present;
|
||||||
|
// if in the browser, and not in Node.js, try Browserify.
|
||||||
|
func Require(path ...string) *ReactComponent {
|
||||||
|
m, err := support.Require(path...)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
return &ReactComponent{node: m, needsCreate: true}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Optionally, you may "close" atx-style headers. This is purely
|
||||||
|
cosmetic -- you can use this if you think it looks better. The
|
||||||
|
closing hashes don't even need to match the number of hashes
|
||||||
|
used to open the header. (The number of opening hashes
|
||||||
|
determines the header level.)
|
||||||
|
|
||||||
|
|
||||||
|
### Blockquotes
|
||||||
|
|
||||||
|
Markdown uses email-style `>` characters for blockquoting. If you're
|
||||||
|
familiar with quoting passages of text in an email message, then you
|
||||||
|
know how to create a blockquote in Markdown. It looks best if you hard
|
||||||
|
wrap the text and put a `>` before every line:
|
||||||
|
|
||||||
|
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
|
||||||
|
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
|
||||||
|
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
|
||||||
|
>
|
||||||
|
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
|
||||||
|
> id sem consectetuer libero luctus adipiscing.
|
||||||
|
|
||||||
|
Markdown allows you to be lazy and only put the `>` before the first
|
||||||
|
line of a hard-wrapped paragraph:
|
||||||
|
|
||||||
|
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
|
||||||
|
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
|
||||||
|
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
|
||||||
|
|
||||||
|
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
|
||||||
|
id sem consectetuer libero luctus adipiscing.
|
||||||
|
|
||||||
|
Blockquotes can be nested (i.e. a blockquote-in-a-blockquote) by
|
||||||
|
adding additional levels of `>`:
|
||||||
|
|
||||||
|
> This is the first level of quoting.
|
||||||
|
>
|
||||||
|
> > This is nested blockquote.
|
||||||
|
>
|
||||||
|
> Back to the first level.
|
||||||
|
|
||||||
|
Blockquotes can contain other Markdown elements, including headers, lists,
|
||||||
|
and code blocks:
|
||||||
|
|
||||||
|
> ## This is a header.
|
||||||
|
>
|
||||||
|
> 1. This is the first list item.
|
||||||
|
> 2. This is the second list item.
|
||||||
|
>
|
||||||
|
> Here's some example code:
|
||||||
|
>
|
||||||
|
> return shell_exec("echo $input | $markdown_script");
|
||||||
|
|
||||||
|
Any decent text editor should make email-style quoting easy. For
|
||||||
|
example, with BBEdit, you can make a selection and choose Increase
|
||||||
|
Quote Level from the Text menu.
|
||||||
|
|
||||||
|
|
||||||
|
### Lists
|
||||||
|
|
||||||
|
Markdown supports ordered (numbered) and unordered (bulleted) lists.
|
||||||
|
|
||||||
|
Unordered lists use asterisks, pluses, and hyphens -- interchangably
|
||||||
|
-- as list markers:
|
||||||
|
|
||||||
|
* Red
|
||||||
|
* Green
|
||||||
|
* Blue
|
||||||
|
|
||||||
|
is equivalent to:
|
||||||
|
|
||||||
|
+ Red
|
||||||
|
+ Green
|
||||||
|
+ Blue
|
||||||
|
|
||||||
|
and:
|
||||||
|
|
||||||
|
- Red
|
||||||
|
- Green
|
||||||
|
- Blue
|
||||||
|
|
||||||
|
Ordered lists use numbers followed by periods:
|
||||||
|
|
||||||
|
1. Bird
|
||||||
|
2. McHale
|
||||||
|
3. Parish
|
||||||
|
|
||||||
|
It's important to note that the actual numbers you use to mark the
|
||||||
|
list have no effect on the HTML output Markdown produces. The HTML
|
||||||
|
Markdown produces from the above list is:
|
||||||
|
|
||||||
|
If you instead wrote the list in Markdown like this:
|
||||||
|
|
||||||
|
1. Bird
|
||||||
|
1. McHale
|
||||||
|
1. Parish
|
||||||
|
|
||||||
|
or even:
|
||||||
|
|
||||||
|
3. Bird
|
||||||
|
1. McHale
|
||||||
|
8. Parish
|
||||||
|
|
||||||
|
you'd get the exact same HTML output. The point is, if you want to,
|
||||||
|
you can use ordinal numbers in your ordered Markdown lists, so that
|
||||||
|
the numbers in your source match the numbers in your published HTML.
|
||||||
|
But if you want to be lazy, you don't have to.
|
||||||
|
|
||||||
|
To make lists look nice, you can wrap items with hanging indents:
|
||||||
|
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||||
|
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
|
||||||
|
viverra nec, fringilla in, laoreet vitae, risus.
|
||||||
|
* Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
||||||
|
Suspendisse id sem consectetuer libero luctus adipiscing.
|
||||||
|
|
||||||
|
But if you want to be lazy, you don't have to:
|
||||||
|
|
||||||
|
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||||
|
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
|
||||||
|
viverra nec, fringilla in, laoreet vitae, risus.
|
||||||
|
* Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
|
||||||
|
Suspendisse id sem consectetuer libero luctus adipiscing.
|
||||||
|
|
||||||
|
List items may consist of multiple paragraphs. Each subsequent
|
||||||
|
paragraph in a list item must be indented by either 4 spaces
|
||||||
|
or one tab:
|
||||||
|
|
||||||
|
1. This is a list item with two paragraphs. Lorem ipsum dolor
|
||||||
|
sit amet, consectetuer adipiscing elit. Aliquam hendrerit
|
||||||
|
mi posuere lectus.
|
||||||
|
|
||||||
|
Vestibulum enim wisi, viverra nec, fringilla in, laoreet
|
||||||
|
vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
|
||||||
|
sit amet velit.
|
||||||
|
|
||||||
|
2. Suspendisse id sem consectetuer libero luctus adipiscing.
|
||||||
|
|
||||||
|
It looks nice if you indent every line of the subsequent
|
||||||
|
paragraphs, but here again, Markdown will allow you to be
|
||||||
|
lazy:
|
||||||
|
|
||||||
|
* This is a list item with two paragraphs.
|
||||||
|
|
||||||
|
This is the second paragraph in the list item. You're
|
||||||
|
only required to indent the first line. Lorem ipsum dolor
|
||||||
|
sit amet, consectetuer adipiscing elit.
|
||||||
|
|
||||||
|
* Another item in the same list.
|
||||||
|
|
||||||
|
To put a blockquote within a list item, the blockquote's `>`
|
||||||
|
delimiters need to be indented:
|
||||||
|
|
||||||
|
* A list item with a blockquote:
|
||||||
|
|
||||||
|
> This is a blockquote
|
||||||
|
> inside a list item.
|
||||||
|
|
||||||
|
To put a code block within a list item, the code block needs
|
||||||
|
to be indented *twice* -- 8 spaces or two tabs:
|
||||||
|
|
||||||
|
* A list item with a code block:
|
||||||
|
|
||||||
|
<code goes here>
|
||||||
|
|
||||||
|
### Code Blocks
|
||||||
|
|
||||||
|
Pre-formatted code blocks are used for writing about programming or
|
||||||
|
markup source code. Rather than forming normal paragraphs, the lines
|
||||||
|
of a code block are interpreted literally. Markdown wraps a code block
|
||||||
|
in both `<pre>` and `<code>` tags.
|
||||||
|
|
||||||
|
To produce a code block in Markdown, simply indent every line of the
|
||||||
|
block by at least 4 spaces or 1 tab.
|
||||||
|
|
||||||
|
This is a normal paragraph:
|
||||||
|
|
||||||
|
This is a code block.
|
||||||
|
|
||||||
|
Here is an example of AppleScript:
|
||||||
|
|
||||||
|
tell application "Foo"
|
||||||
|
beep
|
||||||
|
end tell
|
||||||
|
|
||||||
|
A code block continues until it reaches a line that is not indented
|
||||||
|
(or the end of the article).
|
||||||
|
|
||||||
|
Within a code block, ampersands (`&`) and angle brackets (`<` and `>`)
|
||||||
|
are automatically converted into HTML entities. This makes it very
|
||||||
|
easy to include example HTML source code using Markdown -- just paste
|
||||||
|
it and indent it, and Markdown will handle the hassle of encoding the
|
||||||
|
ampersands and angle brackets. For example, this:
|
||||||
|
|
||||||
|
<div class="footer">
|
||||||
|
© 2004 Foo Corporation
|
||||||
|
</div>
|
||||||
|
|
||||||
|
Regular Markdown syntax is not processed within code blocks. E.g.,
|
||||||
|
asterisks are just literal asterisks within a code block. This means
|
||||||
|
it's also easy to use Markdown to write about Markdown's own syntax.
|
||||||
|
|
||||||
|
```
|
||||||
|
tell application "Foo"
|
||||||
|
beep
|
||||||
|
end tell
|
||||||
|
```
|
||||||
|
|
||||||
|
## Span Elements
|
||||||
|
|
||||||
|
### Links
|
||||||
|
|
||||||
|
Markdown supports two style of links: *inline* and *reference*.
|
||||||
|
|
||||||
|
In both styles, the link text is delimited by [square brackets].
|
||||||
|
|
||||||
|
To create an inline link, use a set of regular parentheses immediately
|
||||||
|
after the link text's closing square bracket. Inside the parentheses,
|
||||||
|
put the URL where you want the link to point, along with an *optional*
|
||||||
|
title for the link, surrounded in quotes. For example:
|
||||||
|
|
||||||
|
This is [an example](http://example.com/) inline link.
|
||||||
|
|
||||||
|
[This link](http://example.net/) has no title attribute.
|
||||||
|
|
||||||
|
### Emphasis
|
||||||
|
|
||||||
|
Markdown treats asterisks (`*`) and underscores (`_`) as indicators of
|
||||||
|
emphasis. Text wrapped with one `*` or `_` will be wrapped with an
|
||||||
|
HTML `<em>` tag; double `*`'s or `_`'s will be wrapped with an HTML
|
||||||
|
`<strong>` tag. E.g., this input:
|
||||||
|
|
||||||
|
*single asterisks*
|
||||||
|
|
||||||
|
_single underscores_
|
||||||
|
|
||||||
|
**double asterisks**
|
||||||
|
|
||||||
|
__double underscores__
|
||||||
|
|
||||||
|
### Code
|
||||||
|
|
||||||
|
To indicate a span of code, wrap it with backtick quotes (`` ` ``).
|
||||||
|
Unlike a pre-formatted code block, a code span indicates code within a
|
||||||
|
normal paragraph. For example:
|
||||||
|
|
||||||
|
Use the `printf()` function.
|
3
themes/hugo-starter-tailwind-basic/go.mod
Normal file
3
themes/hugo-starter-tailwind-basic/go.mod
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
module github.com/bep/hugo-starter-tailwind-basic/v3
|
||||||
|
|
||||||
|
go 1.19
|
29
themes/hugo-starter-tailwind-basic/hugo.toml
Normal file
29
themes/hugo-starter-tailwind-basic/hugo.toml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
baseURL = "https://example.org"
|
||||||
|
|
||||||
|
disableKinds = ["page", "section", "taxonomy", "term"]
|
||||||
|
|
||||||
|
[module]
|
||||||
|
[module.hugoVersion]
|
||||||
|
extended = false
|
||||||
|
min = "0.112.0"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "assets"
|
||||||
|
target = "assets"
|
||||||
|
[[module.mounts]]
|
||||||
|
source = "hugo_stats.json"
|
||||||
|
target = "assets/watching/hugo_stats.json"
|
||||||
|
|
||||||
|
[build]
|
||||||
|
writeStats = true
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "assets/watching/hugo_stats\\.json"
|
||||||
|
target = "styles\\.css"
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "(postcss|tailwind)\\.config\\.js"
|
||||||
|
target = "css"
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "assets/.*\\.(js|ts|jsx|tsx)"
|
||||||
|
target = "js"
|
||||||
|
[[build.cachebusters]]
|
||||||
|
source = "assets/.*\\.(.*)$"
|
||||||
|
target = "$1"
|
@ -0,0 +1,23 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<title>
|
||||||
|
{{ .Title }}
|
||||||
|
</title>
|
||||||
|
<meta name="description" content="{{ .Description }}" />
|
||||||
|
{{/* styles */}}
|
||||||
|
{{ $options := dict "inlineImports" true }}
|
||||||
|
{{ $styles := resources.Get "css/styles.css" }}
|
||||||
|
{{ $styles = $styles | resources.PostCSS $options }}
|
||||||
|
{{ if hugo.IsProduction }}
|
||||||
|
{{ $styles = $styles | minify | fingerprint | resources.PostProcess }}
|
||||||
|
{{ end }}
|
||||||
|
<link href="{{ $styles.RelPermalink }}" rel="stylesheet" />
|
||||||
|
</head>
|
||||||
|
<body class="my-10">
|
||||||
|
<div class="container px-4 lg:mx-auto">
|
||||||
|
{{ block "main" . }}{{ end }}
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
13
themes/hugo-starter-tailwind-basic/layouts/index.html
Normal file
13
themes/hugo-starter-tailwind-basic/layouts/index.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{{ define "main" }}
|
||||||
|
<article class="prose lg:prose-xl">
|
||||||
|
<h1>Tailwind 3 Hugo Starter</h1>
|
||||||
|
|
||||||
|
<h2 class="text-4xl">Testing Tailwind 3 Features</h2>
|
||||||
|
<div>
|
||||||
|
<button class="bg-[green] p-4">Share on Twitter</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2 class="text-4xl">Markdowns: {{ .Title }}</h2>
|
||||||
|
{{ .Content }}..
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
58
themes/hugo-starter-tailwind-basic/netlify.toml
Normal file
58
themes/hugo-starter-tailwind-basic/netlify.toml
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
[build]
|
||||||
|
publish = "public"
|
||||||
|
command = "hugo --gc --minify -d public;"
|
||||||
|
|
||||||
|
[context.production.environment]
|
||||||
|
HUGO_VERSION = "0.112.0"
|
||||||
|
|
||||||
|
[context.branch-deploy]
|
||||||
|
command = "hugo --minify --gc -d public -b $DEPLOY_PRIME_URL"
|
||||||
|
|
||||||
|
[context.branch-deploy.environment]
|
||||||
|
HUGO_VERSION = "0.112.0"
|
||||||
|
|
||||||
|
[context.deploy-preview]
|
||||||
|
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"
|
||||||
|
|
||||||
|
[context.deploy-preview.environment]
|
||||||
|
HUGO_VERSION = "0.112.0"
|
||||||
|
|
||||||
|
[[headers]]
|
||||||
|
for = "/*.jpg"
|
||||||
|
|
||||||
|
[headers.values]
|
||||||
|
Cache-Control = "public, max-age=604800"
|
||||||
|
|
||||||
|
[[headers]]
|
||||||
|
for = "/*.png"
|
||||||
|
|
||||||
|
[headers.values]
|
||||||
|
Cache-Control = "public, max-age=604800"
|
||||||
|
|
||||||
|
[[headers]]
|
||||||
|
for = "/*.css"
|
||||||
|
|
||||||
|
[headers.values]
|
||||||
|
Cache-Control = "public, max-age=604800"
|
||||||
|
|
||||||
|
[[headers]]
|
||||||
|
for = "/*.js"
|
||||||
|
|
||||||
|
[headers.values]
|
||||||
|
Cache-Control = "public, max-age=604800"
|
||||||
|
|
||||||
|
[[headers]]
|
||||||
|
for = "/webfonts/*"
|
||||||
|
|
||||||
|
[headers.values]
|
||||||
|
Cache-Control = "public, max-age=604800"
|
||||||
|
|
||||||
|
[[headers]]
|
||||||
|
for = "/*"
|
||||||
|
|
||||||
|
[headers.values]
|
||||||
|
X-Frame-Options = "DENY"
|
||||||
|
X-XSS-Protection = "1; mode=block"
|
||||||
|
X-Content-Type-Options = "nosniff"
|
||||||
|
Referrer-Policy = "no-referrer"
|
||||||
|
Content-Security-Policy = "script-src 'self' 'unsafe-inline'"
|
2842
themes/hugo-starter-tailwind-basic/package-lock.json
generated
Normal file
2842
themes/hugo-starter-tailwind-basic/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
18
themes/hugo-starter-tailwind-basic/package.hugo.json
Normal file
18
themes/hugo-starter-tailwind-basic/package.hugo.json
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
{
|
||||||
|
"license": "MIT",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/bep/hugo-starter-tailwind-basic.git"
|
||||||
|
},
|
||||||
|
"dependencies": {},
|
||||||
|
"devDependencies": {
|
||||||
|
"@tailwindcss/typography": "^0.4.1",
|
||||||
|
"autoprefixer": "^10.3.1",
|
||||||
|
"postcss": "^8.3.6",
|
||||||
|
"postcss-cli": "^8.3.1",
|
||||||
|
"postcss-purgecss": "^2.0.3",
|
||||||
|
"tailwindcss": "^2.2.7"
|
||||||
|
},
|
||||||
|
"name": "hugo-starter-tailwind-basic",
|
||||||
|
"version": "0.1.0"
|
||||||
|
}
|
16
themes/hugo-starter-tailwind-basic/package.json
Normal file
16
themes/hugo-starter-tailwind-basic/package.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"license": "MIT",
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/bep/hugo-starter-tailwind-basic.git"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@tailwindcss/typography": "^0.5.9",
|
||||||
|
"autoprefixer": "^10.4.14",
|
||||||
|
"postcss": "^8.4.23",
|
||||||
|
"postcss-cli": "^10.1.0",
|
||||||
|
"tailwindcss": "^3.3.2"
|
||||||
|
},
|
||||||
|
"name": "hugo-starter-tailwind-basic",
|
||||||
|
"version": "0.1.0"
|
||||||
|
}
|
8
themes/hugo-starter-tailwind-basic/postcss.config.js
Normal file
8
themes/hugo-starter-tailwind-basic/postcss.config.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
let tailwindConfig = process.env.HUGO_FILE_TAILWIND_CONFIG_JS || './tailwind.config.js';
|
||||||
|
const tailwind = require('tailwindcss')(tailwindConfig);
|
||||||
|
const autoprefixer = require('autoprefixer');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
// eslint-disable-next-line no-process-env
|
||||||
|
plugins: [tailwind, ...(process.env.HUGO_ENVIRONMENT === 'production' ? [autoprefixer] : [])],
|
||||||
|
};
|
6
themes/hugo-starter-tailwind-basic/tailwind.config.js
Normal file
6
themes/hugo-starter-tailwind-basic/tailwind.config.js
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
const typography = require('@tailwindcss/typography');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
content: ['./hugo_stats.json'],
|
||||||
|
plugins: [typography],
|
||||||
|
};
|
Reference in New Issue
Block a user