{"id":18378612,"url":"https://github.com/vincenttam/teststaticmanlab","last_synced_at":"2025-08-01T02:05:15.050Z","repository":{"id":40298124,"uuid":"150846426","full_name":"VincentTam/TestStaticmanLab","owner":"VincentTam","description":"Minimal Jekyll site running Staticman v3 served by @staticmanlab.","archived":false,"fork":false,"pushed_at":"2022-09-17T15:53:44.000Z","size":141,"stargazers_count":11,"open_issues_count":62,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-15T22:43:00.925Z","etag":null,"topics":["jekyll-template","static-site-comment","staticman"],"latest_commit_sha":null,"homepage":"https://git.io/smdemo","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VincentTam.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}},"created_at":"2018-09-29T09:07:16.000Z","updated_at":"2023-07-25T14:20:14.000Z","dependencies_parsed_at":"2023-01-17T18:15:59.671Z","dependency_job_id":null,"html_url":"https://github.com/VincentTam/TestStaticmanLab","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VincentTam%2FTestStaticmanLab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VincentTam%2FTestStaticmanLab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VincentTam%2FTestStaticmanLab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VincentTam%2FTestStaticmanLab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VincentTam","download_url":"https://codeload.github.com/VincentTam/TestStaticmanLab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248361363,"owners_count":21090878,"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":["jekyll-template","static-site-comment","staticman"],"created_at":"2024-11-06T00:34:29.300Z","updated_at":"2025-04-11T08:29:20.799Z","avatar_url":"https://github.com/VincentTam.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Test Staticman Lab\n_Minimal_ GitHub static site powered by [Jekyll](https://jekyllrb.com),\nserved by @staticmanlab running on [Staticman](https://staticman.net).\n\n+ demonstrate how [Staticman v3](https://github.com/eduardoboucas/staticman/pull/219) works with Jekyll.\n+ facilitate other developers to change my repo.  (e.g. add CSS)\n\n## Minimal setup\nClone this repo.\n\n    git clone https://github.com/VincentTam/TestStaticmanLab.git \u003cyour-site-name\u003e\n    \nRemove existing comments under the folder `_data` and the public domain license in file `LICENSE`.\nThen modify the following fields in the Jekyll config file `_config.yml`.\n\n```yml\n# Site settings\ntitle: Your title\nsubtitle: Optional subtitle\nurl: \"https://\u003cusername\u003e.github.io/\u003crepo\u003e/\"\n\nstaticman:\n  api: \"https://staticman3.herokuapp.com/v3/entry/github/\u003cusername\u003e/\u003crepo\u003e/\u003cbranchname\u003e/\u003cpropertyname\u003e\"\n  path: \"_data/comments/test-slug\"\n```\nI hardcoded `test-slug` in `_config.yml`, `index.html` and `_includes/comments.html`.  The property name defaults to `comments`.\n\nBy default, comments are sent to the GitHub repo as pull requests because of the `moderation` parameter in `staticman.yml`.\n\n```yml\n  moderation: true\n```\n\nChanging it to `false` will enable automatic merge.\n\nFinally, make your Git repo available on GitHub and invite **@staticmanlab** as a collaborator.\nEnter the URL\n\n    https://staticman3.herokuapp.com/v3/connect/github/\u003cusername\u003e/\u003crepo\u003e\n    \nso that **@staticmanlab** can accept your invitation and start delivering comments to your site.\n\n## Minimal site infrastructure\nThe source code for this Jekyll site is made up of six pieces.\nThe infrastructure follows [Popcorn](http://popcorn.staticman.net/), Staticman's official demo.\n\n1. Homepage: `index.html`\n  - contain the HTML form (copied from [Staticman's guide](https://staticman.net/docs/))\n  which sends a POST request to the `api` specified in `_config.yml`.\n  - outsource HTML code for comment display to `_includes/comments.html`\n  so as to allow reader's to focus on the HTML form, which is the _main_ focus of this project\n  - outsource wrapping HTML code to `_layouts/default.html`\n2. Generated comments: `_data/\u003cpropertyname\u003e/\u003cslug\u003e/entry-\u003ctimestamp\u003e.yml`\n  - store static site comments as Jekyll site data\n  - file/path creation is handled by Staticman's API\n3. Comment renderer: `_includes/comments.html`\n  - Retrieve Jekyll site data\n  - Wrap each field with suitable HTML tag and class(es)\n4. Staticman config file: `staticman.yml`\n  - root-level file, keep the file name\n  - contain configurations for comment _delivery_ to the GitHub repo\n  - only responsible for logical side\n    + e.g. generate the MD5 hash of commentator's email\n    + _not_ responsible for comment display/site layout\n5. Jekyll config file: `_config.yml`\n  - Present in _every_ static site generator under a similar name and format\n  - Store site config parameters so as to facilitate site setup by avoiding hardcoding.  Some important parameters include\n    + `title`: site name\n    + `staticman.api`: hook up the HTML form with Staticman's API server's \"/entry\" endpoint\n6. Page layout: `_layouts/default.html`\n  - contain necessary HTML code that wraps the form\n  - display the site title and the optional subtitle supplied in `_config.yml`\n  - add license\n  - link to [W3C's HTML validator](https://validator.w3.org/) for _HTML validation in two clicks_.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvincenttam%2Fteststaticmanlab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvincenttam%2Fteststaticmanlab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvincenttam%2Fteststaticmanlab/lists"}