Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/customcommander/fahrenheit-lang
Domain-specific Language for Citation Styles
https://github.com/customcommander/fahrenheit-lang
academic-writing bibliography citation-style-language citation-styles domain-specific-language
Last synced: about 11 hours ago
JSON representation
Domain-specific Language for Citation Styles
- Host: GitHub
- URL: https://github.com/customcommander/fahrenheit-lang
- Owner: customcommander
- License: mit
- Created: 2020-01-12T18:08:28.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2021-07-10T12:50:38.000Z (over 3 years ago)
- Last Synced: 2023-08-04T13:45:48.887Z (over 1 year ago)
- Topics: academic-writing, bibliography, citation-style-language, citation-styles, domain-specific-language
- Language: Clojure
- Homepage: https://customcommander.gitbook.io/fahrenheit/
- Size: 61.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
⚠️ Until further notice `fahrenheit` remains an experiment in language design and is under active development. I would be extremely thankful for any feedback!
# fahrenheit-lang
`fahrenheit` is a domain-specific language for authoring citations and bibliographies styles. It compiles to [CSL][].
## Why?
[CSL][] has become the _de facto_ standard for codifying citations and bibliographies styles. It is widely adopted and has excellent documentation. I have no intention to change that.
However authoring citations and bibliographies styles in XML can be tedious and/or verbose. The `fahrenheit` language aims to offer an improved styles authoring experience whilst complying to the [CSL][] specification.
Here's a contrived example:
```clojure
{:about
{:id "http://www.zotero.org/styles/apa"
:title [:en "American Psychological Association 7th edition"]
:title-short "APA"}}
```The above code compiles to:
```xml
<info>
<id>http://www.zotero.org/styles/apa</id>
<title xml:lang="en">American Psychological Association 7th edition</title>
<title-short>APA</title-short>
</info>```
[CSL]: https://citationstyles.org/