Skip to content

InfoWarehouse is a modern information "warehouse" for my Personal Knowledge Management (PKM)

Notifications You must be signed in to change notification settings

cedrickchee/src

Repository files navigation

InfoWarehouse

Note

Work-In-Progress (WIP).

InfoWarehouse — a modern information "warehouse" in the form of a wiki.

This project is part of my Personal Knowledge Management (PKM).

The public wiki contains "raw materials" (resources) for writing. The resources and lists link to the original full-text source.

I am sharing them in the hope that they would be useful to you as well.

The wiki is available on:

What kinds of contents

The initial content in this wiki was migrated from My Knowledge Wiki (GitBook):

  • Notes from courses (educational materials) that I've study. (mostly for fast.ai and Coursera)
  • Notes on various programming (technical) topics.
  • Notes from books and other interesting things that I've read.

[WIP] This wiki also aggregates some of my lists:

User Guide

  • The order of items in sidebar is alphabetical except notes from courses.
  • I will rearrange and rename at any time with no notice.
  • This is a public wiki - Terms of use: [TODO]

Information workflow

I design my note taking system based on a few ideas. One of them is progressive summarization1.

I "capture" information from a wide variety of sources into Shiori (a bookmarks manager). Next, I move selected bookmarks to src.

The 5 layers of summarization2:

  • 0: Original full-text source, raw information (i.e.: books, articles, papers, references)
  • 1: Notes (i.e.: notes from projects that I've work on, notes from interesting things that I've read)
  • 2: Highlighted passages
  • 3: Bold passages
  • 4: Mini summary (i.e.: notes from books I've read)
  • 5: Remix (i.e.: writings, blog posts, micro posts/Tweets)

InfoWarehouse is in layer 0.

Once the raw info is processed, it will flow to my digital garden3 (built with Obsidian).


PKM Tools

This project is a Turborepo monorepo setup.

The setup was based on an official pnpm starter turborepo.

I created this turborepo by following the tutorial here.

What's inside?

This turborepo uses pnpm as a package manager. It includes the following packages/apps:

Apps and Packages

  • wiki: a Docusaurus app
  • docs: a Next.js app
  • web: another Next.js app
  • ui: a stub React component library shared by both web and docs applications
  • eslint-config-custom: eslint configurations (includes eslint-config-next and eslint-config-prettier)
  • tsconfig: tsconfig.jsons used throughout the monorepo

Each package/app is 100% TypeScript.

Utilities

This turborepo has some additional tools already setup for you:

Installation

We use pnpm as the package manager. At the root of the repository, run pnpm i to install the monorepo dependencies.

cd src
pnpm i

Build

To build all apps and packages, run the following command:

cd src
pnpm run build

Develop

To develop all apps and packages, run the following command:

cd src
pnpm run dev

Running dev on only one workspace at a time:

By default, pnpm run dev will run dev on all workspaces at once. But sometimes, we might only want to choose one workspace.

To handle this, we can add a --filter flag to our command. This --filter gets passed to the turbo CLI.

pnpm run dev --filter wiki

Alternatively, run:

pnpm run dev:wiki

Deployment

On every commit, Vercel that is hooked up to the GitHub repo runs Docusaurus and new version of wiki is published.

Please read "Using Monorepos with Vercel dashboard" docs if you would like to learn how I set up all this.

Learn more

Remote Caching

Turborepo can use a technique known as Remote Caching to share cache artifacts across machines, enabling you to share build caches with your team and CI/CD pipelines.

By default, Turborepo will cache locally. To enable Remote Caching you will need an account with Vercel. If you don't have an account you can create one, then enter the following commands:

cd src
pnpm dlx turbo login

This will authenticate the Turborepo CLI with your Vercel account.

Next, you can link your Turborepo to your Remote Cache by running the following command from the root of your turborepo:

pnpm dlx turbo link

Useful Links

Learn more about the power of Turborepo:

License

View

I am providing code and resources in this repository to you under an open source license. Because this is my personal repository, the license you receive to my code and resources is from me and not my employer.

Footnotes

  1. Progressive Summarization by Tiago Forte

  2. 5 layers of summarization

  3. What is "digital gardening"?

About

InfoWarehouse is a modern information "warehouse" for my Personal Knowledge Management (PKM)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published