crisrojas / Zettels

Zettels Hugo Theme
108 stars 14 forks source link

⚠ī¸ Mac app (available soon)

ℹī¸ For being notified on the launch of the mac generator app (generates a website from Bear), please fill this survey: https://tally.so/r/3xYXWJ

Bear notes Hugo theme

Online Zettelkasten/Digital garden Hugo theme.

Sites using zettels

Screenshot1 Screenshot2

đŸ’ģ Installing & running

On your config.toml, set the theme as follows: theme = "github.com/crisrojas/zettels", alternative you could just git clone this repo inside the "themes" folder or submodule it with git submodule.

git submodule add https://github.com/crisrojas/zettels.git themes/zettels

From bear, export your notes as markdown into the content folder. You'll also need to put there an _index.md file. This will be the webiste entry point.

To make things easier you could use one of this tools:

Run with hugo server --disableFastRender , this will avoid a weird bug that I've not tracked yet (content being rendered multiple times)

⚙ī¸ Config file

This is the config.toml I'm using for publishing my notes.

I'll add more details about usage in the future. For now you can copy-paste and replace the variables to fit your needs.

languageCode = "es-ES"
title = "Notas"
uglyURLS =  true

relativeURLs = true

publishDir = "public"
pygmentsUseClasses = true

assetDir = "themes/zettels/assets"

DefaultContentLanguage = "es"

theme = "zettels"

[outputs]
  home = ["HTML", "JSON"]

[params]
    theme = "duotone-light" 
    bear = true
    favicon = "favicon.ico"
    author = "Cristian Rojas"

# Enable tags.
[taxonomies]
    tag = "tags"

# Allows rendering the html inside markdown
[markup.goldmark.renderer]
unsafe= true

ℹ bear = true uses filename as a title on the frontend instead the title yaml property.

🎨 Themes

On your config file, pass the chosen theme as a parameter:

[params]
  theme = "duotone-light" 

You can chose between duotone-light and red-graphite.

More Bear themes will be added in the future.

🌎 Language

On your config file, pass the chosen language as a parameter:

DefaultContentLanguage = "es"

Languages available: Spanish ("es"), English ("en"), French ("fr")

🔗 Linking notes

Linking is done through double-brackets syntax.

Ex.: [[wikilink]], where "wikilink" is the filename of the note to be linked.

I'll maybe add a feature to allow choosing linking from note's title instead of filename.

<!-- Input -->
[[biology]]
<!-- Regex looks for markdown file... -->
biology.md
<!-- Output html -->
<a href="https://github.com/crisrojas/Zettels/blob/master/biology.html">biology</a>

Spaces in wikilinks are supported: [[spaced link]] outputs <a href="https://github.com/crisrojas/Zettels/blob/master/spaced-link.html">spaced link</a>

🔙 Backlinks

Backlinks are supported. Example → here

Nested tags

Nested tags inside note content are rendered. Expect some errors on tricky cases.

UI/UX

If you're thinking this obviously looks a little too much like Bear, you're right.

This is not coincidental. The reasons are basically:

Shortcuts

To open index/search hit:

🚧 toDo

Done

Maybe one day/ Nice to have