diff --git a/themes/hello-friend b/themes/hello-friend deleted file mode 160000 index 05c4ecf..0000000 --- a/themes/hello-friend +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 05c4ecfd03d75a0c96853737c01ecb538efea62c diff --git a/themes/hello-friend/.eslintrc.yml b/themes/hello-friend/.eslintrc.yml new file mode 100644 index 0000000..58ea9e6 --- /dev/null +++ b/themes/hello-friend/.eslintrc.yml @@ -0,0 +1,54 @@ +--- + +env: + es6: true + +extends: + # https://github.com/airbnb/javascript + - airbnb + - eslint:recommended + - prettier + +parser: babel-eslint + +rules: + # best practices + arrow-parens: + - 2 + - as-needed + semi: + - 2 + - never + class-methods-use-this: 0 + comma-dangle: + - 2 + - always-multiline + no-console: + - 2 + no-unused-expressions: 0 + no-param-reassign: + - 2 + - props: false + no-useless-escape: 0 + func-names: 0 + quotes: + - 2 + - single + - allowTemplateLiterals: true + no-underscore-dangle: 0 + object-curly-newline: 0 + function-paren-newline: 0 + operator-linebreak: + - 2 + - after + no-unused-vars: + - 2 + - argsIgnorePattern: "^_" + +globals: + document: true + requestAnimationFrame: true + window: true + self: true + fetch: true + Headers: true diff --git a/themes/hello-friend/.gitignore b/themes/hello-friend/.gitignore new file mode 100644 index 0000000..36170a7 --- /dev/null +++ b/themes/hello-friend/.gitignore @@ -0,0 +1,2 @@ +node_modules +public diff --git a/themes/hello-friend/.husky/.gitignore b/themes/hello-friend/.husky/.gitignore new file mode 100644 index 0000000..31354ec --- /dev/null +++ b/themes/hello-friend/.husky/.gitignore @@ -0,0 +1 @@ +_ diff --git a/themes/hello-friend/.husky/pre-push b/themes/hello-friend/.husky/pre-push new file mode 100755 index 0000000..f1fd679 --- /dev/null +++ b/themes/hello-friend/.husky/pre-push @@ -0,0 +1,4 @@ +#!/bin/sh +. "$(dirname "$0")/_/husky.sh" + +yarn build && git add . && git commit --amend --no-edit diff --git a/themes/hello-friend/.prettierrc b/themes/hello-friend/.prettierrc new file mode 100644 index 0000000..2ec43f6 --- /dev/null +++ b/themes/hello-friend/.prettierrc @@ -0,0 +1,11 @@ +{ + "parser": "babel", + "printWidth": 100, + "trailingComma": "all", + "overrides": [{ + "files": ["*.html"], + "options": { + "parser": "go-template" + } + }] +} diff --git a/themes/hello-friend/COMMUNITY-FEATURES.md b/themes/hello-friend/COMMUNITY-FEATURES.md new file mode 100644 index 0000000..8bda059 --- /dev/null +++ b/themes/hello-friend/COMMUNITY-FEATURES.md @@ -0,0 +1,17 @@ +# Community features + + diff --git a/themes/hello-friend/LICENSE.md b/themes/hello-friend/LICENSE.md new file mode 100644 index 0000000..770457f --- /dev/null +++ b/themes/hello-friend/LICENSE.md @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2019 panr + +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/hello-friend/README.md b/themes/hello-friend/README.md new file mode 100644 index 0000000..7fc013e --- /dev/null +++ b/themes/hello-friend/README.md @@ -0,0 +1,310 @@ +# Hello Friend + +## The theme is no longer maintained, but can still be used + +Even if the repository is archived you can still use the theme, fork it, download it, expand it, etc. Remember that each Hugo theme is a module that can be modified to match your needs. The theme is fully "open" and it depends only on the internal engines implemented in Hugo. + +The theme brings many useful features thanks to [all people that contributed to it](https://github.com/panr/hugo-theme-hello-friend/graphs/contributors) (I want to thank you all!). At the time of archiving the theme has reached 14th place on the [official Hugo Themes list](https://themes.gohugo.io/). This is huge! Thanks to you! + +---- + +![Hello Friend](https://github.com/panr/hugo-theme-hello-friend/blob/master/images/screenshot.png?raw=true) + +### DEMO - https://hugo-hello-friend.now.sh/ + +--- + +- [Hello Friend](#hello-friend) + - [DEMO - https://hugo-hello-friend.now.sh/](#demo) + - [Features](#features) + - [Built-in shortcodes](#built-in-shortcodes) + - [Code highlighting](#code-highlighting) + - [Improved RSS Feed](#improved-rss-feed) + - [How to start](#how-to-start) + - [How to run your site](#how-to-run-your-site) + - [How to configure](#how-to-configure) + - [How to add a cover image to your posts](#how-to-add-a-cover-image-to-your-posts) + - [How to display the Last Modified Date in your posts](#how-to-display-the-last-modified-date-in-your-posts) + - [How to hide "Read more" button](#how-to-hide-read-more-button) + - [Add-ons](#add-ons) + - [How to edit the theme](#how-to-edit) + - [Found a bug?](#bug) + - [New cool idea or feature](#feature) + - [`Hello Friend` theme user?](#hello-friend-theme-user) + - [License](#license) + +## Features + +- **dark/light mode**, depending on your preferences (the theme of your operating system is default, but you can change it) +- great reading experience thanks to [**Inter font**](https://rsms.me/inter/), made by [Rasmus Andersson](https://rsms.me/about/) +- nice code highlighting thanks to [**PrismJS**](https://prismjs.com) +- fully responsive + +#### Built-in shortcodes + +- **`image`** (prop required: **`src`**; props optional: **`alt`**, **`position`** (**left** is default | center | right), **`style`**) + - eg: `{{< image src="/img/hello.png" alt="Hello Friend" position="center" style="border-radius: 8px;" >}}` +- **`figure`** (same as `image`, plus few optional props: **`caption`**, **`captionPosition`** (left | **center** is default | right), **`captionStyle`** + - eg: `{{< figure src="/img/hello.png" alt="Hello Friend" position="center" style="border-radius: 8px;" caption="Hello Friend!" captionPosition="right" captionStyle="color: red;" >}}` +- **`imgproc`** Hugo shortcode for image processing, plus additional **`position`** param [ left | center | right ] (optional). + - eg: `{{< imgproc "img/hello.png" Resize "250x" center />}}` + - More detailed info on processing commands at [https://gohugo.io/content-management/image-processing/](https://gohugo.io/content-management/image-processing/) +- **`code`** (prop required: **`language`**; props optional: **`title`**, **`id`**, **`expand`** (default "△"), **`collapse`** (default "▽"), **`isCollapsed`**) + - eg: + ```go + {{< code language="css" title="Really cool snippet" id="1" expand="Show" collapse="Hide" isCollapsed="true" >}} + pre { + background: #1a1a1d; + padding: 20px; + border-radius: 8px; + font-size: 1rem; + overflow: auto; + + @media ($phone) { + white-space: pre-wrap; + word-wrap: break-word; + } + + code { + background: none !important; + color: #ccc; + padding: 0; + font-size: inherit; + } + } + {{< /code >}} + ``` + +#### Code highlighting + +By default the theme is using PrismJS to color your code syntax. All you need to do is to wrap you code like this: + +
+```html
+  // your code here
+```
+
+ +**Supported languages**: bash/shell, css, clike, javascript, apacheconf, actionscript, applescript, c, csharp, cpp, coffeescript, ruby, csp, css-extras, diff, django, docker, elixir, elm, markup-templating, erlang, fsharp, flow, git, go, graphql, less, handlebars, haskell, http, java, json, kotlin, latex, markdown, makefile, objectivec, ocaml, perl, php, php-extras, r, sql, processing, scss, python, jsx, typescript, toml, reason, textile, rust, sass, stylus, scheme, pug, swift, yaml, haml, twig, tsx, vim, visual-basic, wasm. + +#### Improved RSS Feed + +Some enhancements have been made to Hugo's [internal RSS](https://github.com/gohugoio/hugo/blob/25a6b33693992e8c6d9c35bc1e781ce3e2bca4be/tpl/tplimpl/embedded/templates/_default/rss.xml) generation code. + +**A page's cover image now appears at the top of its feed display**. This image is set manually using [the cover params](#how-to-add-a-cover-image-to-your-posts). If unset, the RSS generator searches for the first image file in the page bundle whose name includes 'featured', 'cover', or 'thumbnail'. + +**You can optionally display the full page content in your RSS feed** (default is Description or Summary data from Front Matter). Set `rssFullText = true` in your `config.toml` file to enable this option. + +**You can choose a site image to be displayed when searching for your RSS feed.** Set `rssImage = "image/url/here"` in your `config.toml` file to enable this option. + +## How to start + +You can download the theme manually by going to [https://github.com/panr/hugo-theme-hello-friend.git](https://github.com/panr/hugo-theme-hello-friend.git) and pasting it to `themes/hello-friend` in your root directory. + +You can also choose **one of the 3 possibilities** to install the theme: + +1. as Hugo Module +2. as a standalone local directory +3. as a git submodule + +⚠️ **The theme needs at least Hugo **Extended** v0.90.x**. + +### Install theme as Hugo Module + +```bash +# If this is the first time you're using Hugo Modules +# in your project. You have to initiate your own module before +# you fetch the theme module. +# +# hugo mod init [your website/module name] +hugo mod get github.com/panr/hugo-theme-hello-friend +``` + +and in your config file add: + +```toml +[module] + # this is needed when you fetch the theme as a submodule to your repo. + # replacements = "github.com/panr/hugo-theme-hello-friend -> themes/hello-friend" +[[module.imports]] + path = 'github.com/panr/hugo-theme-hello-friend' +``` + +Keep in mind that the theme by default won't show up in the `themes` directory. This means that you are using the theme as it was on the repository at the moment you fetched it. Your local `go.sum` file keeps all the references. Read more about Hugo Modules in the [official documentation](https://gohugo.io/hugo-modules/). + +⚠️ If you encounter any issues with: + +```bash +Error: module "hello-friend" not found; either add it as a Hugo Module or store it in "[...your custom path]/themes".: module does not exist +``` + +then please try to remove `theme = "hello-friend"` from your config file. + +### Install theme locally + +```bash +git clone https://github.com/panr/hugo-theme-hello-friend.git themes/hello-friend +``` + +This will clone the repository directly to the `themes/hello-friend` directory. + +### Install theme as a submodule + +```bash +git submodule add -f https://github.com/panr/hugo-theme-hello-friend.git themes/hello-friend +``` + +This will install the repository as a sumbodule in the `themes/hello-friend` directory. + +## How to run your site + +From your Hugo root directory run: + +``` +hugo server -t hello-friend +``` + +and go to `localhost:1313` in your browser. From now on all the changes you make will go live, so you don't need to refresh your browser every single time. + +## How to configure + +The theme doesn't require any advanced configuration. Just copy: + +```toml +baseurl = "/" +languageCode = "en-us" +# Add it only if you keep the theme in the `themes` directory. +# Remove it if you use the theme as a remote Hugo Module. +theme = "hello-friend" +paginate = 5 + +[params] + # dir name of your blog content (default is `content/posts`). + # the list of set content will show up on your index page (baseurl). + contentTypeName = "posts" + + # OS theme is default when not provided, but you can force it to "light" or "dark" + defaultTheme = "dark" + + # if you set this to 0, only submenu trigger will be visible + showMenuItems = 2 + + # Show reading time in minutes for posts + showReadingTime = false + + # Show table of contents at the top of your posts (defaults to false) + # Alternatively, add this param to post front matter for specific posts + # toc = true + + # Show full page content in RSS feed items + #(default is Description or Summary metadata in the front matter) + # rssFullText = true + +[languages] + [languages.en] + title = "Hello Friend" + subtitle = "A simple theme for Hugo" + keywords = "" + copyright = "" + menuMore = "Show more" + writtenBy = "Written by" + readMore = "Read more" + readOtherPosts = "Read other posts" + newerPosts = "Newer posts" + olderPosts = "Older posts" + minuteReadingTime = "min read" + dateFormatSingle = "2006-01-02" + dateFormatList = "2006-01-02" + # leave empty to disable, enter display text to enable + # lastModDisplay = "" + + [languages.en.params.logo] + logoText = "hello friend" + logoHomeLink = "/" + # or + # + # path = "/img/your-example-logo.svg" + # alt = "Your example logo alt text" + + [languages.en.menu] + [[languages.en.menu.main]] + identifier = "about" + name = "About" + url = "/about" + [[languages.en.menu.main]] + identifier = "showcase" + name = "Showcase" + url = "/showcase" +``` + +to `config.toml` file in your Hugo root directory and change params fields. In case you need, here's [a YAML version](https://gist.github.com/panr/8f9b363e358aaa33f6d353c77feee959). + +**NOTE:** Please keep in mind that currently main menu doesn't support nesting. + +## How to add a cover image to your posts + +Adding a cover image to your post is simple and there are two options when you edit your `index.md` file in `content/posts/blog-entry-xy/index.md`: + +* Use `cover = "/path/to/absolute/img.jpg"` to link an absolute image + * Resulting in `https://www.yourpage.com/path/to/absolute/img.jpg` +* Use `cover = "img.jpg"` and `useRelativeCover = true` to link the image relative to the blog post folder + * Resulting in `https://www.yourpage.com/posts/blog-entry-xy/img.jpg` +* Use `coverAlt = "description of image"` to add custom alt text to the cover image (defaults to post or page title as alt text) +* Use `coverCaption = "Image Credit to [Barry Bluejeans](https://unsplash.com/)"` to add a caption for the cover image. + +## How to display the Last Modified Date in your posts + +Add `lastModDisplay = "[your display text]"` to `config.toml` to enable last modified date on your posts. Note - an empty string value `""` does not display anything. + +Example: `lastModDisplay = "Modified:"` --> "Modified: Jan 01, 0001" + +:octocat: Hugo's `enableGitInfo` option is a nice complement to this feature. + +## How to hide "Read more" button + +In a post's front matter you have to add `hideReadMore` param set to `true`. This will result in that the post won't have "Read more" button in the list view. + +## Add-ons + +- **Archive** — Theme has built-in `archive` page for main content (see `contentTypeName` variable in config). If you need archive on your blog just copy https://github.com/panr/hugo-theme-hello-friend/blob/master/exampleSite/content/archive.md to your `content` dir. If you need multilangual archives, duplicate `content/archive.md` and add `.Lang` variable, eg: `content/archive.pl.md` (remember to change `url` in duplicated file). +- **Comments** — for adding comments to your blog posts please take a look at `layouts/partials/comments.html` https://github.com/panr/hugo-theme-terminal/blob/master/layouts/partials/comments.html. +- **Prepended ``** — if you need to add something inside `` element, and before any of the theme's ` diff --git a/themes/hello-friend/layouts/partials/comments.html b/themes/hello-friend/layouts/partials/comments.html new file mode 100644 index 0000000..8dd2afb --- /dev/null +++ b/themes/hello-friend/layouts/partials/comments.html @@ -0,0 +1,7 @@ + diff --git a/themes/hello-friend/layouts/partials/extended_footer.html b/themes/hello-friend/layouts/partials/extended_footer.html new file mode 100644 index 0000000..f2374c7 --- /dev/null +++ b/themes/hello-friend/layouts/partials/extended_footer.html @@ -0,0 +1,4 @@ + diff --git a/themes/hello-friend/layouts/partials/extended_head.html b/themes/hello-friend/layouts/partials/extended_head.html new file mode 100644 index 0000000..c422b63 --- /dev/null +++ b/themes/hello-friend/layouts/partials/extended_head.html @@ -0,0 +1,4 @@ + diff --git a/themes/hello-friend/layouts/partials/footer.html b/themes/hello-friend/layouts/partials/footer.html new file mode 100644 index 0000000..b972a48 --- /dev/null +++ b/themes/hello-friend/layouts/partials/footer.html @@ -0,0 +1,21 @@ +
+ +{{ $menu := resources.Get "js/menu.js" | js.Build }} +{{ $prism := resources.Get "js/prism.js" | js.Build }} +{{ $theme := resources.Get "js/theme.js" | js.Build }} +{{ $bundle := slice $menu $prism $theme | resources.Concat "bundle.js" | resources.Minify }} + + +{{- partial "extended_footer.html" . }} diff --git a/themes/hello-friend/layouts/partials/greater-icon.html b/themes/hello-friend/layouts/partials/greater-icon.html new file mode 100644 index 0000000..dc69bbb --- /dev/null +++ b/themes/hello-friend/layouts/partials/greater-icon.html @@ -0,0 +1,3 @@ + + + diff --git a/themes/hello-friend/layouts/partials/head.html b/themes/hello-friend/layouts/partials/head.html new file mode 100644 index 0000000..07938e1 --- /dev/null +++ b/themes/hello-friend/layouts/partials/head.html @@ -0,0 +1,48 @@ + + + + + + + + +{{- partial "prepended_head.html" . }} + + +{{ $res := resources.Get "css/style.scss" }} +{{ $style := $res | resources.ToCSS }} + + + + + + + + + + + + + + + + + +{{ template "_internal/twitter_cards.html" . }} + + +{{ template "_internal/opengraph.html" . }} + + +{{ range .AlternativeOutputFormats -}} + {{ printf `` .Rel .MediaType.Type .RelPermalink $.Site.Title | safeHTML }} +{{ end -}} + + +{{- partial "extended_head.html" . }} diff --git a/themes/hello-friend/layouts/partials/header.html b/themes/hello-friend/layouts/partials/header.html new file mode 100644 index 0000000..f7b5e75 --- /dev/null +++ b/themes/hello-friend/layouts/partials/header.html @@ -0,0 +1,19 @@ +
+ + {{ partial "logo.html" . }} + + {{ if len $.Site.Menus }} + {{ partial "menu.html" . }} + + + + + + + {{ end }} + + {{ partial "theme-icon.html" . }} + + + +
diff --git a/themes/hello-friend/layouts/partials/lastmod.html b/themes/hello-friend/layouts/partials/lastmod.html new file mode 100644 index 0000000..3f210bd --- /dev/null +++ b/themes/hello-friend/layouts/partials/lastmod.html @@ -0,0 +1,10 @@ +{{ $hourInSec := 3600 }} + +{{ if gt .Lastmod (add (time .Date).Unix $hourInSec) }} + {{ with .Lastmod }} + + ({{ $.Site.Params.LastModDisplay }} + {{ .Format ($.Site.Params.DateFormatSingle | default "2006-01-02") }}) + + {{ end }} +{{ end }} diff --git a/themes/hello-friend/layouts/partials/logo.html b/themes/hello-friend/layouts/partials/logo.html new file mode 100644 index 0000000..598006f --- /dev/null +++ b/themes/hello-friend/layouts/partials/logo.html @@ -0,0 +1,15 @@ + diff --git a/themes/hello-friend/layouts/partials/menu.html b/themes/hello-friend/layouts/partials/menu.html new file mode 100644 index 0000000..660e02e --- /dev/null +++ b/themes/hello-friend/layouts/partials/menu.html @@ -0,0 +1,42 @@ + diff --git a/themes/hello-friend/layouts/partials/pagination.html b/themes/hello-friend/layouts/partials/pagination.html new file mode 100644 index 0000000..55c8b57 --- /dev/null +++ b/themes/hello-friend/layouts/partials/pagination.html @@ -0,0 +1,20 @@ + diff --git a/themes/hello-friend/layouts/partials/postcover.html b/themes/hello-friend/layouts/partials/postcover.html new file mode 100644 index 0000000..d9e0bc6 --- /dev/null +++ b/themes/hello-friend/layouts/partials/postcover.html @@ -0,0 +1,11 @@ +
+ {{ if .Params.UseRelativeCover }} + {{ .Params.CoverAlt | plainify | default .Title }} + {{ else }} + {{ .Params.CoverAlt | plainify | default .Title }} + {{ end }} + + {{ if .Params.CoverCaption }} +
{{ .Params.CoverCaption | markdownify }}
+ {{ end }} +
diff --git a/themes/hello-friend/layouts/partials/prepended_head.html b/themes/hello-friend/layouts/partials/prepended_head.html new file mode 100644 index 0000000..03c91de --- /dev/null +++ b/themes/hello-friend/layouts/partials/prepended_head.html @@ -0,0 +1,4 @@ + diff --git a/themes/hello-friend/layouts/partials/theme-icon.html b/themes/hello-friend/layouts/partials/theme-icon.html new file mode 100644 index 0000000..c44b326 --- /dev/null +++ b/themes/hello-friend/layouts/partials/theme-icon.html @@ -0,0 +1,14 @@ + + + diff --git a/themes/hello-friend/layouts/shortcodes/code.html b/themes/hello-friend/layouts/shortcodes/code.html new file mode 100644 index 0000000..8bab825 --- /dev/null +++ b/themes/hello-friend/layouts/shortcodes/code.html @@ -0,0 +1,15 @@ +{{ $id := delimit (shuffle (seq 1 9)) "" }} + +{{ if .Get "language" }} +
+ + +
{{ .Inner | string }}
+
+{{ else }} + {{ errorf "If you want to use the \"collapsable code\" shortcode, you need to pass a mandatory \"language\" param. The issue occured in %q (%q)" .Page.File .Page.Permalink }} +{{ end }} diff --git a/themes/hello-friend/layouts/shortcodes/figure.html b/themes/hello-friend/layouts/shortcodes/figure.html new file mode 100644 index 0000000..e3c2fe2 --- /dev/null +++ b/themes/hello-friend/layouts/shortcodes/figure.html @@ -0,0 +1,8 @@ +{{ if .Get "src" }} +
+ {{ . | plainify }} + {{ if .Get "caption" }} +
{{ .Get "caption" | markdownify }}
+ {{ end }} +
+{{ end }} diff --git a/themes/hello-friend/layouts/shortcodes/image.html b/themes/hello-friend/layouts/shortcodes/image.html new file mode 100644 index 0000000..6b2a2c0 --- /dev/null +++ b/themes/hello-friend/layouts/shortcodes/image.html @@ -0,0 +1,3 @@ +{{ if .Get "src" }} + {{ . | plainify }} +{{ end }} diff --git a/themes/hello-friend/layouts/shortcodes/imgproc.html b/themes/hello-friend/layouts/shortcodes/imgproc.html new file mode 100644 index 0000000..1155796 --- /dev/null +++ b/themes/hello-friend/layouts/shortcodes/imgproc.html @@ -0,0 +1,30 @@ +{{ $original := .Page.Resources.GetMatch (printf "*%s*" (.Get 0)) }} +{{ $command := .Get 1 }} +{{ $options := .Get 2 }} +{{ $position := .Get 3 }} + +{{ if eq $command "Fit" }} + {{ .Scratch.Set "image" ($original.Fit $options) }} + {{ else if eq $command "Resize" }} + {{ .Scratch.Set "image" ($original.Resize $options) }} + {{ else if eq $command "Fill" }} + {{ .Scratch.Set "image" ($original.Fill $options) }} + {{ else }} + {{ errorf "Invalid image processing command: Must be one of Fit, Fill or Resize." }} +{{ end }} + +{{ $image := .Scratch.Get "image" }} + +
+ + {{ with .Inner }} +
+ {{ . }} +
+ {{ end }} +
diff --git a/themes/hello-friend/package.hugo.json b/themes/hello-friend/package.hugo.json new file mode 100644 index 0000000..fc2a6a2 --- /dev/null +++ b/themes/hello-friend/package.hugo.json @@ -0,0 +1,44 @@ +{ + "name": "hello-friend", + "version": "3.0.0", + "main": "index.js", + "author": "Radosław Kozieł <@panr> ", + "license": "MIT", + "scripts": { + "test": "echo 'Test'" + }, + "browserslist": [ + "last 2 versions", + ">1%", + "not dead" + ], + "comments": { + "dependencies": { + "yarn": "project" + }, + "devDependencies": { + "browserslist": "project", + "clipboard": "project", + "eslint-config-airbnb": "project", + "eslint-config-prettier": "project", + "eslint-plugin-jsx-a11y": "project", + "husky": "project" + } + }, + "dependencies": { + "yarn": "^1.22.10" + }, + "devDependencies": { + "browserslist": "^4.16.5", + "clipboard": "^2.0.4", + "eslint-config-airbnb": "^18.2.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-jsx-a11y": "^6.2.1", + "husky": "^5.1.3" + }, + "husky": { + "hooks": { + "pre-push": "yarn build && git add . && git commit --amend --no-edit" + } + } +} diff --git a/themes/hello-friend/package.json b/themes/hello-friend/package.json new file mode 100644 index 0000000..fc2a6a2 --- /dev/null +++ b/themes/hello-friend/package.json @@ -0,0 +1,44 @@ +{ + "name": "hello-friend", + "version": "3.0.0", + "main": "index.js", + "author": "Radosław Kozieł <@panr> ", + "license": "MIT", + "scripts": { + "test": "echo 'Test'" + }, + "browserslist": [ + "last 2 versions", + ">1%", + "not dead" + ], + "comments": { + "dependencies": { + "yarn": "project" + }, + "devDependencies": { + "browserslist": "project", + "clipboard": "project", + "eslint-config-airbnb": "project", + "eslint-config-prettier": "project", + "eslint-plugin-jsx-a11y": "project", + "husky": "project" + } + }, + "dependencies": { + "yarn": "^1.22.10" + }, + "devDependencies": { + "browserslist": "^4.16.5", + "clipboard": "^2.0.4", + "eslint-config-airbnb": "^18.2.0", + "eslint-config-prettier": "^8.1.0", + "eslint-plugin-jsx-a11y": "^6.2.1", + "husky": "^5.1.3" + }, + "husky": { + "hooks": { + "pre-push": "yarn build && git add . && git commit --amend --no-edit" + } + } +} diff --git a/themes/hello-friend/postcss.config.js b/themes/hello-friend/postcss.config.js new file mode 100644 index 0000000..95c260e --- /dev/null +++ b/themes/hello-friend/postcss.config.js @@ -0,0 +1,24 @@ +const url = require("postcss-url"); +const imports = require("postcss-import"); +const nested = require("postcss-nested"); +const postcssCustomMedia = require("postcss-custom-media"); +const postCSSPresetEnv = require("postcss-preset-env"); +const browsers = require("browserslist"); +const cssnano = require("cssnano"); +const mixins = require("postcss-mixins"); + +module.exports = () => ({ + plugins: [ + url, + imports, + mixins, + nested, + postcssCustomMedia, + postCSSPresetEnv({ + stage: 1, + }), + cssnano({ + preset: "default", + }), + ], +}); diff --git a/themes/hello-friend/static/img/apple-touch-icon-144-precomposed.png b/themes/hello-friend/static/img/apple-touch-icon-144-precomposed.png new file mode 100644 index 0000000..bde2fe0 Binary files /dev/null and b/themes/hello-friend/static/img/apple-touch-icon-144-precomposed.png differ diff --git a/themes/hello-friend/static/img/favicon.png b/themes/hello-friend/static/img/favicon.png new file mode 100644 index 0000000..b973699 Binary files /dev/null and b/themes/hello-friend/static/img/favicon.png differ diff --git a/themes/hello-friend/static/style.css b/themes/hello-friend/static/style.css new file mode 100644 index 0000000..e69de29 diff --git a/themes/hello-friend/theme.toml b/themes/hello-friend/theme.toml new file mode 100644 index 0000000..9afa8b2 --- /dev/null +++ b/themes/hello-friend/theme.toml @@ -0,0 +1,27 @@ +name = "hello-friend" +description = "A simple theme for Hugo. That's it." +features = ["blog", "shortcode", "syntax Highlighting"] +homepage = "https://github.com/panr/hugo-theme-hello-friend/" +license = "MIT" +licenselink = "https://github.com/panr/hugo-theme-hello-friend/blob/master/LICENSE.md" +min_version = 0.90 +tags = [ + "blog", + "clean", + "customizable", + "dark", + "highlighting", + "light", + "minimal", + "monochromatic", + "multilingual", + "personal", + "responsive", + "simple", + "technical", +] + +[author] +homepage = "https://radoslawkoziel.pl" +name = "panr" +twitter = "https://twitter.com/panr"