https://github.com/capjamesg/codename-apple
A static site generator for my blog posts. Built in Common Lisp.
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (9.2%) to scientific vocabulary
Keywords
Repository
A static site generator for my blog posts. Built in Common Lisp.
Basic Info
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
README.md
Codename: Apple
Codename: Apple is a static site generator built in Common Lisp.
Codename: Apple lets you:
- Define HTML templates in Lisp.
- Generate templates for markdown documents based on their front matter.
Screenshot
Here is a static HTML page generated by Codename: Apple:

Using the Generator
To use Codename: Apple, first load the generator.lisp file into your script:
(load "generator.lisp")
You can now start defining and generating HTML documents in Lisp.
Defining a HTML element
To define a HTML element, you can use this syntax:
(tag tagname contents attributes)
Here's an example of a tag that defines a link:
(princ
(tag "a" "This is a link!"
(list
(attr "href" "example.com")
(attr "style" "border-bottom: none;"))))
The generator returns this code as a HTML element:
<a href='example.com' style='border-bottom: none;' >This is a link!</a>
To define more complicated documents, you can nest values:
(princ
(tag "div"
(tag "a" "This is a link!"
(list
(attr "href" "example.com")
(attr "style" "border-bottom: none;")))
(list (attr "class" "h-entry"))))
This nests our <a> tag from earlier in a <div> with the class name h-entry:
<div class='h-entry' ><a href='example.com' style='border-bottom: none;' >This is a link!</a></div>
TODOs
- [ ] Document how front matter parsing works.
- [ ] Add inline comments for all functions.
- [ ] Remove functions used for my specific website.
- [ ] Document example in
examples/folder.
Dependencies
This project relies on the following Common Lisp dependencies:
- cl-ppcre
- uiop
- markdown
License
This project is licensed under an MIT license.
Contributors
- capjamesg
Owner
- Name: James
- Login: capjamesg
- Kind: user
- Location: Scotland
- Company: @Roboflow
- Website: jamesg.blog
- Repositories: 320
- Profile: https://github.com/capjamesg
from words, wonder.
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0