Compare commits

...

85 Commits

Author SHA1 Message Date
panr
7e13d24d10 farewell! 2023-06-10 18:02:22 +02:00
panr
3a5a676118 fixes after PRs 2023-06-10 00:27:17 +02:00
Radek Kozieł
4a8f9aa798
Merge pull request #473 from icy-comet/fix_css_var
delete unused css vars
2023-06-09 23:38:28 +02:00
Radek Kozieł
c560d941ae
Merge pull request #463 from blakeashleyjr/patch-1
Update main.scss to fix footnote counting issue
2023-06-09 23:38:15 +02:00
Radek Kozieł
653c3a1b7e
Merge pull request #460 from Thunder33345/taxonomy-title
Added heading to term pages
2023-06-09 23:37:19 +02:00
Radek Kozieł
bcbd22ba8a
Merge pull request #459 from Thunder33345/patch-1
Show content if available in terms.html
2023-06-09 23:34:12 +02:00
Radek Kozieł
7926417fc8
Merge pull request #461 from Thunder33345/stray-decoration
Fixed stray `::` when there's no other content to show
2023-06-09 23:33:27 +02:00
Radek Kozieł
52ab4d5609
Update USERS.md 2023-06-09 23:32:02 +02:00
Radek Kozieł
e121cb427f
Merge pull request #439 from cizordj/patch-1
Update the image shortcode
2023-06-09 23:30:16 +02:00
Radek Kozieł
b49a0c1ae5
Update .gitignore 2023-06-09 23:28:59 +02:00
Radek Kozieł
10f6da7e8d
Merge pull request #426 from T2hhbmEK/feat/rm-resources
cleanup: rm resources directory
2023-06-09 23:28:11 +02:00
Radek Kozieł
3760c42316
Merge pull request #427 from T2hhbmEK/feat/tasklist
Fix broken checkbox styles
2023-06-09 23:27:20 +02:00
Radek Kozieł
8b0eca9632
Merge pull request #440 from cizordj/patch-2
Fix little typo in the README
2023-06-09 23:24:30 +02:00
Radek Kozieł
e1f667702c
Merge pull request #434 from larsks/fix/USERS
Remove broken links from USERS.md
2023-06-09 23:24:11 +02:00
Radek Kozieł
051275fd7a
Merge branch 'master' into fix/USERS 2023-06-09 23:24:02 +02:00
Radek Kozieł
7d877e0fcd
Merge pull request #448 from Kitchvx/patch-1
Update USERS.md
2023-06-09 23:22:27 +02:00
Radek Kozieł
4a42c4df0a
Merge branch 'master' into patch-1 2023-06-09 23:22:22 +02:00
Radek Kozieł
a0c0370113
Merge pull request #437 from domgoodwin/patch-1
Update USERS.md
2023-06-09 23:21:21 +02:00
Radek Kozieł
672ab557a4
Merge branch 'master' into patch-1 2023-06-09 23:21:15 +02:00
Radek Kozieł
70f40eb3e1
Merge pull request #428 from Sir-Photch/patch-1
Update USERS.md
2023-06-09 23:20:44 +02:00
Radek Kozieł
05bbfa3050
Merge branch 'master' into patch-1 2023-06-09 23:20:03 +02:00
Radek Kozieł
e1355294e7
Merge pull request #423 from Drew-Morris/patch-1
Update USERS.md
2023-06-09 23:19:43 +02:00
Radek Kozieł
3a9b3bffef
Merge pull request #472 from PolaricEntropy/PolaricEntropy-patch-1
Fix non-https link to gohugo.io
2023-06-09 19:15:31 +02:00
Björn Ehrby
ef7108798b
Fix non-https link to gohugo.io
Fixes the non-secure link to gohugo.io, which sometimes causes security suites to present a warning about non-secure external links
2023-06-05 23:47:46 +02:00
Aniket Teredesai
3a04ec15a5 delete unused css vars 2023-05-06 19:38:57 +05:30
Blake Ashley
fb50e39b15
Update main.scss to use nesting with & 2023-05-02 08:33:13 -07:00
Blake Ashley
0085fc68b9
Update main.scss to fix footnote counting issue 2023-05-01 15:30:04 -07:00
Thunder33345
729543fbd1
apply decorator fix 2023-04-30 22:17:16 +08:00
Thunder33345
823168e161
changed decorators for single 2023-04-30 21:44:59 +08:00
Thunder33345
32df60e801
moved :: decoration position
this hides it if there's no post author to show
2023-04-30 21:34:08 +08:00
Thunder33345
e76c7ebb66
added heading to term pages 2023-04-27 00:54:20 +08:00
Thunder
74e7e40de1
Add option to show content in terms.html 2023-04-26 23:50:25 +08:00
panr
9726b8d806 Allow target="_blank" with .Params.NewTab set to true
This commit belongs to the PR: https://github.com/panr/hugo-theme-terminal/pull/370

by @matidfk
2023-04-13 23:24:56 +02:00
Nathan
dd74597617
Update USERS.md 2023-03-24 20:35:38 +00:00
Radek Kozieł
641c5a27ac
Merge pull request #447 from cizordj/patch-3
Remove duplicated robots tag
2023-03-23 08:07:02 +01:00
Cézar Augusto
a81c5ae24f
Remove duplicated robots tag
Closes #446
2023-03-22 20:22:42 -03:00
Cézar Augusto
1252b09ca9
Fix little typo in the README 2023-03-06 20:30:01 -03:00
Cézar Augusto
5aac274434
Update the image shortcode
- Add both width and height attributes
2023-03-06 20:21:08 -03:00
Dom Goodwin
194fc9b1c3
Update USERS.md 2023-02-26 11:27:49 +00:00
Lars Kellogg-Stedman
5d7c29f916
Remove broken links from USERS.md
I was looking for example sites and encountered several broken links in
USERS.md. This commit removes all links that have connection problems.
Links were verified using the script in [1].

A complete list of the removed links is included below.

[1]: https://gist.github.com/larsks/87763718da69eaced3c8901cc7e27ae8

- Removed https://thecodecousins.com: failed to connect
- Removed https://dawsonverboven.com/: failed to connect
- Removed https://geekx.tech/: failed to connect
- Removed https://ssgram.dev: failed to connect
- Removed https://schacherbauer.dev: failed to connect
- Removed https://waterloos.niflheimr.blue/: failed to connect
- Removed https://security.jtang.dev: ssl error (bad certificate?)
- Removed https://wjdevschool.com/: failed to connect
- Removed https://rinma.dev: ssl error (bad certificate?)
- Removed https://conight.com: 403 Client Error: Forbidden for url: https://conight.com/
- Removed https://markopolo123.github.io: 404 Client Error: Not Found for url: https://markopolo123.github.io/
- Removed https://openfoxblog.leven.dev/: ssl error (bad certificate?)
- Removed https://mickie1.gitlab.io/blog/: 503 Server Error: Service Temporarily Unavailable for url: https://gitlab.com/users/sign_in
- Removed https://cristiioan.me: ssl error (bad certificate?)
- Removed https://1mup.myorange.house: failed to connect
- Removed https://bg117.xyz/projects: failed to connect
- Removed https://nazdarthegame.com/: ssl error (bad certificate?)
- Removed https://dongzhi.me: 400 Client Error: Bad Request for url: https://dongzhi.me/
2023-02-14 14:49:43 -05:00
Christoph
5e4e359e89
Update USERS.md
just as a notice, in case you want to keep this USERS.md update; There are multiple links not pointing to hugo-theme-terminal sites, as far as I can see.
2023-01-31 18:10:38 +01:00
T2hhbmEK
f069aede2d
add support for tasklist checkbox 2023-01-31 18:47:23 +08:00
T2hhbmEK
75c034ddd3
rm resources directory 2023-01-31 14:47:52 +08:00
Drew Morris
35e18fcf2c
Update USERS.md 2023-01-28 13:29:53 -07:00
Radek Kozieł
2b14b3d4e5
Merge pull request #417 from T2hhbmEK/fix/summary
fix summary not showing
2023-01-21 23:12:58 +01:00
T2hhbmEK
1093ce9610
fix summary not showing 2023-01-21 23:20:14 +08:00
Radek Kozieł
9e657da94a
Merge pull request #415 from florianbieser/FeatureNoindexAttribute
option to set an attribute noindex in front-matter for some sites
2023-01-20 19:08:30 +01:00
Radek Kozieł
bf0dc1643b
Merge pull request #414 from florianbieser/FeatureReadingtimeI18N
option to write the reading time in the same language as the site
2023-01-20 00:32:18 +01:00
Florian
3d894d14be
correct behaviour even if boolean is written as string 2023-01-19 17:07:38 +01:00
Florian
415337451b
4 spaces instead of 1 tab 2023-01-19 17:03:35 +01:00
Florian
e06649f8c8 option to set an attribute noindex in front-matter for some sites 2023-01-18 16:55:33 +01:00
Florian
de960997bc option to write the reading time in the same language as the site 2023-01-18 16:51:20 +01:00
Radek Kozieł
94d8927676
Merge pull request #412 from AntonioGarosi/patch-1
Update USERS.md
2023-01-17 22:22:57 +01:00
Antonio
12d439387d
Update USERS.md 2023-01-17 20:51:02 +01:00
Radek Kozieł
7fa36fe0ee
Merge pull request #408 from QuLogic/min-version
Add required version to config
2023-01-04 09:01:35 +01:00
Radek Kozieł
1f676558df
Update README.md 2023-01-04 08:50:14 +01:00
panr
985bed75ff update go.mod version 2023-01-04 08:26:16 +01:00
Elliott Sales de Andrade
893ded398f Add required version to config
This should generate a warning from hugo if using the standard build, or
an old one.
2023-01-03 20:41:08 -05:00
panr
20fc1079fa update footer links 2023-01-02 23:19:52 +01:00
panr
1d7e65f42e fix external static style.css path (part 2) 2022-12-09 15:54:14 +01:00
panr
613325cba0 fix external static style.css path 2022-12-08 23:42:23 +01:00
Radek Kozieł
007d7f3df6
Update README.md 2022-11-21 08:48:27 +01:00
Radek Kozieł
5b9dff342a
Merge pull request #396 from hubba1987/389-fix
#389 Added additional check if color param is empty string
2022-11-17 10:41:52 +01:00
Aliaksei Yazhou
c1952eb7d5 #389 Added additional check if color param is empty string 2022-11-17 00:55:10 +02:00
panr
0b5cc9b75f Fix menu items 2022-11-13 23:36:26 +01:00
panr
2654974bdd Layout fixes 2022-11-13 23:21:03 +01:00
panr
1e65ffdf24 Layout fixes 2022-11-13 22:45:10 +01:00
Radek Kozieł
b931e14ece
Update theme version 2022-11-08 08:34:36 +01:00
panr
39ba3a4ea9 Simplify menus 2022-11-08 00:34:01 +01:00
panr
09628b6b3d Update dev dependencies 2022-11-07 18:34:28 +01:00
panr
8b28b06e72 Fix cover param for og:image 2022-11-06 10:31:25 +01:00
panr
3a101141d0 Fix menu layout and bring back spacer element 2022-11-06 10:05:46 +01:00
Radek Kozieł
c5febe957a
Fix menu layout 2022-11-06 09:16:27 +01:00
Radek Kozieł
1023b03b77
Merge pull request #386 from rseabra/fix-menus
Fix menu's by properly enclosing the inner ul's into li's as it shoul…
2022-11-06 09:13:48 +01:00
Rui Miguel Silva Seabra
45dd9bd29e Fix menu's by properly enclosing the inner ul's into li's as it should be. 2022-11-03 19:05:40 +00:00
Radek Kozieł
1c93397784
Update README.md 2022-10-30 08:20:35 +01:00
Radek Kozieł
6601fd0b14
Update README.md 2022-10-29 23:02:57 +02:00
panr
4a77a89ea7 Remove comma from package.json 2022-10-28 13:24:01 +02:00
panr
6250dca5a0 Fix media-queries for tablet and mobile 2022-10-27 16:36:28 +02:00
Radek Kozieł
4d906006aa
Merge pull request #382 from kylestratis/patch-2
Update USERS.md
2022-10-25 08:22:29 +02:00
Kyle Stratis
c0595bfe3c
Update USERS.md 2022-10-24 20:59:55 -04:00
panr
855855cd60 Fix .Lastmod context 2022-10-24 16:31:41 +02:00
panr
0e14937d31 Update Meta and README 2022-10-23 11:18:31 +02:00
panr
661243194d Update README 2022-10-22 17:25:55 +02:00
panr
628c104026 Update hugo module 2022-10-22 14:39:11 +02:00
44 changed files with 9337 additions and 2485 deletions

View File

@ -18,7 +18,7 @@ rules:
- as-needed
semi:
- 2
- never
- always
class-methods-use-this: 0
comma-dangle:
- 2
@ -33,7 +33,7 @@ rules:
func-names: 0
quotes:
- 2
- single
- double
- allowTemplateLiterals: true
no-underscore-dangle: 0
object-curly-newline: 0

2
.gitignore vendored
View File

@ -88,6 +88,6 @@ typings/
.dynamodb/
# End of https://www.gitignore.io/api/node
public
resources
.hugo_build.lock

View File

@ -2,6 +2,7 @@
"parser": "babel",
"printWidth": 100,
"trailingComma": "all",
"arrowParens": "avoid",
"overrides": [{
"files": ".html",
"options": {

10
.stylelintrc.json Normal file
View File

@ -0,0 +1,10 @@
{
"extends": [
"stylelint-config-standard-scss",
"stylelint-config-prettier-scss"
],
"rules": {
"max-empty-lines": 1
}
}

View File

@ -1,9 +1,20 @@
# Terminal
## 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-terminal/graphs/contributors) (I want to thank you all!). At the time of archiving the theme has reached 9th place on the [official Hugo Themes list](https://themes.gohugo.io/). This is huge! Thanks to you!
----
![Terminal](https://github.com/panr/hugo-theme-terminal/blob/master/images/screenshot.png?raw=true)
### DEMO - https://hugo-terminal.now.sh/
### ⚠️ The theme needs at least Hugo **Extended** v0.90.x.
---
- [Features](#features)
@ -14,11 +25,11 @@
- [How to configure](#how-to-configure)
- [Post archetype](#post-archetype)
- [Add-ons](#add-ons)
- [How to (safely) edit the theme](#how-to-edit)
- [How to edit the theme](#how-to-edit)
- [Found a bug?](#bug)
- [New cool idea or feature](#feature)
- [Terminal theme user?](#terminal-theme-user)
- [Licence](#licence)
- [License](#license)
## Features
@ -82,11 +93,23 @@ A custom syntax highlighting based on PrismJS. All you need to do is to wrap you
You can download the theme manually by going to [https://github.com/panr/hugo-theme-terminal.git](https://github.com/panr/hugo-theme-terminal.git) and pasting it to `themes/terminal` 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
hugo mod init github.com/panr/hugo-theme-terminal
hugo mod get github.com/panr/hugo-theme-terminal
# 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-terminal/v3
```
and in your config file add:
@ -96,14 +119,7 @@ and in your config file add:
# this is needed when you fetch the theme as a submodule to your repo.
# replacements = "github.com/panr/hugo-theme-terminal -> themes/terminal"
[[module.imports]]
path = 'github.com/panr/hugo-theme-terminal'
```
and also remove reference to the theme (since Hugo Module don't need it):
```toml
# REMOVE OR COMMENT THIS LINE
theme = "terminal"
path = 'github.com/panr/hugo-theme-terminal/v3'
```
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/).
@ -124,12 +140,16 @@ git submodule add -f https://github.com/panr/hugo-theme-terminal.git themes/term
This will install the repository as a sumbodule in the `themes/terminal` directory.
⚠️ **The theme needs at least Hugo version 0.90.x**.
⚠️ If you encounter any issues with:
```bash
Error: module "terminal" 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 = "terminal"` from your config file.
## How to run your site
If you installed all needed `npm` dependencies, then you can run:
```bash
hugo server -t terminal
```
@ -143,6 +163,8 @@ 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 = "terminal"
paginate = 5
@ -218,6 +240,8 @@ paginate = 5
olderPosts = "Older posts"
missingContentMessage = "Page not found..."
missingBackButtonLabel = "Back to home page"
minuteReadingTime = "min read"
words = "words"
[languages.en.params.logo]
logoText = "Terminal"

View File

@ -1,27 +1,20 @@
# Meet the users of Terminal theme!
- https://xicode.se **magistern** (Teacher)
- https://devmaster64.com **devmaster64** (Software Developer)
- https://mickie1.gitlab.io/blog/ **mickie** (Engineer)
- https://calloc.net **Vaibhav Yenamandra** (Software Engineer)
- https://potatofrom.space **Kevin Liu** (Software)
- https://horochx.org **horochx** (Software Developer)
- https://feng.si **Si Feng** (Software Engineer)
- https://ben-on-vms.com **Benedikt Frenzel** (Technical Support Engineer)
- https://johngazzini.com **John Gazzini** (Software Engineer)
- https://geekx.tech/ **Sagar Ladla** (Student Developer & Cyber Security Specialist)
- https://tears.io/ **Alex** (SRE)
- https://ayushkarn.me/ **Ayush Karn** (Student Developer)
- https://ssgram.dev **Ramaseshan Parthasarathy** (Software Developer)
- https://zaine.me **Amine Zaine** (Cloud Engineer)
- https://notes.dmaitre.phyip3.dur.ac.uk/computing-club/ **Ryan Moodie** (Physics PhD student)
- https://thecodecousins.com **Stanley Nguyen** (Software Engineer) & **Hoang Do** (Software & IoT Engineer)
- https://schacherbauer.dev **Markus Schacherbauer** (Student Developer)
- https://rinma.dev **Marvin Dalheimer** (Software Developer)
- https://lunar.computer **Lunar Computer** (DevOps Engineer)
- https://naxxfish.net **Chris Roberts** (Broadcast Systems Engineer)
- https://security.jtang.dev **Jonathan Tang** (Student & Software Engineer)
- https://andreacaravano.net **Andrea Caravano** (Student)
- https://dawsonverboven.com/ **Dawson Verboven** (Student & Software Developer)
- https://qbunt.com **Jeremy Bunting** (Software Engineer)
- https://smeik.org **Smeik** (Embedded Developer)
- https://code.willstocks.co.uk **Will Stocks** (Blogger & Developer)
@ -30,12 +23,9 @@
- https://bgameiro.me/ **Bernardo Gameiro** (Engineer Physicist student)
- https://return-to-libc.com/ **elraro** (Cyber Security Specialist)
- https://pablart.com/ **Pablo Diaz-Gutierrez** (Software Engineer, General Tinkerer)
- https://waterloos.niflheimr.blue/ **cindrmon** (Student and Aspiring Software Engineer)
- https://monocle.rpod.club/ **classx** (DevOps Engineer)
- https://wjdevschool.com/ **Wojciech Bogócki** (Making Things & Teaching / W&J Dev School)
- https://dongzhi.me **Joe** (Software Developer)
- https://erisianrite.com/ **ErisianRite** (Coding, Engineering, Tools for Thought)
- https://isaes.com.tr/ **Isa Es** (Software Engineer)
- https://conight.com **Conight Wang** (Software Engineer)
- https://blog.m5e.de/ **Christoph Miksche** (Software Developer)
- https://mpostument.com/ **Maksym Postument** (DevOps Engineer)
- https://mathiejosh.xyz **Josh Mathie** (Electrical Engineering Technology Student/Sales and Engineering Tech)
@ -43,8 +33,6 @@
- https://blog.puvvadi.me **KD Puvvadi** (Software Dev & Cloud Orchestrator)
- https://hidden.land/ **Louisload** (Game Developer & Musician)
- https://linuxbase.nl **Michael Trip** (DevOps Engineer)
- https://markopolo123.github.io **Markopolo** (DevOps Engineer)
- https://openfoxblog.leven.dev/ **Damon Leven** (Student & Software Developer)
- https://blog.sethforprivacy.com **Seth For Privacy** (Security, privacy, and cryptocurrency writer, podcaster)
- https://thesprawl.city **crish** (Software and stuff)
- https://justinnuwin.com **Justin Nguyen** (Software & Hardware Developer)
@ -54,16 +42,20 @@
- https://biplav.xyz **Biplav's Blog** (Student)
- https://santiago.wtf **Nicholas Santiago** (DevOps Engineer)
- https://2200g.github.io/ **2200g** (Blogger/Student)
- https://cristiioan.me **Cristian Margine** (Student)
- https://they.mint.lgbt **Joey Aliaga** (Software Developer & Student)
- https://tatewilhelm.me **Tate Wilhelm** (Student, Programmer & Tinkerer)
- https://mikefoden.com **Mike Foden** (Software Developer)
- https://undemalum.github.io/portfolio/ **Mateusz Konat** (Student)
- https://ku0hn.radio **Ben Kuhn** (Ham Radio Operator, InfoSec Engineer, Tinkerer)
- https://bg117.xyz/projects **bg117** (Student and Hobby Programmer)
- https://www.grumpymetalguy.com **GrumpyMetalGuy** (General Grumper and Developer)
- https://blog.jontes.page **Jonte** (general tech geek)
- https://nazdarthegame.com/ **Michal Skoula** (Software Developer)
- https://1mup.myorange.house **Antonio Garosi** (Street art gallery)
- https://kitchvx.github.io **Nathan Kitching** (IT Student)
- https://dgood.win **Dom Goodwin** (Platform Engineer)
- https://sir-photch.xyz **Sir-Photch** (ComSci-student. German Blog)
- https://drewmorris.info **Drew Morris** (Mathematician && Computer Scientist)
- https://blog.darkiiiiiice.com **MarioMang** (Software Developer)
<!--
TEMPLATE:
@ -71,3 +63,4 @@
- https://radoslawkoziel.pl **Radek Kozieł** (Software Designer and Developer)
-->

View File

@ -12,12 +12,13 @@ a.button {
align-items: center;
justify-content: center;
padding: 8px 18px;
margin-bottom: 5px;
margin: 5px 0;
text-decoration: none;
text-align: center;
border-radius: 0;
border-radius: 8;
border: 1px solid $accent;
background: $accent;
color: $background;
font: inherit;
font-weight: bold;
appearance: none;
@ -25,7 +26,7 @@ a.button {
outline: none;
&:hover {
background: opacify($accent, .9);
background: transparentize($accent, .1);
}
/* variants */

View File

@ -4,7 +4,6 @@
font-style: normal;
font-weight: 400;
src: url("../fonts/FiraCode-Regular.woff") format("woff");
font-display: swap;
}
@font-face {
@ -13,5 +12,4 @@
font-style: normal;
font-weight: 800;
src: url("../fonts/FiraCode-Bold.woff") format("woff");
font-display: swap;
}

View File

@ -22,9 +22,11 @@
.copyright {
display: flex;
flex-direction: row;
flex-flow: row wrap;
flex: 1;
align-items: center;
font-size: 1rem;
justify-content: center;
&--user {
margin: auto;
@ -33,17 +35,10 @@
& > *:first-child:not(:only-child) {
margin-right: 10px;
@media ($tablet) {
border: none;
padding: 0;
margin: 0;
}
}
@media ($tablet) {
flex-direction: column;
margin-top: 10px;
span {
white-space: nowrap;
}
}
}

View File

@ -4,6 +4,7 @@ input, textarea, select {
border: 1px solid $accent;
border-radius: 0;
padding: 10px;
margin: 5px 0;
font: inherit;
appearance: none;
@ -26,5 +27,17 @@ select {
}
::placeholder {
color: color-mod($accent) a(50%);
color: transparentize($accent, .5);
}
input {
&[type="checkbox"] {
vertical-align: middle;
padding: 10px;
box-shadow: inset 0 0 0 3px $background;
&:checked {
background: $accent;
}
}
}

View File

@ -1,17 +1,3 @@
@mixin menu {
$shadow-color: opacify($background, .8);
$shadow: 0 10px $shadow-color, -10px 10px $shadow-color, 10px 10px $shadow-color;
position: absolute;
background: $background;
box-shadow: $shadow;
color: white;
border: 2px solid;
margin: 0;
padding: 10px;
list-style: none;
z-index: 99;
}
.header {
display: flex;
flex-direction: column;
@ -45,128 +31,4 @@
text-decoration: none;
}
}
.menu {
margin: 20px 1px;
@media ($phone) {
@include menu;
top: 50px;
right: 0;
&.hidden-on-mobile {
display: none;
}
}
&__inner {
display: flex;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
&--desktop {
@media ($phone) {
display: none;
}
}
&--mobile {
display: none;
@media ($phone) {
display: block;
}
}
li {
&:not(:last-of-type) {
margin-right: 20px;
margin-bottom: 10px;
flex: 0 0 auto;
}
}
@media ($phone) {
flex-direction: column;
align-items: flex-start;
padding: 0;
li {
margin: 0;
padding: 5px;
}
}
}
&__sub-inner {
position: relative;
list-style: none;
padding: 0;
margin: 0;
&:not(:only-child) {
margin-left: 20px;
}
&-more {
@include menu;
top: 35px;
left: 0;
&-trigger {
color: $accent;
user-select: none;
cursor: pointer;
}
li {
margin: 0;
padding: 5px;
white-space: nowrap;
}
}
}
.spacer {
flex-grow: 1;
}
.language-selector {
position: relative;
list-style: none;
margin: 0;
&-current {
list-style-type: none;
display: flex;
flex-direction: row;
color: $accent;
cursor: pointer;
margin: 0;
}
&__more {
@include menu;
top: 35px;
right: 0;
}
}
&-trigger {
display: none;
color: $accent;
border: 2px solid;
margin-left: 10px;
height: 100%;
padding: 3px 8px;
position: relative;
cursor: pointer;
@media ($phone) {
display: block;
}
}
}
}

View File

@ -130,7 +130,7 @@ figure {
code, kbd {
font-family: 'Fira Code', Monaco, Consolas, Ubuntu Mono, monospace !important;
font-feature-settings: normal;
background: color-mod($accent) a(20%);
background: transparentize($accent, .8);
color: $accent;
padding: 1px 6px;
margin: 0 2px;
@ -203,7 +203,7 @@ blockquote {
&.twitter-tweet {
position: relative;
background: color-mod($accent) a(10%);
background: transparentize($accent, .9);
font: inherit;
color: inherit;
border: 1px solid $accent;
@ -263,28 +263,28 @@ ol {
list-style: none;
counter-reset: li;
li {
> li {
counter-increment: li;
}
li:before {
content: counter(li);
position: absolute;
right: calc(100% + 10px);
color: $accent;
display: inline-block;
text-align: right;
}
ol {
margin-left: 38px;
li {
counter-increment: li;
&:before {
content: counter(li);
position: absolute;
right: calc(100% + 10px);
color: $accent;
display: inline-block;
text-align: right;
}
li:before {
content: counters(li, ".") " ";
> ol {
margin-left: 38px;
> li {
counter-increment: li;
&:before {
content: counters(li, ".") " ";
}
}
}
}
}

157
assets/css/menu.scss Normal file
View File

@ -0,0 +1,157 @@
@mixin menu {
display: none;
flex-direction: column;
$shadow-color: transparentize($background, .2);
$shadow: 0 10px $shadow-color, -10px 10px $shadow-color, 10px 10px $shadow-color;
position: absolute;
background: $background;
box-shadow: $shadow;
color: white;
border: 2px solid;
margin: 0;
padding: 10px;
top: 10px;
left: 0;
list-style: none;
z-index: 99;
}
@mixin header-menu-trigger {
color: $accent;
border: 2px solid;
margin-left: 10px;
height: 100%;
padding: 3px 8px;
margin-bottom: 0 !important;
position: relative;
cursor: pointer;
}
.navigation-menu {
display: flex;
align-items: flex-start;
justify-content: space-between;
margin: 20px 1px;
@media ($phone) {
margin: 0;
}
&__inner {
display: flex;
flex: 1;
flex-wrap: wrap;
list-style: none;
margin: 0;
padding: 0;
> li {
flex: 0 0 auto;
margin-bottom: 10px;
white-space: nowrap;
&:not(:last-of-type) {
margin-right: 20px;
}
}
@media ($phone) {
flex-direction: column;
align-items: flex-start;
padding: 0;
li {
margin: 0;
padding: 5px;
}
}
}
.spacer {
flex-grow: 1 !important;
}
}
.menu {
display: flex;
flex-direction: column;
position: relative;
list-style: none;
padding: 0;
margin: 0;
&__trigger {
margin-right: 0 !important;
color: $accent;
user-select: none;
cursor: pointer;
}
&__dropdown {
@include menu;
.open & {
display: flex;
}
> li {
flex: 0 0 auto;
&:not(:last-of-type) {
margin-bottom: 10px;
}
a {
display: flex;
padding: 5px;
}
}
}
&--desktop {
@media ($phone) {
display: none
}
}
&--mobile {
.menu__trigger {
@include header-menu-trigger;
display: none;
@media ($phone) {
display: block;
}
}
.menu__dropdown {
@media ($phone) {
left: auto;
right: 0;
}
}
li {
flex: 0 0 auto;
&:not(:last-of-type) {
margin-bottom: 10px;
}
}
}
&--language-selector {
.menu__trigger {
@include header-menu-trigger;
@media ($phone) {
display: none;
}
}
.menu__dropdown {
left: auto;
right: 0;
}
}
}

View File

@ -15,7 +15,8 @@
text-align: center;
margin: 0 auto;
padding: 5px 10px;
background: mix($accent, #1D1E28, 98%);
background: $background;
color: transparentize($color, .7);
font-size: .8rem;
text-transform: uppercase;
text-decoration: none;
@ -37,6 +38,8 @@
display: flex;
align-items: center;
justify-content: center;
flex-flow: row wrap;
gap: 10px;
a {
text-decoration: none;
@ -47,22 +50,20 @@
.button {
position: relative;
display: inline-flex;
flex: 1;
align-items: center;
justify-content: center;
font-size: 1rem;
border-radius: 8px;
padding: 0;
cursor: pointer;
appearance: none;
overflow: hidden;
+ .button {
margin-left: 10px;
@media($phone) {
flex: 1;
}
a {
display: flex;
justify-content: center;
flex: 1;
padding: 8px 16px;
text-decoration: none;
text-overflow: ellipsis;

View File

@ -32,7 +32,15 @@
&-meta {
font-size: 1rem;
margin-bottom: 10px;
color: opcift($accent, 70%);
color: transparentize($accent, .3);
& > *:not(:first-child) {
&::before {
content: "::";
display: inline-block;
margin: 0 8px;
}
}
}
&-title {
@ -113,7 +121,7 @@
}
.hanchor {
color: opacify($accent, .9);
color: transparentize($accent, .1);
text-decoration: none;
margin-left: 10px;
visibility: hidden;
@ -124,5 +132,5 @@ h1:hover a, h2:hover a, h3:hover a, h4:hover a {
}
.footnotes {
color: opacify($color, .5);
color: transparentize($color, .5);
}

View File

@ -5,6 +5,7 @@
@import "form";
@import "header";
@import "menu";
@import "logo";
@import "main";
@import "post";

View File

@ -34,7 +34,7 @@ code.language-scss,
.token.class-name,
.token.constant,
.token.symbol {
color: opacify($accent, .7) !important;
color: transparentize($accent, .3) !important;
}
.token.property,
@ -80,7 +80,7 @@ pre[class*="language-"] {
right: 0;
padding: 0;
margin: 0;
background: opacify(mix($accent, #999, 90%), .08);
background: transparentize(mix($accent, #999, 90%), .92);
pointer-events: none;
line-height: inherit;
white-space: pre;

View File

@ -1,9 +1,22 @@
.terms {
h1 {
color: $accent;
}
h3 {
font-size: initial;
}
ul {
list-style: none;
li {
a {
color: $accent;
}
}
li:not(:empty):before {
content: '-';
position: absolute;
left: -20px;
color: $accent;
}
}
}

View File

@ -4,11 +4,5 @@ $color: white;
$border-color: rgba(255, 255, 255, .1);
/* MEDIA QUERIES */
$phone: (max-width: 684px);
$tablet: (max-width: 900px);
/* variables for js, must be the same as these in @custom-media queries */
:root {
--phoneWidth: (max-width: 684px);
--tabletWidth: (max-width: 900px);
}
$phone: "max-width: 684px";
$tablet: "max-width: 900px";

View File

@ -1,23 +0,0 @@
const mobileQuery = getComputedStyle(document.body).getPropertyValue("--phoneWidth");
const isMobile = () => window.matchMedia(mobileQuery).matches;
const languageSelector = document.querySelector(".language-selector-current");
const moreLanguagesContainer = document.querySelector(".language-selector__more");
document.body.addEventListener("click", () => {
if (
!isMobile() &&
moreLanguagesContainer &&
!moreLanguagesContainer.classList.contains("hidden")
) {
moreLanguagesContainer.classList.add("hidden");
}
});
languageSelector &&
languageSelector.addEventListener("click", (e) => {
if (!isMobile()) {
e.stopPropagation();
moreLanguagesContainer.classList.toggle("hidden");
}
});

View File

@ -1,49 +1,44 @@
const container = document.querySelector(".container");
const menu = document.querySelector(".menu");
const mobileMenuTrigger = document.querySelector(".menu-trigger");
const desktopMenu = document.querySelector(".menu__inner--desktop");
const desktopMenuTrigger = document.querySelector(".menu__sub-inner-more-trigger");
const menuMore = document.querySelector(".menu__sub-inner-more");
const mobileQuery = getComputedStyle(document.body).getPropertyValue("--phoneWidth");
const isMobile = () => window.matchMedia(mobileQuery).matches;
const handleMenuClasses = () => {
menuMore && menuMore.classList.toggle("hidden-on-mobile", !isMobile());
};
// Common
menu && menu.addEventListener("click", (e) => e.stopPropagation());
menuMore && menuMore.addEventListener("click", (e) => e.stopPropagation());
// handleMenuClasses();
const allMenus = document.querySelectorAll(".menu");
// Hide menus on body click
document.body.addEventListener("click", () => {
if (!isMobile() && menuMore && !menuMore.classList.contains("hidden")) {
menuMore.classList.add("hidden");
} else if (isMobile() && !menu.classList.contains("hidden")) {
menu.classList.add("hidden");
}
});
window.addEventListener("resize", handleMenuClasses);
// Mobile menu
mobileMenuTrigger &&
mobileMenuTrigger.addEventListener("click", (e) => {
e.stopPropagation();
menu && menu.classList.toggle("hidden-on-mobile");
});
// Desktop menu
desktopMenuTrigger &&
desktopMenuTrigger.addEventListener("click", (e) => {
e.stopPropagation();
menuMore && menuMore.classList.toggle("hidden");
if (menuMore.getBoundingClientRect().right > container.getBoundingClientRect().right) {
menuMore.style.left = "auto";
menuMore.style.right = 0;
allMenus.forEach(menu => {
if (menu.classList.contains("open")) {
menu.classList.remove("open");
}
});
});
// Reset menus on resize
window.addEventListener("resize", () => {
allMenus.forEach(menu => {
menu.classList.remove("open");
});
});
// Handle desktop menu
allMenus.forEach(menu => {
const trigger = menu.querySelector(".menu__trigger");
const dropdown = menu.querySelector(".menu__dropdown");
trigger.addEventListener("click", e => {
e.stopPropagation();
if (menu.classList.contains("open")) {
menu.classList.remove("open");
} else {
// Close all menus...
allMenus.forEach(m => m.classList.remove("open"));
// ...before opening the current one
menu.classList.add("open");
}
if (dropdown.getBoundingClientRect().right > container.getBoundingClientRect().right) {
dropdown.style.left = "auto";
dropdown.style.right = 0;
}
});
dropdown.addEventListener("click", e => e.stopPropagation());
});

View File

@ -0,0 +1,4 @@
[module]
[module.hugoVersion]
extended = true
min = '0.90.0'

4
go.mod
View File

@ -1,3 +1,3 @@
module github.com/panr/hugo-theme-terminal
module github.com/panr/hugo-theme-terminal/v3
go 1.16
go 1.19

View File

@ -21,14 +21,14 @@
</h1>
<div class="post-meta">
{{ with .Date }}
{{- if .Date -}}
<time class="post-date">
{{ .Format "2006-01-02" }}
{{- .Date.Format "2006-01-02" -}}
</time>
{{ end }}
{{ with .Params.Author }}
<span class="post-author">:: {{ . }}</span>
{{ end }}
{{- end -}}
{{- with .Params.Author -}}
<span class="post-author">{{ . }}</span>
{{- end -}}
</div>
{{ if .Params.tags }}
@ -49,7 +49,7 @@
{{ else if .Description }}
{{ .Description | markdownify }}
{{ else }}
{{ .Summary | markdownify }}
{{ .Summary }}
{{ end }}
</div>

View File

@ -11,14 +11,14 @@
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
</h1>
<div class="post-meta">
{{ with .Date }}
{{- if .Date -}}
<time class="post-date">
{{ .Format "2006-01-02" }} ::
{{- .Date.Format "2006-01-02" -}}
</time>
{{ end }}
{{ with .Params.Author }}
<span class="post-author">{{ . }}</span>
{{ end }}
{{- end -}}
{{- with .Params.Author -}}
<span class="post-author">{{- . -}}</span>
{{- end -}}
</div>
{{ if .Params.tags }}
@ -39,7 +39,7 @@
{{ else if .Description }}
{{ .Description | markdownify }}
{{ else }}
{{ .Summary | markdownify }}
{{ .Summary }}
{{ end }}
</div>

View File

@ -4,20 +4,20 @@
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
</h1>
<div class="post-meta">
{{ with .Date }}
{{- if .Date -}}
<time class="post-date">
{{ .Format "2006-01-02" }} ::
{{ if $.Site.Params.showLastUpdated }}
[{{or $.Site.Params.updatedDatePrefix "Updated"}} :: {{ .Lastmod.Format "2006-01-02" }}]
{{ end }}
{{- .Date.Format "2006-01-02" -}}
{{- if $.Site.Params.showLastUpdated -}}
[{{- or $.Site.Params.updatedDatePrefix "Updated" -}} :: {{- .Lastmod.Format "2006-01-02" -}}]
{{- end -}}
</time>
{{ end }}
{{ with .Params.Author }}
{{- end -}}
{{- with .Params.Author -}}
<span class="post-author">{{ . }}</span>
{{ end }}
{{ if and (.Param "readingTime") (eq (.Param "readingTime") true) }}
<span class="post-reading-time">:: {{ .ReadingTime }} min read ({{ .WordCount }} words)</span>
{{ end }}
{{- end -}}
{{- if and (.Param "readingTime") (eq (.Param "readingTime") true) -}}
<span class="post-reading-time">{{ .ReadingTime }} {{ $.Site.Params.minuteReadingTime | default "min read" }} ({{ .WordCount }} {{ $.Site.Params.words | default "words" }})</span>
{{- end -}}
</div>
{{ if .Params.tags }}

View File

@ -0,0 +1,57 @@
{{ define "main" }}
<h1>Posts for: #{{ .Title }}</h1>
{{ with .Content }}
<div class="index-content">
{{ . }}
</div>
{{ end }}
<div class="posts">
{{ range .Paginator.Pages }}
<article class="post on-list">
<h1 class="post-title">
<a href="{{ .Permalink }}">{{ .Title | markdownify }}</a>
</h1>
<div class="post-meta">
{{- if .Date -}}
<time class="post-date">
{{- .Date.Format "2006-01-02" -}}
</time>
{{- end -}}
{{- with .Params.Author -}}
<span class="post-author">{{- . -}}</span>
{{- end -}}
</div>
{{ if .Params.tags }}
<span class="post-tags">
{{ range .Params.tags }}
#<a href="{{ (urlize (printf "tags/%s/" . )) | absLangURL }}">
{{- . -}}
</a>&nbsp;
{{ end }}
</span>
{{ end }}
{{ partial "cover.html" . }}
<div class="post-content">
{{ if .Params.showFullContent }}
{{ .Content }}
{{ else if .Description }}
{{ .Description | markdownify }}
{{ else }}
{{ .Summary }}
{{ end }}
</div>
{{ if not .Params.showFullContent }}
<div>
<a class="read-more button" href="{{.RelPermalink}}">{{ $.Site.Params.ReadMore }} →</a>
</div>
{{ end }}
</article>
{{ end }}
{{ partial "pagination.html" . }}
</div>
{{ end }}

View File

@ -1,6 +1,11 @@
{{ define "main" }}
<div class="terms">
<h1>{{ .Title }}</h1>
{{ with .Content }}
<div class="index-content">
{{ . }}
</div>
{{ end }}
<ul>
{{ $type := .Type }}
{{ range $key, $value := .Data.Terms.Alphabetical }}
@ -8,7 +13,7 @@
{{ $count := .Count }}
{{ with $.Site.GetPage (printf "/%s/%s" $type $name) }}
<li>
<a class="terms-title" href="{{ .Permalink }}">{{ .Name }} ({{ $count }})</a>
<a class="terms-title" href="{{ .Permalink }}">{{ .Name }} [{{ $count }}]</a>
</li>
{{ end }}
{{ end }}

View File

@ -5,18 +5,17 @@
<span>{{ $.Site.Copyright | safeHTML }}</span>
{{ else }}
<div class="copyright">
<span>© {{ now.Year }} Powered by <a href="http://gohugo.io">Hugo</a></span>
<span>© {{ now.Year }} Powered by <a href="https://gohugo.io">Hugo</a></span>
{{ end }}
<span>:: Theme made by <a href="https://twitter.com/panr">panr</a></span>
<span>:: <a href="https://github.com/panr/hugo-theme-terminal" target="_blank">Theme</a> made by <a href="https://github.com/panr" target="_blank">panr</a></span>
</div>
</div>
</footer>
{{ $menu := resources.Get "js/menu.js" | js.Build }}
{{ $languageSelector := resources.Get "js/languageSelector.js" | js.Build }}
{{ $prism := resources.Get "js/prism.js" | js.Build }}
{{ $bundle := slice $menu $languageSelector $prism | resources.Concat "bundle.js" | resources.Minify }}
{{ $bundle := slice $menu $prism | resources.Concat "bundle.js" | resources.Minify }}
<script type="text/javascript" src="{{ $bundle.RelPermalink }}"></script>

View File

@ -2,30 +2,36 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="{{ if .IsHome }}{{ $.Site.Params.Subtitle }}{{ else if .Description}}{{ .Description | plainify }}{{ else }}{{ .Summary | plainify }}{{ end }}" />
<meta name="keywords" content="{{ with .Params.Keywords }}{{ delimit . ", " }}{{ else }}{{ $.Site.Params.Keywords }}{{ end }}" />
<meta name="robots" content="noodp" />
{{ if .Params.noindex }}
{{ if or (eq (.Param "noindex") true) (eq (.Param "noindex") "true") }}
<meta name="robots" content="noindex" />
{{ end }}
{{ else }}
<meta name="robots" content="noodp" />
{{ end }}
<link rel="canonical" href="{{ .Permalink }}" />
{{ template "_internal/google_analytics.html" . }}
{{ $defaultStyles := resources.Get "css/style.scss" }}
<!-- Local Theme Variables -->
{{ if (isset .Params "color") }}
{{ if and (isset .Params "color") (not (eq .Params.color "")) }}
{{ $localColorCss := resources.Get (printf "css/color/%s.scss" .Params.color) }}
{{ $localCss := slice $localColorCss $defaultStyles | resources.Concat (printf "css/%s-local.scss" .Params.color) }}
{{ $localColorStyles := $localCss | resources.ToCSS }}
<link rel="stylesheet" href="{{ $localColorStyles.RelPermalink }}">
<link rel="stylesheet" href="{{ $localColorStyles.Permalink }}">
{{ else }}
<!-- Theme Variables -->
{{ $colorCss := resources.Get (printf "css/color/%s.scss" ($.Site.Params.ThemeColor | default "orange")) }}
{{ $css := slice $colorCss $defaultStyles | resources.Concat "css/base.scss" }}
{{ $options := (dict "targetPath" "style.css" "outputStyle" "compressed" "enableSourceMap" true "precision" 6 "includePaths" (slice "node_modules")) }}
{{ $options := (dict "targetPath" "styles.css" "outputStyle" "compressed" "enableSourceMap" true "precision" 6 "includePaths" (slice "node_modules")) }}
{{ $styles := $css | resources.ToCSS $options }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}">
<link rel="stylesheet" href="{{ $styles.Permalink }}">
{{ end }}
<!-- Custom CSS to override theme properties (/static/style.scss) -->
{{ if (fileExists "static/style.scss") -}}
<link rel="stylesheet" href="{{ "style.scss" | absURL }}">
<!-- Custom CSS to override theme properties (/static/style.css) -->
{{ if (fileExists "static/style.css") -}}
<link rel="stylesheet" href="{{ "style.css" | absURL }}">
{{- end }}
<!-- Icons -->
@ -52,8 +58,12 @@
<meta property="og:description" content="{{ if .IsHome }}{{ $.Site.Params.Subtitle }}{{ else if .Description}}{{ .Description | plainify }}{{ else }}{{ .Summary | plainify }}{{ end }}" />
<meta property="og:url" content="{{ .Permalink }}" />
<meta property="og:site_name" content="{{ $.Site.Title }}" />
{{ if and (not .IsHome) (isset .Params "cover") }}
<meta property="og:image" content="{{ .Param "cover" | absURL }}">
{{ if (isset .Params "cover") }}
{{ $pageCover := .Param "cover" }}
{{ with (.Resources.GetMatch (.Param "cover")) }}
{{ $pageCover = .RelPermalink }}
{{ end }}
<meta property="og:image" content="{{ $pageCover | absURL }}">
{{ else }}
{{ if isset $.Site.Params "favicon" }}
<meta property="og:image" content="{{ $.Site.Params.favicon | absURL }}">
@ -61,8 +71,8 @@
<meta property="og:image" content="{{ printf "img/favicon/%s.png" $.Site.Params.ThemeColor | absURL }}">
{{ end }}
{{ end }}
<meta property="og:image:width" content="2048">
<meta property="og:image:height" content="1024">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="627">
{{ range .Params.categories }}
<meta property="article:section" content="{{ . }}" />
{{ end }}

View File

@ -4,7 +4,10 @@
{{ partial "logo.html" . }}
</div>
{{ if len $.Site.Menus }}
<div class="menu-trigger">menu</div>
{{ partial "mobile-menu.html" . }}
{{ end }}
{{ if and $.Site.Params.showLanguageSelector (len $.Site.Home.AllTranslations) }}
{{ partial "language-menu.html" . }}
{{ end }}
</div>
{{ if len $.Site.Menus }}

View File

@ -0,0 +1,10 @@
<ul class="menu menu--desktop menu--language-selector">
<li class="menu__trigger">{{ .Language.LanguageName }}&nbsp;</li>
<li>
<ul class="menu__dropdown">
{{ range $.Site.Home.AllTranslations }}
<li><a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a></li>
{{ end }}
</ul>
</li>
</ul>

View File

@ -1,60 +1,33 @@
<nav class="menu hidden-on-mobile">
<ul class="menu__inner menu__inner--desktop">
<nav class="navigation-menu">
<ul class="navigation-menu__inner menu--desktop">
{{ if or $.Site.Params.showMenuItems ( eq .Site.Params.showMenuItems 0 ) }}
{{ range first $.Site.Params.showMenuItems $.Site.Menus.main }}
{{ if not .HasChildren }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
<li><a href="{{ .URL }}" {{ if .Params.NewTab -}} target="_blank" {{- end }}>{{ .Name }}</a></li>
{{ end }}
{{ end }}
{{ if gt (len $.Site.Menus.main) $.Site.Params.showMenuItems }}
<ul class="menu__sub-inner">
<li class="menu__sub-inner-more-trigger">{{ $.Site.Params.MenuMore }} ▾</li>
<ul class="menu__sub-inner-more hidden">
{{ range last (sub (len $.Site.Menus.main) $.Site.Params.showMenuItems) $.Site.Menus.main }}
{{ if not .HasChildren }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
{{ end }}
{{ end }}
<li>
<ul class="menu">
<li class="menu__trigger">{{ $.Site.Params.MenuMore }}&nbsp;</li>
<li>
<ul class="menu__dropdown">
{{ range last (sub (len $.Site.Menus.main) $.Site.Params.showMenuItems) $.Site.Menus.main }}
{{ if not .HasChildren }}
<li><a href="{{ .URL }}" {{ if .Params.NewTab -}} target="_blank" {{- end }}>{{ .Name }}</a></li>
{{ end }}
{{ end }}
</ul>
</li>
</ul>
</ul>
</li>
{{ end }}
{{ else }}
{{ range $.Site.Menus.main }}
{{ if not .HasChildren }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
<li><a href="{{ .URL }}" {{ if .Params.NewTab -}} target="_blank" {{- end }}>{{ .Name }}</a></li>
{{ end }}
{{ end }}
{{ end }}
{{ if and $.Site.Params.showLanguageSelector (len $.Site.Home.AllTranslations) }}
<div class="spacer"></div>
<ul class="language-selector">
<ul class="language-selector-current">
<li>{{ .Language.LanguageName }} ▾</li>
</ul>
<ul class="language-selector__more hidden">
{{ range $.Site.Home.AllTranslations }}
<li><a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a></li>
{{ end }}
</ul>
</ul>
{{ end }}
</ul>
<ul class="menu__inner menu__inner--mobile">
{{ range $.Site.Menus.main }}
{{ if not .HasChildren }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
{{ end }}
{{ end }}
{{ if and $.Site.Params.showLanguageSelector (len $.Site.Home.AllTranslations) }}
<hr />
{{ range $.Site.Home.AllTranslations }}
<li>
<a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
</li>
{{ end }}
{{ end }}
</ul>
</nav>

View File

@ -0,0 +1,20 @@
<ul class="menu menu--mobile">
<li class="menu__trigger">Menu&nbsp;</li>
<li>
<ul class="menu__dropdown">
{{ range $.Site.Menus.main }}
{{ if not .HasChildren }}
<li><a href="{{ .URL }}">{{ .Name }}</a></li>
{{ end }}
{{ end }}
{{ if and $.Site.Params.showLanguageSelector (len $.Site.Home.AllTranslations) }}
<hr />
{{ range $.Site.Home.AllTranslations }}
<li>
<a href="{{ .Permalink }}">{{ .Language.LanguageName }}</a>
</li>
{{ end }}
{{ end }}
</ul>
</li>
</ul>

View File

@ -1,20 +1,16 @@
<div class="pagination">
<div class="pagination__buttons">
{{ if .Paginator.HasPrev }}
<span class="button previous">
<a href="{{ .Paginator.Prev.URL }}">
<span class="button__icon"></span>
<span class="button__text">{{ $.Site.Params.newerPosts | default "Newer posts" }}</span>
</a>
</span>
<a href="{{ .Paginator.Prev.URL }}" class="button previous">
<span class="button__icon"></span>
<span class="button__text">{{ $.Site.Params.newerPosts | default "Newer posts" }}</span>
</a>
{{ end }}
{{ if .Paginator.HasNext }}
<span class="button next">
<a href="{{ .Paginator.Next.URL }}">
<span class="button__text">{{ $.Site.Params.olderPosts | default "Older posts" }}</span>
<span class="button__icon"></span>
</a>
</span>
<a href="{{ .Paginator.Next.URL }}" class="button next">
<span class="button__text">{{ $.Site.Params.olderPosts | default "Older posts" }}</span>
<span class="button__icon"></span>
</a>
{{ end }}
</div>
</div>

View File

@ -1,3 +1,3 @@
{{ if .Get "src" }}
<img src="{{ .Get "src" | safeURL }}" {{ with .Get "alt" }} alt="{{ . | plainify }}" {{ end }} class="{{ with .Get "position"}}{{ . }}{{ else -}} left {{- end }}" {{ with .Get "style" }} style="{{ . | safeCSS }}" {{ end }} />
<img src="{{ .Get "src" | safeURL }}" {{ with .Get "alt" }} alt="{{ . | plainify }}" {{ end }} class="{{ with .Get "position"}}{{ . }}{{ else -}} left {{- end }}" {{ with .Get "style" }} style="{{ . | safeCSS }}" {{ end }} {{ with .Get "width" }} width="{{ . | plainify }}" {{ end }} {{ with .Get "height" }} height="{{ . | plainify }}" {{ end }} />
{{ end }}

View File

@ -20,6 +20,7 @@
>{{ $inner }}</code></pre>
{{ else }}
<pre class="language-{{ .Get 0 }}">
<code class="language-{{ .Get 0 }}">{{ $inner }}</code></pre>
<code class="language-{{ .Get 0 }}">{{ $inner }}</code>
</pre>
{{ end }}
{{ end }}

6743
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,12 @@
{
"name": "terminal",
"version": "3.1.0",
"author": "Radosław Kozieł <@panr> <radoslaw.koziel@gmail.com>",
"main": "index.js",
"license": "MIT",
"scripts": {
"test": "echo 'Test'"
},
"browserslist": [
"last 2 versions",
">1%",
@ -24,16 +31,13 @@
"devDependencies": {
"browserslist": "^4.16.5",
"clipboard": "^2.0.4",
"eslint": "^7.32.0",
"eslint-config-airbnb": "^18.2.0",
"eslint-config-prettier": "^8.1.0",
"eslint-plugin-jsx-a11y": "^6.2.1",
"husky": "^5.1.3"
},
"license": "MIT",
"main": "index.js",
"name": "terminal",
"scripts": {
"test": "echo 'Test'"
},
"version": "2.1.0"
"husky": "^5.1.3",
"stylelint": "^14.14.1",
"stylelint-config-prettier-scss": "^0.0.1",
"stylelint-config-standard-scss": "^6.1.0"
}
}

View File

@ -1,21 +0,0 @@
const url = require("postcss-url");
const imports = require("postcss-import");
const nested = require("postcss-nested");
const postcssCustomMedia = require("postcss-custom-media");
const cssnano = require("cssnano");
const color = require("postcss-color-mod-function");
const mixins = require("postcss-mixins");
module.exports = () => ({
plugins: [
url,
imports,
mixins,
nested,
postcssCustomMedia,
cssnano({
preset: "default",
}),
color,
],
});

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"Target":"style.css","MediaType":"text/css","Data":{}}

View File

@ -5,7 +5,7 @@ description = "A simple, retro theme for Hugo."
homepage = "https://github.com/panr/hugo-theme-terminal/"
tags = ["blog", "clean", "customizable", "dark", "highlighting", "minimal", "monotone", "multilingual", "personal", "responsive", "simple", "technical", "retro"]
features = ["blog", "shortcode", "syntax highlighting"]
min_version = 0.74
min_version = 0.90
[author]
name = "panr"

4105
yarn.lock

File diff suppressed because it is too large Load Diff