Open JoshuaPurtell opened 3 years ago
First order of business: add https://github.com/tinysearch/tinysearch search bar and top-right graph window for pages. My first thought for the window is to simply make a bunch of mini-graphs, where the mini-graph shown at the top of a page is simply a graph of the page node and its primary/secondary connections.
Atomic minigraphs have been built, this time with just primary connections, but later on I can easily add the modality to allow for secondary connections (maybe there could be a mode where extra connections are chosen so that a minimum number of representations are shown?). The next push will include a function to initialize all "linked" md pages and then add the appropriate atomic graph to the bottom and front matter to the top of each. Once this is finished I probably will put a bow on the articles page as far as 0.2.0 is concerned and will move on to working on the project, about, and home pages, in that order for version 0.2.1.
Project page planning: so, I think it will be important to avoid using cognitively intensive presentation styles when it's not absolutely critical. While I think the graphical presentation for articles meets the bar in terms of value added, I haven't really thought of a hugely value-adding dynamic format for presenting projects. I think keeping it simple is paramount here. So, the planned format will be:
Title - Github link Article link with use cases and walkthrough Panel of top percentile article matches to code documentation
I probably will tinker around with the options cpp code to implement this, mostly because it is incredibly short (trivial?).
Next, I need to work on the hidden about page. This really needs to be where the creative big guns come out. Additionally, it would be good to create a completely hidden EH page ....
I want to outline my goals for the webpage, both in terms of webpage content and webpage form. This is both for the motivational leverage to be gained (unfortunately, working on the website will almost never make it to the "hard work" threshold, and always will reside in "soft work" (I'll probably make a post elaborating on this division, which should incidentally elaborate the logic of the previous claim)), and so that friendly and generous outsiders might be able to contribute if they see fit. With the boilerplate having been bolted on, let's jump in:
Current Build State: v0.1.0 (alpha)
Form
Obsidian Port
Note: there's a good chance that this code will be contained in a different repo [] SUPER TASK: Build framework for porting Obsidian page content to webpage. [] This is basically a technically trivial task since Obsidian and Hugo both build from markdown. This could be built using a simple bash script, but I am leaning toward R, mostly to keep the transport build and the graph build under the same roof. [] SUPER TASK: Refine framework for generating dynamic graph [] This is less technically trivial. The current build generates html that, all things considered, looks alright, at least in the context of a more casual implementation. However, to a great extent the builder can do nought but show the visitor the entire graph at once. This might work ok for very small graphs, but is unacceptable for larger graphs (and the utility of the graph is that it connects disparate ideas), especially given that the semantic content of the graph is currently not obvious from first glance (although this is a later point of improvement). So, it seems urgent to create some method for centering and scaling so that the node corresponding to the current page is in focus. [] In the spirit of making semantic content clear, the most obvious decision, to just make the label for each node visible as text, seems dreadfully ugly. The goal would be to have different nodes grow in size and reveal their text, before then shrinking, on a stochastic basis. This might take a lot of work, but I really think it could be worth it. Also, I would like to investigate coloring the background according to the semantic content of nodes (green for computational bio, yellow for physics, blue for chemistry, red for mathematics, does the fact that the associations are obvious to me mean that I have some sort of lame synesthesia, or simply that my AP notebooks imprinted on me?). [] SUPER TASK: Ok, this one should be much easier. Fix the formatting for regular page graph inclusions, which should be small and in the top right (ideally they would remain in sight upon scrolling, but I suppose this isn't a priority). [] SUPER TASK: Finally, I would like to add in search capabilities. That is, I would search a term in a bar, it gives the top five fuzzy matches in a drop-down which upon clicking recenter the graph to where that node is. This search bar would only be for the "articles" page. Then there should be a "standard" search bar in the home page where articles can be searched by Title, text, or keyword search.
Layout
[] Consolidate Material into smaller number of headings (Home, About, Articles, Projects). The necessity of this update became very clear early on; "books", "quantitative finance", and "projects" really shouldn't share categories and there simply isn't enough space on the dash for X different subjects (physics and computational bio are already down the pike, and I'm already uncertain re: the utility of these buckets in a blog that I hope will be interdisciplinary — should a paper on agentive predator-prey computational modelling be Econ or Bio?). The goal should be to have these buckets moved over to the graph build; maybe have them arranged on the right in dull colors, where if activated they subset the graph to that subject (center the graph and shrink/dull non-subject nodes). [] This is small but forcing smaller cards when articles are suggested — esp. for the articles page, which will just have "source". Ideally, the card would only contain the title, and maybe some keywords. Could the suggested articles bit suggest articles which are close by in terms of the graph?
Content