Skip to content

brettatoms/clojure.land

Repository files navigation

Clojure Land

Discover open-source Clojure libraries and frameworks.

Projects

The project data lives in resources/clojure.land/projects.edn. Each item in the list includes a project with the following keys:

  • :name: The display name of that project. Required.
  • :key: A keyword that uniquely identifies the project. Must be unique. Required.
  • :url: The URL of the project home page. If the URL is a GitHub URL then the project description and number of stars will be synced weekly.
  • :repo-url: The URL of the project source repository. Overrides the :url for fetching the project data.
  • :platforms: A set of platform name strings. Current support "clj", "cljs" and "babashka".
  • :tags: A set of tags strings for the project. Only the first four tags will be used.
  • :description: The project description. This will override the project description from GitHub.
  • :ignore: If set to true then the project will not be displayed or synced.

To add a new project open a PR to edit resources/clojure.land/projects.edn

Additional project metadata is synced weekly for repositories with a GitHub repo url.

Local Development

Using Devenv

  1. Install Nix. I recommend DeterminateSystems/nix-installer
  2. nix profile install nixpkgs#devenv
  3. ln -s .envrc.devenv .envrc

Environment variables

  • GITHUB_API_TOKEN: Needed to update update the local project data with the repo data.
  • USE_LOCAL_PROJECTS: Set to true if you don't want to use or don't have access to the remote projects.edn when running locally

The following environemnt variables are required to pushed the update project data to an S3 compatible API.

  • AWS_ACCESS_KEY_ID
  • AWS_ENDPOINT_URL_S3
  • AWS_REGION
  • AWS_SECRET_ACCESS_KEY
  • BUCKET_NAME

Start the server locally

user> (go)

Acknowledgements