I’ve previously kept stuff like this inside a README.md with something like this:

__c.f.__

* [title](link)
* [title](link)

We need a better way.

I also need to consider how I get thses notes which are scattered about my Library into something like nvALT or a blog post.

Even README.md`s should have some front matter:

---
layout: post
title:  "Ansible"
categories: tech
permalink: /ansible
front: matter
publish: true
private: false
etc: etc

So we could just search for README.md & LINKS.yaml. We would always consider a LINKS.yaml but only consider README.md if it had a YAML front matter & that front

Rational

A lot of the files / data I collect is little more tha a list of URL’s / bookmarks. So I collect README.md’s which are just full of * []().

I think it would make sence (& be a nice exrsize) to create some tolling to be able to have a LINKS.yaml which manipulate this in some way

If we consider the standard Bookmarks format then we have.

topLevel.link
├── header-02
│   ├── EmptyREADME-01.link
│   ├── EmptyREADME-02.link
│   ├── EmptyREADME.link
│   ├── __pycache__
│   │   ├── confluenceHelpers.cpython-37.link
│   │   ├── find_files.cpython-37.link
│   │   └── htmlHelperFunctions.cpython-37.link
├── Another Lever 2 Header
│   ├── EmptyREADME-01.link

Where each link is a URL, title and (optional) FavIcon.

As hinted at earlier, yaml is the obvious format to use for this.

---
-projects
  -name
    repo1
    repo2
  -_Backlog
  repo1
  repo2
name: Top Level Title
branches:
- name: name of branch 1
- name: name of branch 2
links:
- title: variable1
  url: htps://www.example.com
  favicon: data64-frededwsxwcwcwcwcwc
  private: false

- name: variable2
  values:
    Dev: dev_value
    Test: test_value
- name: variable3
  value: octopusdeploy-account
  type: AzureAccount
  description: Account used for deployments
project:
  name: OctopusProject
  description: My Octopus Project
  group: OctopusProjectGroup
  lifecycle: OctopusProject.Lifecycle
process:
  steps:
  - name: Init
    type: PowerShell
    file: scripts/init.ps1
  - name: Deploy VM
    type: PowerShell
    file: scripts/deploy.ps1

Design

This is going to be a simple golang project. So I shall start by keeping things simple.

If we have a two level system so that we can support mutiple lists within a single file. This would be optional and named

So if any entry had a heading: name of sublevel node then all nodes matching that sub level would be grouped. Any entries without a heading: would be grouped into a main heading.

heading: main is thus the default. If all entries are in “main” then it is considered that all headings are top-level.

---
links:
- title: This is the title
  url: http://www.example.com
  description: This is my own description
  date: yyyy-mm-dd
  favicon: data:image/x-icon;base64,AAABAAEAEBAAAA...EAAPgfAADyTwAA8A8AAPZvAAD+fwAA//8AAA==
  private: false
  heading: main
- title: This is the second title
  url: http://www.plancd.com
  description: This is another description
  note: A longer note which may have more detail than the short description. [Not sure about this one though]
  date: yyyy-mm-dd
  favicon: data:image/x-icon;base64,AAABAAEAEBAAAA...EAAPgfAADyTwAA8A8AAPZvAAD+fwAA//8AAA==
  private: true
  heading: main
- title: Minimum title
  url: http://www.omega-point.com

Favicons can be grabbed by this API.

Example for Tom.

<link href="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAA Favicon
https://www.favicon.cc/?action=icon&file_id=453063

Service API reference | Favicon Grabber
https://favicongrabber.com/service-api-reference

antongunov/favicongrabber.com: Grabbing favicons from any domain
https://github.com/antongunov/favicongrabber.com

favicongrabber.com/api/grab/github.com?pretty=true
http://favicongrabber.com/api/grab/github.com?pretty=true