From 8f5bd0e42b2f5d32cb6dcc71d4fcbe94e6d9be85 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Mon, 12 Jun 2023 23:09:07 -0500 Subject: Add README and COPYING --- COPYING | 11 +++++++++++ README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 COPYING create mode 100644 README.md diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..26caa42 --- /dev/null +++ b/COPYING @@ -0,0 +1,11 @@ +Copyright (C) Case Duckworth under the terms of the + + = = = = = = = = = = = = = GOD WILLING LICENSE v1.0 = = = = = = = = = = = = = = + +Permission to use, distribute, modify, or otherwise interact with this software +is up to the good Lord, who in Their wisdom makes all things possible. I really +recommend you take it up with Them whether you should incorporate this software +into your project or not. + +This software comes with no warranties from the copyright holder; I cannot speak +for God. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f6bfac4 --- /dev/null +++ b/README.md @@ -0,0 +1,51 @@ +# FFF -- the Flat Fuck Format +## finally a simple to use format + +The flat fuck format is an alternative to YAML/TOML/whatever the fuck is popular this week in "easy-to-understand" configuration languages. FFF is *actually* simple, OK? It looks like this: + +``` +# Flat fuck format example +# Comments are lines beginning with a `#' + +# Key-value pairs are easy +key: value +# You don't have to escape shit +another key: another value +# ... except the first `:', `@', and `\' (the ecape character) +Magic\: the Gathering: a great game + +# Need a dictionary? FFF has you covered: +Capitals:: +New York: Albany +Tennessee: Nashville +Louisiana: Baton Rouge + +# Lists, too (just leave off the keys): +Great games:: +: Magic: the Gathering +: Euchre +: Backgammon + +# Need /nested/ lists? FUCK OFF! +# hehe, just kidding. use references instead: + +Contrived example using references:: +one: @Capitals +two: @Great games +twitter: \@some_handle + +# The referenced fields above will be removed from the top-level. +# And uh.. that's it! +``` + +As you can see, there are only three ideas here: keys, values, and references, which refer to a given key, because sometimes nested things are needed. But the file is still flat as fuck! + +`(fff json)` includes a serializer from an FFF file to a JSON object. It does not serialize back! Why? Because FFF is SIMPLE, stupid! JSON is not! + +## Questions? Complaints? + +Send em to me: git@acdw.net. + +## License + +FFF, the idea, and this code that illustrates it are licensed under the GWL. See COPYING for details. -- cgit 1.4.1-21-gabe81