This is an internal README for us writers ✍️. Any file that has the suffix README.md
will be ignored during deployment to https://note.d.foundation/, so feel free to add upon this and other READMEs.
The contents of this project is mainly managed with Obsidian, so you need to download the app from their website to get started. We expect that you also know your way with git
. You can also use GitHub Desktop if you aren't too tech savvy.
This repo contains the practices and notes of the Dwarves Foundation, a software development company that builds products with high standards and quality. The content covers various topics such as engineering, design, product management, culture, and more.
We use some plugins to enhance our workflow on Obsidian, such as:
- Obsidian Git A plugin that helps with automating git interactions for our non-tech folks.
- ImageConverter: A plugin that helps with mass compression of local images.
- Local Images Plus: A plugin that helps compress and localize images.
- Dataview: A SQL-like plugin that helps us query and manage our Obsidian vault as a database.
- Templater: A plugin to help automate templates and run arbitrary code on our vault.
The general idea is getting this repository to load as a "vault" in Obsidian. The configuration files are baked into the repository, so you don't need to mess with the settings.
For our tech people, you only need git
and some basic knowledge on how to clone a repository, and you should be good. For everyone else, we recommend installing the following packages:
You will also need to add an SSH key to your GitHub settings. You can run our script to create and copy a key to your clipboard:
curl -fsSL https://raw.githubusercontent.com/dwarvesf/note.d.foundation/main/ssh-keygen.sh | sh
- Clone this repository with either git or GitHub Desktop. You can get started with GitHub Desktop here: https://docs.github.com/en/desktop/overview/getting-started-with-github-desktop. Otherwise:
git clone https://github.com/dwarvesf/content
- After cloning the repository, open up Obsidian and load your new vault:
- You should then be good to go! Make sure to check out Obsidian's documentation for more info on how to use it.
Making a new post is fairly straightforward. We have a set of templates to help you get started:
- First, create a new file and name it however you like:
- We have updated to make it so the metadata/frontmatter for new files will automatically be created. - You will be able to see your frontmatter (your metadata) populated with some basic data. Fill in your
tags
,authors
,description
, and change your title if neccesary:tags
: a list of tags that have related keywords or arbitrary relationships with other termstitle
: the title of your post, which is independent from the title of your filedate
: an autogenerated date to represent the day that you created the filedescription
: a short description of what your content is aboutauthors
: a list of authors who participated in the writing of the filemenu
: a label to help add the link to the navigation sidebar at https://note.d.foundation/toc
: a boolean that generates a table of content on the page displayed at https://note.d.foundation/notice
: a description that is represented as a visual banner to notify disclaimers or notices
We have a folder of members to profile who contributes to the vault. We use this as reference for the authors
list when creating a new post.
Creating a new member has a similar process to creating a new post, with some extra stuff:
- First, you can create a note in a targeted directory. Create a note in the members folder:
- Then name your note to whichever username you find fits you the most:
- Press
⌘ + Shift + P
to open Obsidian's command bar and choose the templateNew Member
: - You will then see your file generated with some properties. Fill in your social details and whatever you find is appropriate:
- (Optional) If you've written some notes before and want your profile to be generated, press
⌘ + Shift + P
to bring up Templater and selectRefresh Members' Profile
- When you re-open up your note, you will see that your member file will have generated a profile card, along with some of their contributed written notes in the vault:
- Committing your work: If you're well-versed with
git
, you should be okay here. If you're using GitHub desktop, make sure to commit and push your changes:
You may have noticed that we have 2 template systems: one that comes with Obsidian called Template
and another that comes from a community plugin called Templater
. We use a combination of plugins like Templater
and Dataview
to help programmatically generate content based on our writer's work.
There are 2 specific templates that use Templater
that will be autogenerated when you startup Obsidian:
Refresh Index
: a template to populate the index page with all of our written articles in the vault.Refresh Members' Profile
: a template to update our member's profile whenever there are changes to the frontmatter.Refresh Earn
: a template to update our earn and bounty program list.Refresh Memo
: a template to update our memos.
If you ever find that you see changes and need to commit the _index.md
file or the members/
folder, don't mind just commit your work with them. Do make sure nothing funny is going on with those files 👀. If you do see that, contact your nearest dev guy.
We use the Obsidian plugin Local Images Plus to help localize and compress our images to jpeg. You can also use ImageOptim to compress your images and make them load faster on the web. It helps save on disk space and bandwidth.
We essentially have 2 repositories:
- One to manage the compilation and deployment of Obsidian markdown to static HTML: https://github.com/dwarvesf/note.d.foundation
- One to manage the vault that everyone interacts with; think of Obsidian as our IDE or local CMS: https://github.com/dwarvesf/content
Any changes to any one of these repositories will initiate a deployment workflow on the first repository, which will then update changes to https://note.d.foundation.