{"id":16818308,"url":"https://github.com/igr/nanoc4","last_synced_at":"2025-07-24T12:38:48.687Z","repository":{"id":36292587,"uuid":"40597119","full_name":"igr/nanoc4","owner":"igr","description":"Nanoc4 project template","archived":false,"fork":false,"pushed_at":"2017-02-25T13:27:59.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-23T23:29:13.403Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/igr.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":"2015-08-12T11:30:20.000Z","updated_at":"2017-01-02T18:07:43.000Z","dependencies_parsed_at":"2022-09-04T12:40:54.963Z","dependency_job_id":null,"html_url":"https://github.com/igr/nanoc4","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/igr%2Fnanoc4","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igr%2Fnanoc4/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igr%2Fnanoc4/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/igr%2Fnanoc4/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/igr","download_url":"https://codeload.github.com/igr/nanoc4/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244043237,"owners_count":20388552,"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":"2024-10-13T10:49:42.660Z","updated_at":"2025-03-17T13:40:17.929Z","avatar_url":"https://github.com/igr.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nanoc4\n\n[Nanoc 4](https://nanoc.ws/) static website template, packed with features.\n\n## Features\n\n### Static folder\n\nStatic folder: `/static` with content that will be blindly copied to the root.\n\n### SASS \u0026 CSS\n\nSASS compiler is enabled on `*.scss`. CSS files are simply copied as they are.\n\nResulting CSS files are minified.\n\nTODO: Ignore partial SASS files (starting with `_`).\n\n### Kramdown\n\nWe use [kramdown](https://kramdown.gettalong.org/) markdown compiler, as it is\nvery cool!\n\n### MD links\n\nLinks in MD files can be Markdown links (`*.md`), i.e. can reference other MD file.\nOn output generation, these links will be changed to `*.html`.\n\nThis way your MD files on e.g. github will be linked; but also the generated site\nwill be linked as well.\n\nMD files are ruby-preprocessed, too!\n\n### HTML\n\nGenerated HTML files are compressed.\n\nThere is ruby function `h()` that prints HTML safe output.\n\n### Collections\n\nCollection is an ordered set of items of the same `kind`. For example, it may\nbe collection of short stories.\n\nCollections are built for every root folder (i.e. only level-1 folders)\nwhich items (i.e. MD files) has frontmatter attribute `date` defined.\n\nCollection name is set by the name of the `kind`, if exist. If missing,\ncollection name is equal to root folder name.\n\nSince they are ordered, each collection item has prev/next link with\nids of previous and next items.\n\n### Tags\n\nTags are defined in `tags` attribute that is an array of strings.\n\nEach tag has it's own tags page under `/tags/` folder.\n\n### Blog extension\n\nDefault nanoc Blog extension is enabled. Blogs are stored in the `/blogs/`\nfolder. Each blog entry is in one subfolder and it's `kind` will be automatically\nset to `article`. Root page contains the list of all blogs.\n\nBlogs are ordered by date/time, similar to collections.\n\n### Folder metadata\n\nEach folder may contain additional meta-data stored in `*.yaml` files.\nEach metadata is automatically binded into all the items in the same folder.\nYou get the parsed metadata as: `@item[yaml_name]`.\n\nThis can be used, for example, to define a submenu.\n\n### JSON Database\n\nJust put JSON files anywere. Each JSON file will be loaded in global variable\n`$jsondata` under the key that is equal to json file name (w/o extension), for\nexample: `\u003c%= $jsondata['j1'] %\u003e`.\n\nBe sure not to have the same json file name in different folders.\n\n### Sitemap\n\nThere is sitemap generator as well.\n\n### htaccess\n\nIt is defined in `htaccess.txt`. It generates `.htaccess`.\n\n### Lorem\n\nLorem library is availiable for creating dummy content.\n\n\n## Frontmatter\n\n### `kind`\n\nDefines name of the collection. If not specified, kind will is equal to first directory name.\nRoot items does not have implicit kind. Kind can be specified in `Rules`, too.\n\n### `date` and `created_at`\n\nDefines article timestamp. If not specified, files timestamp will be used.\nBoth metadata are identical.\n\n### `updated_at`\n\nOptional timestamp of last update.\n\n## Development\n\n### Gems\n\n\tbundle install\n\tbundle update\n\n### Compile\n\n    bundle exec nanoc compile\n\n### Guard\n\n\tbundle exec guard\n\n### View\n\n    bundle exec nanoc view\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figr%2Fnanoc4","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Figr%2Fnanoc4","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Figr%2Fnanoc4/lists"}