# Basant

I collect a lot of information. Basant is a tool to help me refine, reflect and understand the vast troves of data I generate. 
Think of it like a unified front end to all the data sources I have. 
From these vairous outputs can be created, with the end goal being a variety of ways to viualize, understand and share my data: matrix bot to publish to The Feed, a front page showing latest changes, and of course, my website.  
I'd like to be able to draw 'links' or annotations between the tags I use across various different pieces of software, 
These are the tools I use construct the space. 

The map is not the teritory. 

## Architecture 

Basant is made from various different data sources, each with their own folder. 
Each data source will have a `grab`, `build`, raw & output. `grab`  gets the raw data, and `build` makes it into HTML
Depending on the data source, there may be additional partial/ asset/ media/ folders in the directory. I'm not yet sure how to cascade these and build upwards. 
Some of those HTML files get published

For better ideas look into [HPI](https://github.com/karlicoss/hpi) and how it's structured

### Grab
Currently `kitaab-public` requires a local copy of unfiltered kitaab stored in ~/vimwiki. 

However, flakes can use private git repos, so maybe there's a way to build this bit too using nix?? TODO
there needs to be a .vimwiki_tags file there (which can be built in vimwiki using `:VimwikiRebuildTags`; how to automate this?) TODO

It'll grab the relevant files, censor them, and then add them to raw/ 
`kitaab-local` should run the same thing, but without the filtering and censoring

streams is a big TODO
- wallabag
- shaarli
- rss
- kobo
- tasks
- habits

### Build
TODO
depending on the file location (which is in turn determined by input source) a specific template gets applied
links get made
and it saves it to output

### Publish
packaged `devShell`, `module` and `derivation` for basant created, but not quite working yet. Slowly understanding more about nix, but down a terrible rabbit-hole now with python and setuptools...
