Skip to content

New build architecture

Choose a tag to compare

@devprabal devprabal released this 10 Apr 07:58
· 32 commits to main since this release

Release Highlights

  • Makefiles updated with .PHONY targets
  • Pre-requisites of a target are now ordered steps in the recipe of that target (because the pre-requisites/dependencies do not define an explicit order when written as target: pre1 pre2. This does not guarantee that pre1 is built before pre2)
  • A common makefile (common.mk) provided for notes directories to avoid code duplication
  • Manual writing of individual .mk files no longer required. Makefile autogenerates it now (see gen_temp_mk target in Makefile)
  • Add <header> on all pages to link back to main page

Build Instructions

Prebuilt repo

  • Download archive notes-1.0.tar.gz or notes-1.0.zip from the Assets
  • Extract the downloaded archive
  • To see it running ootb as it is, just open index.html in browser

Steps to add new notes directory and then build

  • You will need binary for lowdown. Build from here.

  • You will require binary for sass. Download from here.

  • Suppose you want to add a new notes dir (say) - kawaii_tech.
    Then this dir (kawaii_tech) should have the following structure and mandatory files (notice the naming of the files too) -

    • kawaii_tech/kawaii_tech_notes.md (your notes in Markdown format)
  • Now in the Makefile (of the project's root dir) add this dir to DIRS_UNSORTED variable

  • Run make from project's root dir to generate all html and css files

  • Open index.html in browser

Some points to consider while writing notes

  • When adding new .md (notes) files, make sure that the fenced code blocks have a language set like -

```cpp
#include <iostream>
using namespace std;
int main()
{
  return 0;
}
```

This will make the <code> tag (in the generated html file) to have class set like -
<code class="language-cpp">