Home

Awesome

⚠️THIS TEMPLATE AND SCRIPT IS NO LONGER MAINTENED PLEASE CHECK THE NEW TEMPLATE AND WORKFLOW USING MKDOCS ⚠️

<br> <br>

GitHub license GitHub forks GitHub top language PyPI

<p align="center"><a href="https://github.com/Mara-Li/YAFPA-python">Powerfull this template with YAFPA</a></p>

Notenote.link

Netlify Status

What is this?

A digital garden using a custom version of simply-jekyll, optimised for integration with Obsidian. It is more oriented on note-taking and aims to help you build a nice knowledge base that can scale with time.

DEMO

If you want to see a more refined example, you can check my notes (in french) at owlly-house.

Issues are welcome, including feedback ! Don't hesitate to ask if you can't find a solution. 💫

screenshot

What is different?

How do I use this?

You can click on this link and let the deploy-to-netlify-for-free-script do the rest !

Deploy to Netlify

Follow the How to setup this site guide, written by raghuveerdotnet and then adapted for this fork.

If you want to use it with Github Pages, it is possible, please read this.

How can I participate?

Open an issue to share feedback or propose features. Star the repo if you like it! 🌟

How do I customize this for my needs?

Things to modify to make it yours:

On command-line, you can run bundle exec jekyll serve then go to localhost:4000 to check the result.

Sidenav

You can style the sidenav for your need.

Python script

Having files written in Markdown on Obsidian, I created a python script in order to semi-automatically share selected file, not all file, in my blog. To install it use pip install YAFPA

You can have more information here and you can work on the script here.

You need to have python 3.8 on your computer, and pip need to be in your PATH.

Environment

The first time you use the script, it will ask you three things :

The script will be in $HOME/.YAFPA-env so you can edit it with VIM/notepad/your hands… You can also edit it with yafpa --config

Here is a blank sheet to help you if you want to manually write / edit it :

vault=
blog_path=
blog=
share=

With :

Usage

usage: yafpa [-h] [--preserve | --update] [--filepath FILEPATH] [--git] [--keep] [--config]

Create file in folder, move image in assets, convert to relative path, add share support, and push to git

optional arguments:

Frontmatter and metadata

Script

The script work with the frontmatter :

Blog frontmatter options

Exemple of frontmatter :

category: Roleplay/Application
date: 21-12-2021
share: true
tag: RP/Darkness-Haunted/Application/PC
title: (Darkness Haunted) Alwyn Kallendris

The file will be added in the Roleplay folder ; and the Application will now show the file in the sidebar, the Roleplay page and the collections page.

Folder options

The metadata key folder allow to use another folder than _note.

There are two ways to create the files needed to use this option:

Here is the steps for the long way :

  1. Create a new folder with the name you want, prefixed with _ (as _notes or _private)
  2. Add to the _config.yml :
    1. collection :
  private:
     output: true
     permalink: /folder_name/:title
  1. defaults
   - scope: 
       path: ""
       type: folder_name
    values: 
      layout: post
      content-type: notes
  1. Duplicate the private.md and rename it with the folder name you want.
    1. In this new file, change the line {%- if page.permalink == "/private/" -%} for {%- if page.permalink == "/folder_name/" -%}
    2. Change the permalink key with permalink: /folder_name/
    3. change {% assign mydocs = site.folder_name | group_by: 'category' %}

And there is it !

Note : Git don't push empty folder. So, don't forget to create an empty file. (The python script will do it for you.)

Notes about Private folder : the private folder doesn't have a page, and doesn't appear in the feed or in search. The only way to access it is with the link (adding /private at the end)

Custom CSS

You can add custom css in custom css. It will be read when you use hashtag to stylize your text according to ContextualTypography and/or CodeMirror Options.

To add custom tag to customize your text, you need to edit the custom.css file with :

#tag_name {
    css_value : css;
    . . . 
}

The script will read the file and change #tag_name to {: .tag_name}.

Customize the script

Custom Admonition

The file custom_admonition allow you to create custom admonition for the script. The template is :

- admonition_type: #Admonition plugin, same name
    - logo #emoji, ASCII...
    - admonition_title #As in admonition plugin

A reference of logo used in the original script :

Exclude folder

Sometimes, you want to exclude folder for privacy, or just because you move a file in your archive, and forgot about the share state ! So, you can exclude folder with exclude_folder.

The template is :

- folder_name
- folder_name2

(yes, it is just a list

⚠ File in excluded folder are deleted in the blog.

Obsidian

→ Please use Wikilinks with "short links" (I BEG YOU) You can integrate the script within obsidian using the nice plugin Obsidian ShellCommands.

You could create two commands :

  1. share all : yafpa
  2. share one : yafpa --f {{file_path:absolute}}

You can use :

Template frontmatter

→ The • indicate that this value is optional

title: My files•
date: 12-11-2021•
embed: true•
update: true•
current: true•
folder: notes•
flux: true•
share: false 
category: Notes
description: my awesome file

You can use MetaEdit / Supercharged links to quickly update the front matter.