{"id":29097416,"url":"https://github.com/lambdaisland/gaiwan_co","last_synced_at":"2025-06-28T13:42:27.311Z","repository":{"id":38198066,"uuid":"192491290","full_name":"lambdaisland/gaiwan_co","owner":"lambdaisland","description":"Website for Gaiwan GmbH","archived":false,"fork":false,"pushed_at":"2024-02-22T08:17:31.000Z","size":6127,"stargazers_count":10,"open_issues_count":12,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-12T02:39:26.116Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://gaiwan.co","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lambdaisland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-06-18T07:44:05.000Z","updated_at":"2025-04-30T04:01:01.000Z","dependencies_parsed_at":"2024-04-17T14:25:20.654Z","dependency_job_id":"97d86ede-2f58-4bca-9245-0a8cb2e5f708","html_url":"https://github.com/lambdaisland/gaiwan_co","commit_stats":{"total_commits":185,"total_committers":5,"mean_commits":37.0,"dds":"0.21621621621621623","last_synced_commit":"0ea15f7e54a05605f5804db6b5cd9ab314220a9d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lambdaisland/gaiwan_co","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fgaiwan_co","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fgaiwan_co/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fgaiwan_co/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fgaiwan_co/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lambdaisland","download_url":"https://codeload.github.com/lambdaisland/gaiwan_co/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lambdaisland%2Fgaiwan_co/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260166658,"owners_count":22968687,"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","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":[],"created_at":"2025-06-28T13:42:17.839Z","updated_at":"2025-06-28T13:42:27.306Z","avatar_url":"https://github.com/lambdaisland.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gaiwan GmbH\n\nThis repository consists the code for our website https://gaiwan.co\n\nWe are a provider of technological expertise grown out of the consulting and development work of Arne Brasseur.\n\n## Tech stack\n\nWe love Clojure, and this site is built with it! \n\nWe're using simple, standard, clojure tools and libraries to build this. Nothing fancy :)\n\n##  Architechture\n\nAll the source files are located in `src/gaiwan` directory and static resources\nin the `resources` directory.\n\nThe site works as a dynamic server rendered site on localhost, then we use [reitit-jaatya](https://github.com/lambdaisland/reitit-jaatya) to create a frozen static build of this site.\n\nThe frozen site gets generated inside a `_site` directory. This directory is added to\ngitingore because we don't want to mix the build and source history. Therefore\nwe commit the `_site` directory to a `gh-pages` branch using a nifty feature of\ngit called as worktrees.\n\nBuilding and deploying happens automatically by pushing to `main`, thanks to GH Actions.\n\n## Local development\n\nEnsure you have Clojure CLI tools installed.\n\nUse `cider-jack-in-clj` to launch a clojure repl (or `clj`)\n\nand then run\n\n```clojure\nuser =\u003e (go)\n2022-05-02 18:03:35.951 INFO  lambdaisland.webstuff.bootstrap - {:integrant/starting {:profile :default, :key nil}, :line 58}\n2022-05-02 18:03:35.961 INFO  lambdaisland.webstuff.http - {:server/starting {:port 9000, :rebuild-on-request? true}, :line 265}\n:initiated\nuser =\u003e (browse)\ntrue\n```\n\nThis will start the server at http://localhost:9000\n\nEverything is dynamic and REPL'able. When you're satisfied you can build the site by running\n\n```clojure\nuser =\u003e (require '[co.gaiwan.site :as site])\nuser =\u003e (site/build)\n```\n\nor from the command line like so:\n\n```bash\nmake build\n```\n\nThis will run `npm run release` and generate a `_site` folder\n\nThe `resources` directory is copied to the final site as is.\n\n### Frontend setup\n\nMake sure you have latest npm deps installed using `npm install` and then open\nup another terminal window and run:\n\n```bash\n# cd to project directory\nnpm run dev\n```\n\nThis will start postcss watches and run a local server serving the `_site` directory on http://localhost:8001\n\n\n## Deployment\n\nThe site is automatically deployed via a Github Actions workflow. Simply push\nyour changes to `main`, and the result will end up on the `gh-pages` branch,\nwhich is what Github displays.\n\n\u003c!-- For first time deployment there is an extra step involved where you need to run the following commands: --\u003e\n\n\u003c!-- ```bash --\u003e\n\u003c!-- rm -rf _site --\u003e\n\u003c!-- git worktree add -B gh-pages public origin/gh-pages --\u003e\n\u003c!-- ``` --\u003e\n\n\u003c!-- Once you're satisfied with the changes, deploy the site live by running: --\u003e\n\n\u003c!-- ``` --\u003e\n\u003c!-- make deploy --\u003e\n\u003c!-- ``` --\u003e\n\n## Enhancements\n\nCurrently the setup is extremely simple and minimal. Everytime you make a change you need to rerun the build command. This is tiresome and we need to find a way to autobuild on file changes.\n\nA problem is that the css/js assets are not being hashed. This can lead to caching issues. We can use `sha1sum` utility present on linux systems to build on this.\n\n## License\n\nTODO\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdaisland%2Fgaiwan_co","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flambdaisland%2Fgaiwan_co","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flambdaisland%2Fgaiwan_co/lists"}