Skip to content

Commit

Permalink
Theme Init
Browse files Browse the repository at this point in the history
  • Loading branch information
apvarun committed Jul 15, 2021
0 parents commit dca9f4f
Show file tree
Hide file tree
Showing 43 changed files with 3,081 additions and 0 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/node_modules
/exampleSite/public
/exampleSite/hugo_stats.json
.DS_Store
20 changes: 20 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
The MIT License (MIT)

Copyright (c) 2021 Varun A P

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.
2 changes: 2 additions & 0 deletions archetypes/default.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
+++
+++
26 changes: 26 additions & 0 deletions assets/css/postcss.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
const themeDir = __dirname + "/../../";

const purgecss = require("@fullhuman/postcss-purgecss")({
// see https://gohugo.io/hugo-pipes/postprocess/#css-purging-with-postcss
content: [
"./hugo_stats.json",
themeDir + "/hugo_stats.json",
"exampleSite/hugo_stats.json",
],
defaultExtractor: (content) => {
let els = JSON.parse(content).htmlElements;
return els.tags.concat(els.classes, els.ids);
},
});

module.exports = {
plugins: [
require("postcss-import")({
path: [themeDir],
}),
require("tailwindcss")(themeDir + "assets/css/tailwind.config.js"),
require("autoprefixer")({
path: [themeDir],
}),
],
};
55 changes: 55 additions & 0 deletions assets/css/site.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
/* Custom Styles */
body {
font-family: "Inter", sans-serif;
}

/* Fonts */

/* inter-300 - latin */
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 300;
src: url("/fonts/inter-v3-latin-300.eot"); /* IE9 Compat Modes */
src: local(""),
url("/fonts/inter-v3-latin-300.eot?#iefix") format("embedded-opentype"),
/* IE6-IE8 */ url("/fonts/inter-v3-latin-300.woff2") format("woff2"),
/* Super Modern Browsers */ url("/fonts/inter-v3-latin-300.woff")
format("woff"),
/* Modern Browsers */ url("/fonts/inter-v3-latin-300.ttf")
format("truetype"),
/* Safari, Android, iOS */ url("/fonts/inter-v3-latin-300.svg#Inter")
format("svg"); /* Legacy iOS */
}
/* inter-500 - latin */
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 500;
src: url("/fonts/inter-v3-latin-500.eot"); /* IE9 Compat Modes */
src: local(""),
url("/fonts/inter-v3-latin-500.eot?#iefix") format("embedded-opentype"),
/* IE6-IE8 */ url("/fonts/inter-v3-latin-500.woff2") format("woff2"),
/* Super Modern Browsers */ url("/fonts/inter-v3-latin-500.woff")
format("woff"),
/* Modern Browsers */ url("/fonts/inter-v3-latin-500.ttf")
format("truetype"),
/* Safari, Android, iOS */ url("/fonts/inter-v3-latin-500.svg#Inter")
format("svg"); /* Legacy iOS */
}
/* inter-700 - latin */
@font-face {
font-family: "Inter";
font-style: normal;
font-weight: 700;
src: url("/fonts/inter-v3-latin-700.eot"); /* IE9 Compat Modes */
src: local(""),
url("/fonts/inter-v3-latin-700.eot?#iefix") format("embedded-opentype"),
/* IE6-IE8 */ url("/fonts/inter-v3-latin-700.woff2") format("woff2"),
/* Super Modern Browsers */ url("/fonts/inter-v3-latin-700.woff")
format("woff"),
/* Modern Browsers */ url("/fonts/inter-v3-latin-700.ttf")
format("truetype"),
/* Safari, Android, iOS */ url("/fonts/inter-v3-latin-700.svg#Inter")
format("svg"); /* Legacy iOS */
}
8 changes: 8 additions & 0 deletions assets/css/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/* Tailwind base - put variables under: tailwind.config.js */
@import "node_modules/tailwindcss/base";
/* Tailwind component classes registered by plugins*/
@import "node_modules/tailwindcss/components";
/* Site Specific */
@import "assets/css/site";
/* Tailwind's utility classes - generated based on config file */
@import "node_modules/tailwindcss/utilities";
89 changes: 89 additions & 0 deletions assets/css/tailwind.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
const themeDir = __dirname + "/../../";

module.exports = {
purge: {
enabled: process.env.HUGO_ENVIRONMENT === "production",
content: [
themeDir + "layouts/**/*.html",
themeDir + "content/**/*.html",
"layouts/**/*.html",
"content/**/*.html",
"exampleSite/layouts/**/*.html",
"exampleSite/content/**/*.html",
],
},
darkMode: "class",
theme: {
extend: {
typography: (theme) => ({
dark: {
css: [
{
color: theme("colors.gray.400"),
'[class~="lead"]': {
color: theme("colors.gray.300"),
},
a: {
color: theme("colors.white"),
},
strong: {
color: theme("colors.white"),
},
"ol > li::before": {
color: theme("colors.gray.400"),
},
"ul > li::before": {
backgroundColor: theme("colors.gray.600"),
},
hr: {
borderColor: theme("colors.gray.200"),
},
blockquote: {
color: theme("colors.gray.200"),
borderLeftColor: theme("colors.gray.600"),
},
h1: {
color: theme("colors.white"),
},
h2: {
color: theme("colors.white"),
},
h3: {
color: theme("colors.white"),
},
h4: {
color: theme("colors.white"),
},
"figure figcaption": {
color: theme("colors.gray.400"),
},
code: {
color: theme("colors.white"),
},
"a code": {
color: theme("colors.white"),
},
pre: {
color: theme("colors.gray.200"),
backgroundColor: theme("colors.gray.800"),
},
thead: {
color: theme("colors.white"),
borderBottomColor: theme("colors.gray.400"),
},
"tbody tr": {
borderBottomColor: theme("colors.gray.600"),
},
},
],
},
}),
},
},
variants: {
extend: {
typography: ["dark"],
},
},
plugins: [require("@tailwindcss/typography")],
};
1 change: 1 addition & 0 deletions exampleSite/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
resources/
6 changes: 6 additions & 0 deletions exampleSite/content/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
author: John Doe
title: Home of John Doe 👋
date: 2021-04-24
---

26 changes: 26 additions & 0 deletions exampleSite/content/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
author: John Doe
title: About Me
date: 2021-04-24
description:
keywords: ["about-us", "about-hugo", "contact"]
type: about
---

Written in Go, Hugo is an open source static site generator available under the [Apache Licence 2.0.](https://github.com/gohugoio/hugo/blob/master/LICENSE) Hugo supports TOML, YAML and JSON data file types, Markdown and HTML content files and uses shortcodes to add rich content. Other notable features are taxonomies, multilingual mode, image processing, custom output formats, HTML/CSS/JS minification and support for Sass SCSS workflows.

Hugo makes use of a variety of open source projects including:

- https://github.com/yuin/goldmark
- https://github.com/alecthomas/chroma
- https://github.com/muesli/smartcrop
- https://github.com/spf13/cobra
- https://github.com/spf13/viper

Hugo is ideal for blogs, corporate websites, creative portfolios, online magazines, single page applications or even a website with thousands of pages.

Hugo is for people who want to hand code their own website without worrying about setting up complicated runtimes, dependencies and databases.

Websites built with Hugo are extremely fast, secure and can be deployed anywhere including, AWS, GitHub Pages, Heroku, Netlify and any other hosting provider.

Learn more and contribute on [GitHub](https://github.com/gohugoio).
4 changes: 4 additions & 0 deletions exampleSite/content/blog/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
author: John Doe
title: Blog
---
48 changes: 48 additions & 0 deletions exampleSite/content/blog/emoji-support.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
author: "Hugo Authors"
title: "Emoji Support"
date: 2021-04-24
description: "Guide to emoji usage in Hugo"
tags: ["emoji"]
---

Emoji can be enabled in a Hugo project in a number of ways.

<!--more-->

The [`emojify`](https://gohugo.io/functions/emojify/) function can be called directly in templates or [Inline Shortcodes](https://gohugo.io/templates/shortcode-templates/#inline-shortcodes).

To enable emoji globally, set `enableEmoji` to `true` in your site's [configuration](https://gohugo.io/getting-started/configuration/) and then you can type emoji shorthand codes directly in content files; e.g.

<p><span class="nowrap"><span class="emojify">🙈</span> <code>:see_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙉</span> <code>:hear_no_evil:</code></span> <span class="nowrap"><span class="emojify">🙊</span> <code>:speak_no_evil:</code></span></p>
<br>

The [Emoji cheat sheet](http:https://www.emoji-cheat-sheet.com/) is a useful reference for emoji shorthand codes.

---

**N.B.** The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.

{{< highlight html >}}
.emoji {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
}
{{< /highlight >}}

{{< css.inline >}}

<style>
.emojify {
font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols;
font-size: 2rem;
vertical-align: middle;
}
@media screen and (max-width:650px) {
.nowrap {
display: block;
margin: 25px 0;
}
}
</style>

{{< /css.inline >}}

0 comments on commit dca9f4f

Please sign in to comment.