DEV Community

Cover image for A Personal Git Repo as a Knowledge Base Wiki

A Personal Git Repo as a Knowledge Base Wiki

Adam Braimah on February 19, 2021

While it's not something that everyone likes to do, I've always found it essential to write notes. There are the project-specific notes that only h...
Collapse
 
mrrcollins profile image
Ryan Collins

I learned of Obsidian last week from harshibar. It looks promising, unfortunately, it doesn't recognize .markdown as a Markdown file. :-(

From my limited testing, it looks like it could be useful, especially being able to create links.

Collapse
 
thomashighbaugh profile image
Thomas Leon Highbaugh

That's an easy enough solution with a batch renaming tool to switch .markdown to .md, depending on your platform/package-manager the tools differ of course so figure out which one works for you but personally obsidian is just another vendor to lock you into their product and its opinionated assumptions.

Collapse
 
adam_b profile image
Adam Braimah

Thanks for the tip!

Collapse
 
scottgilhooly profile image
ScottGilhooly

+1 for Obsidian. Nice and simple and portable (I have it on Mac and Windows). Oddly, never occurred to me to put all the notes i have scattered EVERYWHERE into a git repo!

Collapse
 
cadams profile image
Chad Adams • Edited

I did this too but thought instead of making it private why not make it public. Seems like every developer I know does this in some way.

I started a project a couple weeks ago to fix this problem. It’s in the concept phase so a lot of design can change. I’m looking for some feedback so if you want to check it out that would be great. :)

syntaxrecall.dev
github.com/syntaxrecall/syntaxrecall

Collapse
 
adam_b profile image
Adam Braimah • Edited

I've actually never known another developer do this (or if they have, they've been quiet about it), but I guess writing about it attracts other people who think the same way!

Making content public or private is down to personal choice of course, but I think there's something to be said about removing the pressure of the public gaze and tailoring the content to exactly what you need. There's also a benefit if you want to use code snippets/examples/diagrams (or entire topics) that you explicitly don't want to share for whatever reason. However, using an open source format like MD means that it's very easy to port content out from one repo to another if there's something to share more widely.

Thanks for the link! I tried to launch the site itself but couldn't get it to respond to any searches - are there any pre-requisites for the browser running it?

Collapse
 
cadams profile image
Chad Adams • Edited

Some of the devs I've worked with use cacher.io/. I tried it, but I didn't want to pay for it. I like the personal wiki approach but I prefer the devhints.io approach more. Everyone can contribute and knowledge share. Saves everyone time, making everyone more productive.

For my site yeah there's not much content currently cause I just started it. Try searching for one of these though.

Cheatsheets

  • Git
  • VSCode
  • Lua
  • Markdown
  • Sass
  • Screen
  • Vim
  • Yarn

Tools

  • JSON Editor
  • Phobia
  • Tailwind playground
Collapse
 
subbramanil profile image
Subbu Lakshmanan

Love the idea of browsing & viewing the notes on a browser!! I have been using markdown + VSCode + git for my notes for over 4 years now. Absolutely love it!!

Notes

I will give it a try on MDWiki!! Thanks for the great post!!

Collapse
 
adam_b profile image
Adam Braimah

Thank you! I love that you've got your actual daily project notes there too - great for recalling design decisions from the distant past :)

Collapse
 
timothydjones profile image
Tim Jones

Hi, Adam. Thanks for the tip about MDwiki. I'm going to look into that.

I have recently started my own TIL repository on GitHub following several of the concepts that you described. I don't have much there yet, but it seems to be a good fit for me so far. Check it out and let me know what you think.

Collapse
 
cadams profile image
Chad Adams • Edited

If you don't mind check these out and give me some feedback. :)
syntaxrecall.dev/vscode-keyboard-s...
syntaxrecall.dev/vim

Collapse
 
adam_b profile image
Adam Braimah

Looking good! I'll definitely be making use of some of those VS code shortcuts.
(as an aside, it is a classic of dev life that you need a cheat sheet to exit vi 🙂)

Collapse
 
adam_b profile image
Adam Braimah

I like where you're going with that! I might borrow the idea of having a section specifically for tools - little cheat sheet pages that would be really useful on a second monitor 👍🏿

Collapse
 
kevlatus profile image
Kevin Latusinski • Edited

it sounds like foam might be for you: it uses exactly your type of markdown and file based layout, while simplifying the process of linking content. All while being a VSCode plugin.
I recently started using it and must admit that I'm hooked 🤷‍♂️

Collapse
 
maxivanov profile image
Max Ivanov

Like it. What's your process of adding images to the pages? Is it: take a picture with a smartphone → icloud/dropbox sync to computer → move the file to the repo → add an image in markdown?
I'm yet to find a perfect solution for a personal knowledge base. I like to add diagrams next to the text (often a doodle is worth a hundred words) and I want the process to be as easy as possible. I found Notability app to serve best my needs. Using it on my iPad and computer. Also tried OneNote, GoodNotes and (Apple) Notes but they didn't click with me.

Collapse
 
adam_b profile image
Adam Braimah

Thank you! Yes, that's basically the process for adding images - I've only had to do that with one or two hand-drawn ones so far, for screenshots it's of course even simpler than that.
When I was first introduced to Apple Notes, I got into using it but getting the information out was ridiculous - I ended up connecting it to my Google account and so the notes now live in a Gmail folder as though they're emails. I've started the process of copying/reformatting the info to live in this repo, where it'll be a bit more useful!

Collapse
 
timster profile image
Tim Shaffer

If you want a super easy http server, python has one built in. Just go to the directory and run this:

python3 -m http.server

Collapse
 
adam_b profile image
Adam Braimah

That's a great tip! 👍🏿

Collapse
 
eelstork profile image
Tea

Also - try Notational Velocity if you're on macOS

Collapse
 
epszaw profile image
Konstantin Epishev

Like your idea. Honestly, there is really no need to do website to collect something. Never thought about "just repository" as about a knowledge base!

Collapse
 
longtth profile image
Long Nguyễn Xuân

MDwiki is stopped maintain.
And when I tried with ver 0.6.2, it doesn't show up anything, error

Collapse
 
longtth profile image
Long Nguyễn Xuân
Collapse
 
longtth profile image
Long Nguyễn Xuân • Edited

can you have a look!?