<>

Contacts: A Microlang for Managing Contacts

by Breck Yunits

July 16, 2024 โ€” Imagine a single plain text file named contacts.scroll where you stored the contact info for your family, friends, and colleagues, and you could track changes with git, compile it to a beautiful PDF or HTML page with search and sort, and it would also compile to CSV and/or JSON for import into iPhone, Android, Gmail, Outlook, et cetera?

Also imagine that this tool is free, open source, and public domain.

*

Introducing Contacts, a microlanguage (currently 23 lines of code, including comments) that makes it as concise as possible to add, prune, display, print and export your contacts.

*

There's almost nothing to learn (the code is self-explanatory).

In fact, it's almost guaranteed that using Contacts you will need to write less (we've taken every unnecessary character out).

*

Example

๐Ÿ‘ค Jack Doe phone +1 (555) 123-4567 email john.doe@example.com birthday 2/23/84 notes Daughter - Samantha. ๐Ÿ‘ค Jill Smith phone +1 (555) 123-4562 email jill@gmail.com birthday 1/23/80
*

How to use

  1. Create a file named something like contacts.scroll with this content:
// You can import the file, or just copy/paste the 21 lines of code here. [pathToScroll]/microlangs/contacts.parser title My Contacts buildConcepts contacts.csv contacts.json contacts.tsv buildHtml theme gazette mediumColumns 1 printTitle table printTable tableSearch ๐Ÿ‘ค Jack Doe phone +1 (555) 123-4567 email john.doe@example.com birthday 2/23/84 notes Daughter - Samantha. ๐Ÿ‘ค Jill Smith phone +1 (555) 123-4562 email jill@gmail.com birthday 1/23/80
  1. Run scroll build

Done! You should now see a contacts.html file for display and printing as well as TSV, CSV, and JSON files.

*

Contacts is interoperable with pen and paper.

*

What do you think? Anything that should be added/removed/improved?

*

Notes

  1. The idea for Contacts was sparked by this tweet from Tyler Tringas.
โ‚

Built with Scroll v164.7.0