{"id":15568746,"url":"https://github.com/deciduously/deciduously-com-clj","last_synced_at":"2026-01-07T19:04:16.148Z","repository":{"id":97311888,"uuid":"116294994","full_name":"deciduously/deciduously-com-clj","owner":"deciduously","description":"deciduously.com source code","archived":false,"fork":false,"pushed_at":"2018-03-08T18:21:05.000Z","size":238,"stargazers_count":0,"open_issues_count":19,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-11-30T13:58:44.610Z","etag":null,"topics":["blog","boot","boot-clj","clojure","heroku","hiccup","jar","makefile","midje","optimus","pygments","ring","stasis","static-site","travis-ci"],"latest_commit_sha":null,"homepage":"http://deciduously.com","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/deciduously.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-04T18:43:41.000Z","updated_at":"2018-06-28T11:47:15.000Z","dependencies_parsed_at":"2023-04-10T08:33:50.819Z","dependency_job_id":null,"html_url":"https://github.com/deciduously/deciduously-com-clj","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/deciduously/deciduously-com-clj","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deciduously%2Fdeciduously-com-clj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deciduously%2Fdeciduously-com-clj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deciduously%2Fdeciduously-com-clj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deciduously%2Fdeciduously-com-clj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/deciduously","download_url":"https://codeload.github.com/deciduously/deciduously-com-clj/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/deciduously%2Fdeciduously-com-clj/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28236970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-07T02:00:05.975Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blog","boot","boot-clj","clojure","heroku","hiccup","jar","makefile","midje","optimus","pygments","ring","stasis","static-site","travis-ci"],"created_at":"2024-10-02T17:20:40.641Z","updated_at":"2026-01-07T19:04:16.119Z","avatar_url":"https://github.com/deciduously.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# deciduously.com\n[![GithubVersion](https://img.shields.io/badge/version-0.1.4-red.svg?style=flat-square\u0026color=brightgreen)](https://github.com/deciduously/deciduously-com/tree/v0.1.4)\n[![Build Status](https://travis-ci.org/deciduously/deciduously-com.svg?branch=release)](https://travis-ci.org/deciduously/deciduously-com)\n[![GitHub license](https://img.shields.io/github/license/deciduously/deciduously-com.svg?style=flat-square)](https://github.com/deciduously/deciduously-com/blob/release/LICENSE)\n### Contents\n1. [Run](#run)\n2. [Build](#build) - [requirements](#requirements)\n3. [Libraries](#libraries)\n4. [Acknowledgements](#acknowledgements)\n### Run\nTo download and run the [latest release](https://github.com/deciduously/deciduously-com/releases/tag/v0.1.4) make sure you have `java` available and execute the following:\n```shell\ncd ~\nwget https://github.com/deciduously/deciduously-com/releases/download/v0.1.4/deciduously-com-0.1.4-bundle.bin.tar.xz\ntar xvf deciduously-com-0.1.4.bin.tar.xz\ncd deciduously-com/ \u0026\u0026 java -jar target/server.jar\n```\n`server.jar` reads the following environment variables, given with their\ndefaults:\n```shell\nPORT=3000\nDIST=dist/\nBUILD=dev\n```\n### Build\n#### Requirements\n* [Oracle JDK](http://www.oracle.com/technetwork/java/javase/downloads/index.html) or [OpenJDK](http://openjdk.java.net/)\n* [bash](https://www.gnu.org/software/bash/)\n* [make](https://www.gnu.org/software/make/)\n* [curl](https://curl.haxx.se/)\n* [xz](https://tukaani.org/xz/)\n#### Bundle\n```shell\ngit clone https://github.com/deciduously/deciduously-com\ncd deciduously-com/ \u0026\u0026 make install\n```\nThis takes about four minutes to run, longer the first time as boot gathers\ndependencies - go put on a nice hot cup of your\nfavorite kind of tea.  The resulting\nfolder can then be used as described in \"Run\" at `dist/`. `make release` will produce a compressed archive at `release/deciduously-com-0.1.3-bundle.tar.xz`.  Run `make help` for a list of all available make targets.\n#### Hack\n`boot -h` for the full list of available tasks.  I define the following\nin\n[build.boot](https://github.com/deciduously/deciduously-com/blob/release/build.boot):\n* `boot build` to export the static site and build a production uberjar at target/server.jar.\n* `boot dev` to start a development server with hot reloading\n* `boot dist` to export the static site\n* `boot prod` to export and serve the static site\n\nInstead of `boot build` at first, I recommend using `make install` to invoke `boot build` and put together the runtime environment for you.  Fewer stacktraces are almost guaranteed.\n\nUse `make test` to run `make release` and then `boot midje`.  Check [Travis](https://travis-ci.org/deciduously/deciduously-com) for recent outputs.\n### Libraries\n* [**Clygments**](https://github.com/bfontaine.clygments) - Clojure wrapper for [Pygments](https://pygments.org)\n* [**Enlive**](https://github.com/cgrand/enlive) - HTML/XML extraction and transformation\n* [**Hiccup**](https://github.com/weavejester/hiccup) - Represent HTML in Clojure\n* [**markdown-clj**](https://github.com/yogthos/markdown-clj) - Markdown parser\n* [**Midje**](https://github.com/marick/midje) - Test framework\n* [**boot-midje**](https://bitbucket.org/zilti/boot-midje) - Boot plugin for midje\n* [**Ring**](https://github.com/ring-clojure/ring) - HTTP server abstraction\n* [**Optimus**](https://github.com/magnars/optimus) - Ring middleware for frontend performance optimization\n* [**Stasis**](https://github.com/magnars/stasis) - Static website toolset\n* [**boot-http**](https://github.com/pandeiro/boot-http) - Boot http server plugin\n### Acknowledgements\nMany thanks to [Christian Johansen's](https://github.com/cjohansen) [tutorial](https://cjohensen.no/building-statis-sites-in-clojure-with-stasis/).\n  I use boot instead of lein but otherwise followed this quite closely for the static site component.\n\n The makefile is adapted partially from [boot's](https://github.com/boot-clj/boot/blob/master/Makefile) very own - I'd never written one and read theirs, hacked some stuff together and destroyed it for a day and a half.  Feel free to point and laugh, sling vegetables, and/or open a pull request!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeciduously%2Fdeciduously-com-clj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeciduously%2Fdeciduously-com-clj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeciduously%2Fdeciduously-com-clj/lists"}