Blogroll

Here is a manual blog roll. For tips on how to use a blogroll, you might want to check feed readers. There is a machine-readable OPML if you that is your style.

Academic stuff

Less academic nerdery

Make your own automatic blogroll

This is the script I use to generate a blogroll from my OPML, a.k.a. my list of feed.(PRO TIP: Your feed reader can likley import that OPML and subscribe you to all of these at once, if you want):

#! /usr/bin/env python3
"""
opml_to_blogroll.py

Parse OPML into markdown.

opml_to_blogroll.py static/feeds.opml | xclip -selection clipboard
"""

import sys
import re
from xml.etree import ElementTree

def main(fname):
    with open(fname, 'r', encoding='utf8') as fp:
        tree = ElementTree.parse(fp)
    for cat_node in tree.find('body').findall('outline'):
        print("\n## {}\n".format(cat_node.get('title')))
        for node in cat_node.findall('outline'):
            name = node.attrib.get('text')
            feedurl = node.attrib.get('xmlUrl')
            url = node.attrib.get('htmlUrl')
            print("* [{}]({}) ([feed]({}))".format(name, url, feedurl))


if __name__ == "__main__":
    main(*sys.argv[1:])