about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCase Duckworth2023-06-12 23:09:07 -0500
committerCase Duckworth2023-06-12 23:09:07 -0500
commit8f5bd0e42b2f5d32cb6dcc71d4fcbe94e6d9be85 (patch)
treeb45ee958cd1176f161a2e43792a747d99bdd58bb
parentAdd (fff json) (diff)
downloadfff-main.tar.gz
fff-main.zip
Add README and COPYING HEAD main
-rw-r--r--COPYING11
-rw-r--r--README.md51
2 files changed, 62 insertions, 0 deletions
diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..26caa42 --- /dev/null +++ b/COPYING
@@ -0,0 +1,11 @@
1Copyright (C) Case Duckworth under the terms of the
2
3 = = = = = = = = = = = = = GOD WILLING LICENSE v1.0 = = = = = = = = = = = = = =
4
5Permission to use, distribute, modify, or otherwise interact with this software
6is up to the good Lord, who in Their wisdom makes all things possible. I really
7recommend you take it up with Them whether you should incorporate this software
8into your project or not.
9
10This software comes with no warranties from the copyright holder; I cannot speak
11for 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 @@
1# FFF -- the Flat Fuck Format
2## finally a simple to use format
3
4The 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:
5
6```
7# Flat fuck format example
8# Comments are lines beginning with a `#'
9
10# Key-value pairs are easy
11key: value
12# You don't have to escape shit
13another key: another value
14# ... except the first `:', `@', and `\' (the ecape character)
15Magic\: the Gathering: a great game
16
17# Need a dictionary? FFF has you covered:
18Capitals::
19New York: Albany
20Tennessee: Nashville
21Louisiana: Baton Rouge
22
23# Lists, too (just leave off the keys):
24Great games::
25: Magic: the Gathering
26: Euchre
27: Backgammon
28
29# Need /nested/ lists? FUCK OFF!
30# hehe, just kidding. use references instead:
31
32Contrived example using references::
33one: @Capitals
34two: @Great games
35twitter: \@some_handle
36
37# The referenced fields above will be removed from the top-level.
38# And uh.. that's it!
39```
40
41As 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!
42
43`(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!
44
45## Questions? Complaints?
46
47Send em to me: git@acdw.net.
48
49## License
50
51FFF, the idea, and this code that illustrates it are licensed under the GWL. See COPYING for details.