{"id":14979250,"url":"https://github.com/piazzai/hacked-jekyll","last_synced_at":"2026-02-08T11:06:00.941Z","repository":{"id":88456980,"uuid":"606353380","full_name":"piazzai/hacked-jekyll","owner":"piazzai","description":"Jekyll microtheme that looks like JSON","archived":false,"fork":false,"pushed_at":"2024-06-29T13:38:27.000Z","size":769,"stargazers_count":177,"open_issues_count":0,"forks_count":85,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-06-01T18:07:46.851Z","etag":null,"topics":["css","cv","hack","hack-typeface","html","javascript","jekyll","jekyll-site","jekyll-template","jekyll-theme","jekyll-website","json","json-format","minimalistic-theme","normalize-css","one-page-website","open-color","personal-webpage","personal-website","typed-js"],"latest_commit_sha":null,"homepage":"https://piazzai.github.io/hacked-jekyll/","language":"CSS","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/piazzai.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":"2023-02-25T08:20:19.000Z","updated_at":"2025-05-25T03:25:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa44c80a-9ca2-41b9-b781-0cb7fa164c93","html_url":"https://github.com/piazzai/hacked-jekyll","commit_stats":{"total_commits":218,"total_committers":4,"mean_commits":54.5,"dds":"0.39449541284403666","last_synced_commit":"94c5bf6465a88ba5f53fdfbe4743a4647c6f1785"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/piazzai/hacked-jekyll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piazzai%2Fhacked-jekyll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piazzai%2Fhacked-jekyll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piazzai%2Fhacked-jekyll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piazzai%2Fhacked-jekyll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piazzai","download_url":"https://codeload.github.com/piazzai/hacked-jekyll/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piazzai%2Fhacked-jekyll/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267422050,"owners_count":24084665,"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":"2025-07-27T02:00:11.917Z","response_time":82,"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":["css","cv","hack","hack-typeface","html","javascript","jekyll","jekyll-site","jekyll-template","jekyll-theme","jekyll-website","json","json-format","minimalistic-theme","normalize-css","one-page-website","open-color","personal-webpage","personal-website","typed-js"],"created_at":"2024-09-24T13:59:41.077Z","updated_at":"2026-02-08T11:05:55.906Z","avatar_url":"https://github.com/piazzai.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hacked-jekyll\n\nHacked Jekyll is a responsive, minimalistic Jekyll theme for a tiny personal website. It consists of a homepage and a 404 page. The homepage lists information about the user in a format that resembles JSON, giving the website a \"hacked\" appearance. As in JSON, elements can be strings, arrays, or hashes. One of the string elements, typically the user's description, can use [typed.js](https://mattboldt.com/demos/typed-js/) to cycle through multiple lines of text.\n\nThe style is rebooted through [normalize.css](https://necolas.github.io/normalize.css/) and based on the [Open Color](https://yeun.github.io/open-color/) library. The monospaced typeface [Hack](https://sourcefoundry.org/hack/) is served together with the website. The favicons are generated by [favicon.io](https://favicon.io/).\n\nSee the [demo](https://piazzai.github.io/hacked-jekyll) to check the end result.\n\n![](https://github.com/piazzai/hacked-jekyll/blob/master/screenshot.png)\n\n## Installation\n\nThe theme can be installed as usual by cloning this repository and editing the files. However, it is far more convenient to install it as a gem, in which case all the files you do not want or need to customize remain hidden from view, but will still be read and processed during build.\n\nTo install the theme as a gem, you can then add this line to your `Gemfile`:\n\n```ruby\ngem \"hacked-jekyll\"\n```\n\nAnd this line to `_config.yml`:\n\n```yaml\ntheme: hacked-jekyll\n```\n\nThe easiest way to set up a new website in this way is to clone the contents of the `demo` folder. This provides a working set of files to get you started.\n\nAfter you are done creating the basic files, run bundler:\n\n    $ bundle\n\nOr install the gem yourself as:\n\n    $ gem install hacked-jekyll\n\nTo customize hidden files, you can create new files with the same names and paths. For example, to change the layout of the index page, you can create a `_layouts` folder and a file `index.html` within this folder that contains your custom code. During build, Jekyll will give priority to your files over the theme's.\n\n## Usage\n\nYou can input the content of your JSON object in `_data/json.yml`. This is a list of key-value pairs: for each of them you need to provide `key` and `value`, as in the example below.\n\n```yaml\n- key: Name\n  value: Place Holder\n```\n\nIn addition, you can provide a `url`, in which case the value is rendered as a hyperlink. Here is an example:\n\n```yaml\n- key: Source\n  value: piazzai/hacked-jekyll\n  url: https://github.com/piazzai/hacked-jekyll\n```\n\nIf `value` is a single line of text, the resulting JSON element will be a string. If `value` includes multiple lines of text, as in the code below, the resulting JSON element will be an array.\n\n```yaml\n- key: Address\n  value:\n    - University of Jekyll\n    - Department of Themes\n    - 123 Main St, Anytown, USA\n```\n\nAn array can also consist of hyperlinks. To achieve this, provide each line of `value` with its own `value` and `url`, like so:\n\n```yaml\n- key: Profiles\n  value:\n    - value: Instagram\n      url: https://www.instagram.com\n    - value: LinkedIn\n      url: https://www.linkedin.com\n```\n\nFinally, it is possible to render `value` as a hash, which is a list of key-value pairs. This will happen automatically if the elements of `value` have their own `key` and `value` (and possibly a `url`).\n\n```yaml\n- key: Contact\n  value:\n    - key: Office\n      value: Foobar Hall 1.23\n    - key: Phone\n      value: +1 234 567 890\n    - key: Email\n      value: username@domain.com\n      url: \"mailto:username@domain.com\"\n```\n\nYou can customize the appearance of the rendered JSON object using site variables. These have default values that can be overridden by specifying a new value in your `_config.yml` file.\n\n| Variable      |  Default  | Purpose                                              |\n| ------------- | :-------: | ---------------------------------------------------- |\n| `color_bg`    | `gray-9`  | Set the background color                             |\n| `color_punct` | `green-9` | Set the color of quotes, commas, and brackets        |\n| `color_key`   | `green-4` | Set the color of keys                                |\n| `color_value` | `green-4` | Set the color of values                              |\n| `color_hover` | `green-5` | Set the color of values on hover (if they are links) |\n| `quotes`      |  `true`   | Display quote marks around keys and/or values        |\n| `commas`      |  `true`   | Display commas between key-value pairs               |\n| `lowercase`   |  `true`   | Transform all keys and/or values to lowercase        |\n| `newtab`      |  `false`  | Open links in a new tab                              |\n\nThe `color_*` variables follow the Open Color library's naming convention ([read here](https://yeun.github.io/open-color/documents.html)). You can change them to any color in the library using the same convention. For example:\n\n```yaml\ncolor_bg: indigo-5\ncolor_punct: teal-6\ncolor_key: grape-7\ncolor_value: lime-8\ncolor_hover: cyan-9\n```\n\nThe variables `quotes` and `lowercase` are true by default and can be set to false, but they can also be set to `keys` or `values` in order to restrict their effect to either keys or values. For example, the following code will display quote marks only around values and transform only keys to lowercase:\n\n```yaml\nquotes: values\nlowercase: keys\n```\n\nIt is possible to customize the CSS by creating a file `_sass/_custom.scss`. You can use this to define new styles as well as overwrite the theme's defaults. The file will be automatically compiled during build.\n\n## Bugs\n\nIf you find any problem using the theme, please [open an issue](https://github.com/piazzai/hacked-jekyll/issues).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiazzai%2Fhacked-jekyll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiazzai%2Fhacked-jekyll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiazzai%2Fhacked-jekyll/lists"}