diff options
author | frosty <passedgoandgot200@disroot.org> | 2025-06-17 04:38:15 -0400 |
---|---|---|
committer | frosty <passedgoandgot200@disroot.org> | 2025-06-17 04:38:15 -0400 |
commit | 61fbce70abd2cafaef960f5e787a97a3a828d74e (patch) | |
tree | 5d49885a2f1f0254075d3dae96faf00b50ccfd5e | |
parent | 91408bd3d594ca341f8c27b6b4d7403b564f4d38 (diff) |
remove static fonts, update posts, clean up layout
51 files changed, 189 insertions, 376 deletions
diff --git a/content/_index.md b/content/_index.md index 9fbbd0c..592065d 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,3 +1,4 @@ -Hi there, I'm frosty. I'm primarily interested in meteorology, systems administration, and photography; I also like to experiment with minimalistic software setups and unconventional workflows. +Hi there, I'm frosty. I'm primarily interested in meteorology, systems administration, and photography; I also like to experiment with minimalistic software setups and unconventional workflows. I'm also a sucker for low-bandwidth, simple to navigate, content-rich websites. I don't consider myself a software developer, but I do write some code here and there. My favorite languages are C and Go, and I much prefer backend to frontend. + diff --git a/content/posts/hello-world.md b/content/posts/hello-world.md deleted file mode 100644 index f80d9fe..0000000 --- a/content/posts/hello-world.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -title: "Hello, World!" -date: "2025-05-19" ---- - -Hello and welcome! This is an introduction to my website. For the time being, you can read more [about me][about], or check up on what's up with me [right now][now]. - -That's all I've got at the moment, see you soon! - -[about]: /about.html -[now]: /now.html diff --git a/content/posts/neovim-is-usable-without-plugins.md b/content/posts/neovim-is-usable-without-plugins.md new file mode 100644 index 0000000..0fadb18 --- /dev/null +++ b/content/posts/neovim-is-usable-without-plugins.md @@ -0,0 +1,90 @@ +--- +title: "(Neo)vim is usable without plugins" +date: "2025-06-17" +--- + +Vim and Neovim are extremely powerful editors, but despite having lots of features built-in, many folk reach for third-party plugins quite easily. Here are a few common features that may be found of use which are built in to the editor. + +## Completion (Vim) + +Completion functions are all prefixed with `C-x` in insert mode. Take this snippet from the `ins-completion` help section for reference: + +```txt {tabWidth=0} +In Insert and Replace mode, there are several commands to complete part of a +keyword or line that has been typed. This is useful if you are using +complicated keywords (e.g., function names with capitals and underscores). + +Completion can be done for: + +1. Whole lines |i_CTRL-X_CTRL-L| +2. keywords in the current file |i_CTRL-X_CTRL-N| +3. keywords in 'dictionary' |i_CTRL-X_CTRL-K| +4. keywords in 'thesaurus', thesaurus-style |i_CTRL-X_CTRL-T| +5. keywords in the current and included files |i_CTRL-X_CTRL-I| +6. tags |i_CTRL-X_CTRL-]| +7. file names |i_CTRL-X_CTRL-F| +8. definitions or macros |i_CTRL-X_CTRL-D| +9. Vim command-line |i_CTRL-X_CTRL-V| +10. User defined completion |i_CTRL-X_CTRL-U| +11. omni completion |i_CTRL-X_CTRL-O| +12. Spelling suggestions |i_CTRL-X_s| +13. keywords in 'complete' |i_CTRL-N| |i_CTRL-P| +``` + +Highlights are omni completion - often tied to LSP, spelling suggestions, and file names. + +## LSP (Neovim) + +This is easier to set up than ever thanks to Neovim v0.11 adding `vim.lsp.Config`. + +For starters, a configuration file for each language server must be created. Below is an example of one for `gopls`: + +```lua +return { + cmd = { "gopls" }, + root_markers = { ".git", "go.mod", "go.work" }, + filetypes = { "go", "gomod", "gotmpl", "gowork" }, +} +``` + +Then, just enable the server: + +```vim +if has('nvim-0.11') + if executable('gopls') + lua vim.lsp.enable('gopls') + endif +endif +``` + +See the [Neovim docs](https://neovim.io/doc/user/lsp.html#vim.lsp.Config) for more information. + +## Fuzzy Finding (Vim) + +This is self-explanatory. Vim has recursive search support, along with wildcards. + +```vim +" Include subdirectories in search path +set path+=** + +" Add exclusions from recursive searches +set wildignore+=**/.git/**,**/build/**,**/node_modules/** + +" Bind a key for searching +nnoremap <C-p> :e **/* +``` + +## Tree-sitter (Neovim) + +Tree-sitter parsers must be installed with an external package manager, ideally the one your operating system already uses. + +Other than that, Neovim should start Tree-sitter with just the below code: + +```vim +if has('nvim') + augroup StartTreesitter + autocmd! + autocmd FileType * lua pcall(vim.treesitter.start) + augroup END +endif +``` diff --git a/content/posts/neovim-without-plugins.md b/content/posts/neovim-without-plugins.md deleted file mode 100644 index 8093729..0000000 --- a/content/posts/neovim-without-plugins.md +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: "Neovim without plugins" -date: "2025-06-04" ---- - -I use a Vi-like editor most of the time. Nowadays, it's Neovim purely because it's much faster than Vim in my experience, and it's pushing for new features out of the box instead of having to rely on many third-party plugins. Frankly, I don't care about Lua support, and I still try to use VimL where I can. - -Regardless, I wanted to showcase some of the features that people usually reach for plugins to achieve; who knows, it might come in handy. - -## Completion - -Do note, this says completion, not **auto-completion**. I often find auto-completion annoying, so I haven't bothered looking into how to achieve it. Though, you likely could do something with autocommands. - -Anyways, completion is a built in feature, and it's bound to `C-x` in insert mode, followed by another keybind. Take this snippet from the `ins-completion` section for reference: - -```txt {tabWidth=0} -In Insert and Replace mode, there are several commands to complete part of a -keyword or line that has been typed. This is useful if you are using -complicated keywords (e.g., function names with capitals and underscores). - -Completion can be done for: - -1. Whole lines |i_CTRL-X_CTRL-L| -2. keywords in the current file |i_CTRL-X_CTRL-N| -3. keywords in 'dictionary' |i_CTRL-X_CTRL-K| -4. keywords in 'thesaurus', thesaurus-style |i_CTRL-X_CTRL-T| -5. keywords in the current and included files |i_CTRL-X_CTRL-I| -6. tags |i_CTRL-X_CTRL-]| -7. file names |i_CTRL-X_CTRL-F| -8. definitions or macros |i_CTRL-X_CTRL-D| -9. Vim command-line |i_CTRL-X_CTRL-V| -10. User defined completion |i_CTRL-X_CTRL-U| -11. omni completion |i_CTRL-X_CTRL-O| -12. Spelling suggestions |i_CTRL-X_s| -13. keywords in 'complete' |i_CTRL-N| |i_CTRL-P| -``` - -It's quite useful to use `C-x C-o` for `omnifunc` completion, which the built-in LSP client sets when enabled. Speaking of which... - -## LSP - -This is easier to set up than ever thanks to Neovim 0.11 adding `vim.lsp.config()`. Take this basic example of using gopls: - -Add the following to `lsp/gopls.lua`: - -```lua -return { - cmd = { "gopls" }, - root_markers = { ".git", "go.mod", "go.work" }, - filetypes = { "go", "gomod", "gotmpl", "gowork" }, -} -``` - -Then, in `init.vim` you can tell Neovim to enable it conditionally: - -```vim -if has('nvim-0.11') - if executable('gopls') - lua vim.lsp.enable('gopls') - endif -endif -``` - -It's really simple, but it manages to work great with omnicompletion, and I haven't bothered to do much tweaking. - -## Fuzzy finding - -The number one plugin I see people reach for nowadays is likely [Telescope][telescope.nvim], and it seems like a great project. However, I don't find it very necessary. You can achieve the same good old behavior of [ctrlp.vim][ctrlp.vim] with just a few lines in your configuration! - -```vim -set path+=** -nnoremap <C-p> :e **/* -``` - -Okay, what are we doing here? First off, we're adding infinite recursion to our search path, so that all subdirectories of subdirectories are searched. Secondly, we bind the mighty `C-p` to our search. In practice, you'd enter: `<C-p>file.txt<Tab><CR>` to switch to another file. You can ignore certain directories from appearing by setting `wildignore`. For example: - -```vim -set wildignore+=**/.git/** -set wildignore+=**/build/** -set wildignore+=**/node_modules/** -``` - -## Tree-sitter - -This is a very popular topic among Neovim users. I don't think it truly deserves all the hype it gets, but I do find it quite useful. I use it both on Neovim and Emacs. Anyways, there's a popular plugin for installing Tree-sitter parsers and activating them, but it's not necessary to use Tree-sitter. - -Firstly, the Tree-sitter parsers must be installed externally outside your editor environment. Some may find this annoying, but I think this is a positive, because I don't like my editor handling this for me. I have a package manager for a reason! It might take more work, but it feels much cleaner having it all in one place. I use Gentoo, and a few Tree-sitter parsers are packaged in the official repository. Though, I've packaged some in my personal overlay as well. - -Once they're installed, all you have to do is add an autocommand to start the Tree-sitter client. Preferably inside an autocommand group: - -```vim -augroup StartTreesitter - autocmd! - autocmd FileType * lua pcall(vim.treesitter.start) -augroup END -``` - -You may also want to wrap this inside a `has('nvim')` if you want to support Vim without errors. And that's it, you can play around with the syntax tree and get better highlighting. - -That's all I've got, but more may be added here in the future. This is my first informational post, so let me know what you think if you're so inclined. - -[telescope.nvim]: https://github.com/nvim-telescope/telescope.nvim -[ctrlp.vim]: https://github.com/kien/ctrlp.vim diff --git a/content/todo.md b/content/todo.md index 06444aa..a46d8a2 100644 --- a/content/todo.md +++ b/content/todo.md @@ -1,10 +1,10 @@ --- -title: "Todo" +title: "TODO" subtext: "Oh boy, will this ever get filled out?" --- This is more of a meta page to list out tasks related to the website that need to be done. -* [ ] Create proper favicon and other image-related branding. -* [ ] Flesh out the RSS XML (prototype is up). -* [ ] Apply for small-size website clubs, after optimizing assets such as the fonts and images. +* Create favicon and other image-related branding. +* Separate content into categories other than "posts." +* Manually template feed XMLs. @@ -20,7 +20,6 @@ posts = "/:2006/:01/:02/:title/" [params] subtext = "Lots of ideas, not many implementations." -iconURL = "/img/pfp.png" [params.author] name = "frosty" diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 906b7dc..e9340ee 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -1,6 +1,8 @@ -<hr class="footer-break"> -<p class="build-date">Last built {{ time.Now | time.Format "Jan 02 2006" }}.</p> -<a href="https://creativecommons.org/publicdomain/zero/1.0/" rel="license"><img src="/img/badge/cc0.png" alt="CC0 1.0" class="badge"></a> -<a href="https://www.gentoo.org/"><img src="/img/badge/gentoo.png" alt="Gentoo" class="badge"></a> -<a href="https://www.vim.org/"><img src="/img/badge/vim.png" alt="Vim: the editor" class="badge"></a> -<p>This website's work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/legalcode.en">CC0 1.0 Universal</a>; the source code is licensed under <a href="https://unlicense.org/">the Unlicense</a>. See the <a href="https://git.sr.ht/~auroras/www">Git repository</a>.</p> +<div class="footer"> + <hr class="footer-break"> + <p class="build-date">Last built {{ time.Now | time.Format "Jan 02 2006" }}.</p> + <a href="https://creativecommons.org/publicdomain/zero/1.0/" rel="license"><img src="/img/badge/cc0.png" alt="CC0 1.0" class="badge"></a> + <a href="https://www.gentoo.org/"><img src="/img/badge/gentoo.png" alt="Gentoo" class="badge"></a> + <a href="https://www.vim.org/"><img src="/img/badge/vim.png" alt="Vim: the editor" class="badge"></a> + <p>This website's work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/legalcode.en">CC0 1.0 Universal</a>; the source code is licensed under <a href="https://unlicense.org/">the Unlicense</a>. See the <a href="https://git.sr.ht/~auroras/www">Git repository</a>.</p> +</div> diff --git a/static/fonts/noto-serif-v30-latin-100.ttf b/static/fonts/noto-serif-v30-latin-100.ttf Binary files differdeleted file mode 100644 index 53bcac4..0000000 --- a/static/fonts/noto-serif-v30-latin-100.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-100.woff2 b/static/fonts/noto-serif-v30-latin-100.woff2 Binary files differdeleted file mode 100644 index 461a15c..0000000 --- a/static/fonts/noto-serif-v30-latin-100.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-100italic.ttf b/static/fonts/noto-serif-v30-latin-100italic.ttf Binary files differdeleted file mode 100644 index f5c62a8..0000000 --- a/static/fonts/noto-serif-v30-latin-100italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-100italic.woff2 b/static/fonts/noto-serif-v30-latin-100italic.woff2 Binary files differdeleted file mode 100644 index a989df5..0000000 --- a/static/fonts/noto-serif-v30-latin-100italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-200.ttf b/static/fonts/noto-serif-v30-latin-200.ttf Binary files differdeleted file mode 100644 index ae6a490..0000000 --- a/static/fonts/noto-serif-v30-latin-200.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-200.woff2 b/static/fonts/noto-serif-v30-latin-200.woff2 Binary files differdeleted file mode 100644 index 7aee8fa..0000000 --- a/static/fonts/noto-serif-v30-latin-200.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-200italic.ttf b/static/fonts/noto-serif-v30-latin-200italic.ttf Binary files differdeleted file mode 100644 index 7b4f868..0000000 --- a/static/fonts/noto-serif-v30-latin-200italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-200italic.woff2 b/static/fonts/noto-serif-v30-latin-200italic.woff2 Binary files differdeleted file mode 100644 index abfe76d..0000000 --- a/static/fonts/noto-serif-v30-latin-200italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-300.ttf b/static/fonts/noto-serif-v30-latin-300.ttf Binary files differdeleted file mode 100644 index 392327f..0000000 --- a/static/fonts/noto-serif-v30-latin-300.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-300.woff2 b/static/fonts/noto-serif-v30-latin-300.woff2 Binary files differdeleted file mode 100644 index acec59d..0000000 --- a/static/fonts/noto-serif-v30-latin-300.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-300italic.ttf b/static/fonts/noto-serif-v30-latin-300italic.ttf Binary files differdeleted file mode 100644 index 63bded2..0000000 --- a/static/fonts/noto-serif-v30-latin-300italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-300italic.woff2 b/static/fonts/noto-serif-v30-latin-300italic.woff2 Binary files differdeleted file mode 100644 index d5b4788..0000000 --- a/static/fonts/noto-serif-v30-latin-300italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-500.ttf b/static/fonts/noto-serif-v30-latin-500.ttf Binary files differdeleted file mode 100644 index 79ad9b5..0000000 --- a/static/fonts/noto-serif-v30-latin-500.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-500.woff2 b/static/fonts/noto-serif-v30-latin-500.woff2 Binary files differdeleted file mode 100644 index a7b74d6..0000000 --- a/static/fonts/noto-serif-v30-latin-500.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-500italic.ttf b/static/fonts/noto-serif-v30-latin-500italic.ttf Binary files differdeleted file mode 100644 index 7c9c147..0000000 --- a/static/fonts/noto-serif-v30-latin-500italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-500italic.woff2 b/static/fonts/noto-serif-v30-latin-500italic.woff2 Binary files differdeleted file mode 100644 index d370936..0000000 --- a/static/fonts/noto-serif-v30-latin-500italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-600.ttf b/static/fonts/noto-serif-v30-latin-600.ttf Binary files differdeleted file mode 100644 index 680ffa1..0000000 --- a/static/fonts/noto-serif-v30-latin-600.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-600.woff2 b/static/fonts/noto-serif-v30-latin-600.woff2 Binary files differdeleted file mode 100644 index d55970e..0000000 --- a/static/fonts/noto-serif-v30-latin-600.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-600italic.ttf b/static/fonts/noto-serif-v30-latin-600italic.ttf Binary files differdeleted file mode 100644 index a039709..0000000 --- a/static/fonts/noto-serif-v30-latin-600italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-600italic.woff2 b/static/fonts/noto-serif-v30-latin-600italic.woff2 Binary files differdeleted file mode 100644 index febfe8e..0000000 --- a/static/fonts/noto-serif-v30-latin-600italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-700.ttf b/static/fonts/noto-serif-v30-latin-700.ttf Binary files differdeleted file mode 100644 index 0752c38..0000000 --- a/static/fonts/noto-serif-v30-latin-700.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-700.woff2 b/static/fonts/noto-serif-v30-latin-700.woff2 Binary files differdeleted file mode 100644 index 4316712..0000000 --- a/static/fonts/noto-serif-v30-latin-700.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-700italic.ttf b/static/fonts/noto-serif-v30-latin-700italic.ttf Binary files differdeleted file mode 100644 index 0dc92a4..0000000 --- a/static/fonts/noto-serif-v30-latin-700italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-700italic.woff2 b/static/fonts/noto-serif-v30-latin-700italic.woff2 Binary files differdeleted file mode 100644 index 7484c4b..0000000 --- a/static/fonts/noto-serif-v30-latin-700italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-800.ttf b/static/fonts/noto-serif-v30-latin-800.ttf Binary files differdeleted file mode 100644 index 89bf384..0000000 --- a/static/fonts/noto-serif-v30-latin-800.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-800.woff2 b/static/fonts/noto-serif-v30-latin-800.woff2 Binary files differdeleted file mode 100644 index 108d996..0000000 --- a/static/fonts/noto-serif-v30-latin-800.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-800italic.ttf b/static/fonts/noto-serif-v30-latin-800italic.ttf Binary files differdeleted file mode 100644 index f060477..0000000 --- a/static/fonts/noto-serif-v30-latin-800italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-800italic.woff2 b/static/fonts/noto-serif-v30-latin-800italic.woff2 Binary files differdeleted file mode 100644 index 7cb24d0..0000000 --- a/static/fonts/noto-serif-v30-latin-800italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-900.ttf b/static/fonts/noto-serif-v30-latin-900.ttf Binary files differdeleted file mode 100644 index 324295c..0000000 --- a/static/fonts/noto-serif-v30-latin-900.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-900.woff2 b/static/fonts/noto-serif-v30-latin-900.woff2 Binary files differdeleted file mode 100644 index 9f48bf2..0000000 --- a/static/fonts/noto-serif-v30-latin-900.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-900italic.ttf b/static/fonts/noto-serif-v30-latin-900italic.ttf Binary files differdeleted file mode 100644 index 035942d..0000000 --- a/static/fonts/noto-serif-v30-latin-900italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-900italic.woff2 b/static/fonts/noto-serif-v30-latin-900italic.woff2 Binary files differdeleted file mode 100644 index 29ae5c3..0000000 --- a/static/fonts/noto-serif-v30-latin-900italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-italic.ttf b/static/fonts/noto-serif-v30-latin-italic.ttf Binary files differdeleted file mode 100644 index c4bfa60..0000000 --- a/static/fonts/noto-serif-v30-latin-italic.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-italic.woff2 b/static/fonts/noto-serif-v30-latin-italic.woff2 Binary files differdeleted file mode 100644 index ea5b4de..0000000 --- a/static/fonts/noto-serif-v30-latin-italic.woff2 +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-regular.ttf b/static/fonts/noto-serif-v30-latin-regular.ttf Binary files differdeleted file mode 100644 index aa19bdb..0000000 --- a/static/fonts/noto-serif-v30-latin-regular.ttf +++ /dev/null diff --git a/static/fonts/noto-serif-v30-latin-regular.woff2 b/static/fonts/noto-serif-v30-latin-regular.woff2 Binary files differdeleted file mode 100644 index c8f0c13..0000000 --- a/static/fonts/noto-serif-v30-latin-regular.woff2 +++ /dev/null diff --git a/static/img/pfp.png b/static/img/pfp.png Binary files differdeleted file mode 100644 index e119db9..0000000 --- a/static/img/pfp.png +++ /dev/null diff --git a/themes/polaris/assets/css/noto-serif.css b/themes/polaris/assets/css/noto-serif.css deleted file mode 100644 index f902c5e..0000000 --- a/themes/polaris/assets/css/noto-serif.css +++ /dev/null @@ -1,179 +0,0 @@ -/* noto-serif-100 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 100; - src: url('../fonts/noto-serif-v30-latin-100.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-100.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-100italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 100; - src: url('../fonts/noto-serif-v30-latin-100italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-100italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-200 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 200; - src: url('../fonts/noto-serif-v30-latin-200.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-200.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-200italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 200; - src: url('../fonts/noto-serif-v30-latin-200italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-200italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-300 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 300; - src: url('../fonts/noto-serif-v30-latin-300.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-300.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-300italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 300; - src: url('../fonts/noto-serif-v30-latin-300italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-300italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-regular - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 400; - src: url('../fonts/noto-serif-v30-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-regular.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 400; - src: url('../fonts/noto-serif-v30-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-500 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 500; - src: url('../fonts/noto-serif-v30-latin-500.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-500.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-500italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 500; - src: url('../fonts/noto-serif-v30-latin-500italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-500italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-600 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 600; - src: url('../fonts/noto-serif-v30-latin-600.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-600.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-600italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 600; - src: url('../fonts/noto-serif-v30-latin-600italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-600italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-700 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 700; - src: url('../fonts/noto-serif-v30-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-700.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-700italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 700; - src: url('../fonts/noto-serif-v30-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-700italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-800 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 800; - src: url('../fonts/noto-serif-v30-latin-800.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-800.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-800italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 800; - src: url('../fonts/noto-serif-v30-latin-800italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-800italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-900 - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: normal; - font-weight: 900; - src: url('../fonts/noto-serif-v30-latin-900.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-900.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} - -/* noto-serif-900italic - latin */ -@font-face { - font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */ - font-family: 'Noto Serif'; - font-style: italic; - font-weight: 900; - src: url('../fonts/noto-serif-v30-latin-900italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */ - url('../fonts/noto-serif-v30-latin-900italic.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */ -} diff --git a/themes/polaris/assets/css/style.css b/themes/polaris/assets/css/style.css index 230e5b8..2ca94ef 100644 --- a/themes/polaris/assets/css/style.css +++ b/themes/polaris/assets/css/style.css @@ -7,8 +7,8 @@ --nav-active-background: #eeeeee; --nav-active-foreground: #1a1a1a; --hr-background: #8a8a8a; - --sans-serif-font: Noto Serif, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif; - --serif-font: Noto Serif, Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; + --sans-serif-font: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif; + --serif-font: Iowan Old Style, Apple Garamond, Baskerville, Times New Roman, Droid Serif, Times, Source Serif Pro, serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; --mono-font: monospace; } @@ -19,8 +19,9 @@ body { font-family: var(--sans-serif-font); } -h1, h2, h3, h4, h5, h6 { - font-family: var(--serif-font); +.content h1, .content h2, .content h3 { + padding-bottom: 4px; + border-bottom: 1px #555555 solid; } a { @@ -32,99 +33,99 @@ a:hover { text-decoration: underline; } -.nav-over, main, footer { +.header, .content { max-width: 1000px; margin: 0 auto; } @media only screen and (max-width: 1100px) { - .nav-over, main, footer { + .header, .content { max-width: 800px; } } @media only screen and (max-width: 900px) { - .nav-over, main, footer { + .header, .content { max-width: 700px; } } @media only screen and (max-width: 750px) { - .nav-over, main, footer { + .header, .content { max-width: none; } - .nav-title, main, footer { + .header-top, .content { margin: 0 16px; } - .nav-title h2 { + .header-title { display: block; } } -.nav-under { - background-color: var(--nav-background); - padding: 4px 0; +.header-bottom { + height: 4px; + background: var(--nav-background); } -.nav-title h2 { +.header-title { display: inline-block; margin-top: 0; margin-bottom: 0; } -.nav-title { +.header-top { padding: 16px 0; } -.nav-subtext { +.header-subtext { margin-left: 16px; color: #999999; font-style: italic; } -.nav-over ul { +.header-items { list-style-type: none; margin: 0; padding-left: 0; overflow: hidden; } -.nav-link { +.header-item a { background-color: var(--nav-background); color: var(--nav-foreground); display: block; padding: 8px 12px; } -.link-active { +.header-item-active a { background-color: var(--nav-active-background); color: var(--nav-active-foreground); } -.link-left { +.header-item-left { float: left; } -.link-right { +.header-item-right { float: right; } @media only screen and (max-width: 400px) { - .link-left, .link-right { + .header-item-left, .header-item-right { float: none; } - .nav-under { + .header-bottom { display: none; } - .nav-title h2 { + .header-title { display: block; } - .nav-subtext { + .header-subtext { margin-left: 0; } } @@ -135,27 +136,26 @@ hr { border: none; } -footer { - text-align: center; -} - -.footer-break { - width: 120px; +pre { + padding: 8px; + white-space: pre-wrap; } -.build-date { - font-style: italic; +code { + font-size: 110%; } -.badge { - image-rendering: crisp-edges; +.toc { + background: #101010; + padding: 8px; } -pre { - padding: 8px; - white-space: pre-wrap; +.toc h2 { + margin-top: 0; + margin-bottom: 0; } -code { - font-size: 110%; +.toc > nav > ol { + margin-top: 8px; + margin-bottom: 0; } diff --git a/themes/polaris/layouts/_default/baseof.html b/themes/polaris/layouts/_default/baseof.html index 37a6059..3c052ea 100644 --- a/themes/polaris/layouts/_default/baseof.html +++ b/themes/polaris/layouts/_default/baseof.html @@ -11,30 +11,21 @@ <meta charset="utf-8"> <title>{{ $pageTitle }}</title> <meta name="viewport" content="width=device-width, initial-scale=1"> - <link rel="icon" href="{{ .Site.Params.iconURL }}"> - {{ with resources.Get "css/noto-serif.css" | minify | fingerprint }} - <link rel="stylesheet" href="{{ .Permalink }}"> - {{ end }} {{ with resources.Get "css/style.css" | minify | fingerprint }} - <link rel="stylesheet" href="{{ .Permalink }}"> + <link rel="stylesheet" href="{{ .Permalink }}"> {{ end }} <meta property="og:title" content="{{ $pageTitle }}"> <meta property="og:url" content="{{ .Page.RelPermalink }}"> - <meta property="og:image" content="{{ .Site.Params.iconURL }}"> <meta property="og:site_name" content="{{ .Site.Title }}"> <meta property="og:description" content="{{ .Site.Params.subtext }}"> </head> <body> - <nav> - {{ partial "nav.html" . }} - </nav> - <main> + {{ partial "header.html" . }} + <div class="content"> {{ block "main" . }} - {{ .Content }} + {{ . }} {{ end }} - </main> - <footer> {{ partial "footer.html" . }} - </footer> + </div> </body> </html> diff --git a/themes/polaris/layouts/_default/single.html b/themes/polaris/layouts/_default/single.html index 56b9d9d..f059c55 100644 --- a/themes/polaris/layouts/_default/single.html +++ b/themes/polaris/layouts/_default/single.html @@ -8,7 +8,7 @@ {{ end }} {{ end }} {{ if or (eq .Section "posts") (.Params.toc) }} - {{ with .TableOfContents }}{{ . }}{{ end }} + {{ partial "toc.html" . }} {{ end }} {{ .Content }} {{ end }} diff --git a/themes/polaris/layouts/partials/header.html b/themes/polaris/layouts/partials/header.html new file mode 100644 index 0000000..5e34bda --- /dev/null +++ b/themes/polaris/layouts/partials/header.html @@ -0,0 +1,20 @@ +<div class="header"> + <div class="header-top"> + <h2 class="header-title"><a href="/">{{ site.Title }}</a></h2> + <span class="header-subtext">{{ .Params.subtext | default .Site.Params.subtext }}</span> + </div> + <ul class="header-items"> + {{ $currentPage := . }} + {{ range .Site.Menus.left_nav }} + <li class="header-item header-item-left {{ if $currentPage.IsMenuCurrent "left_nav" . }} header-item-active {{ end }}"> + <a href="{{ .URL }}">{{ .Name }}</a> + </li> + {{ end }} + {{ range .Site.Menus.right_nav }} + <li class="header-item header-item-right {{ if $currentPage.IsMenuCurrent "right_nav" . }} header-item-active {{ end }}"> + <a href="{{ .URL }}">{{ .Name }}</a> + </li> + {{ end }} + </ul> +</div> +<div class="header-bottom"></div> diff --git a/themes/polaris/layouts/partials/nav.html b/themes/polaris/layouts/partials/nav.html index dc1e463..35fb535 100644 --- a/themes/polaris/layouts/partials/nav.html +++ b/themes/polaris/layouts/partials/nav.html @@ -1,17 +1,14 @@ -<div class="nav-over"> - <div class="nav-title"> - <h2><a href="/">{{ site.Title }}</a></h2> - {{ $subtext := .Params.subtext | default .Site.Params.subtext }} - {{ with $subtext }}<span class="nav-subtext">{{ . }}</span>{{ end }} - </div> - <ul> - {{ $currentPage := . }} - {{ range site.Menus.left_nav }} - <li><a class="nav-link link-left {{ if $currentPage.IsMenuCurrent "left_nav" . }} link-active {{ end }}" href="{{ .URL }}">{{ .Name }}</a></li> - {{ end }} - {{ range site.Menus.right_nav }} - <li><a class="nav-link link-right {{ if $currentPage.IsMenuCurrent "right_nav" . }} link-active {{ end }}" href="{{ .URL }}">{{ .Name }}</a></li> - {{ end }} - </ul> +<div class="nav-title"> + <h2><a href="/">{{ site.Title }}</a></h2> + {{ $subtext := .Params.subtext | default .Site.Params.subtext }} + {{ with $subtext }}<span class="nav-subtext">{{ . }}</span>{{ end }} </div> -<div class="nav-under"></div> +<ul> + {{ $currentPage := . }} + {{ range site.Menus.left_nav }} + <li><a class="nav-link link-left {{ if $currentPage.IsMenuCurrent "left_nav" . }} link-active {{ end }}" href="{{ .URL }}">{{ .Name }}</a></li> + {{ end }} + {{ range site.Menus.right_nav }} + <li><a class="nav-link link-right {{ if $currentPage.IsMenuCurrent "right_nav" . }} link-active {{ end }}" href="{{ .URL }}">{{ .Name }}</a></li> + {{ end }} +</ul> diff --git a/themes/polaris/layouts/partials/toc.html b/themes/polaris/layouts/partials/toc.html new file mode 100644 index 0000000..5f286b5 --- /dev/null +++ b/themes/polaris/layouts/partials/toc.html @@ -0,0 +1,6 @@ +{{ with .TableOfContents }} + <div class="toc"> + <h2>Table of Contents</h2> + {{ . }} + </div> +{{ end }} |