{"id":15178969,"url":"https://github.com/tclssg/tclssg","last_synced_at":"2025-04-07T06:11:53.202Z","repository":{"id":90928184,"uuid":"21132149","full_name":"tclssg/tclssg","owner":"tclssg","description":"A static site generator","archived":false,"fork":false,"pushed_at":"2025-02-10T15:48:16.000Z","size":2095,"stargazers_count":78,"open_issues_count":2,"forks_count":13,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-31T05:05:25.292Z","etag":null,"topics":["bootstrap3","json-feed","static-site-generator","tcl","twtxt"],"latest_commit_sha":null,"homepage":"https://github.com/tclssg/tclssg/wiki","language":"Tcl","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/tclssg.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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-06-23T15:48:48.000Z","updated_at":"2025-02-10T15:48:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"a4cb8bf3-9788-43f4-b6a0-ed912898e3b1","html_url":"https://github.com/tclssg/tclssg","commit_stats":{"total_commits":540,"total_committers":6,"mean_commits":90.0,"dds":0.4648148148148148,"last_synced_commit":"fdb733eb21b4d30e356d91f873bc7ad4e7c5efdc"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclssg%2Ftclssg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclssg%2Ftclssg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclssg%2Ftclssg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tclssg%2Ftclssg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tclssg","download_url":"https://codeload.github.com/tclssg/tclssg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247601448,"owners_count":20964864,"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":["bootstrap3","json-feed","static-site-generator","tcl","twtxt"],"created_at":"2024-09-27T15:42:56.389Z","updated_at":"2025-04-07T06:11:53.183Z","avatar_url":"https://github.com/tclssg.png","language":"Tcl","funding_links":[],"categories":[],"sub_categories":[],"readme":"![A stylized feather and the text \"Tclssg\".](logo/tclssg-logo-text-small.png)\n\nTclssg is a full-featured extensible static site generator designed for Tcl programmers.\nIt aims to make it easy to manage a static website with an optional blog.\nTclssg website projects with a few hundred pages usually build in under a minute on modest hardware.\n\nFeatures\n--------\n\n- [Markdown](#markup)\n- [Bootstrap 3](http://getbootstrap.com/docs/3.4/) (with Bootstrap theme support)\n- Tcl code embedded in HTML for [templates](https://github.com/tclssg/tclssg/wiki/Templating)\n- Regular pages and blog posts[^1]\n- Footnotes\n- Feeds with new blog posts: RSS, [JSON Feed](https://jsonfeed.org/version/1.1), and [twtxt](https://twtxt.readthedocs.io/en/latest/user/twtxtfile.html#format-specification)\n- SEO and usability features out of the box: site maps, canonical and previous/next links, `noindex` on collection pages\n- Valid HTML5 and CSS level 3 output\n- Legacy deployment over FTP\n- Deployment over SCP and in other ways with a [custom deployment command](https://github.com/tclssg/tclssg/wiki/Using-deployCustom)\n- Support for external comment engines (currently: Disqus)\n- Relative links in the HTML output that make it browsable over *file://*\n- [Pretty fast](https://github.com/tclssg/tclssg/wiki/Benchmarks)\n- Few dependencies.\n  Experimental self-contained [binaries](https://github.com/tclssg/tclssg/wiki/Binaries) are available for Linux, Mac, and Windows.\n\n[^1]: Unlike a regular page, a blog post has a sidebar with tags and links to other blog posts sorted by recency.\n      The latest posts are featured in the blog index, and tag pages are generated to collect blog posts with the same tag.\n\nPage screenshot\n---------------\n![A test page built with Tclssg.](screenshot.png)\n\nGetting started\n---------------\n\nTclssg is known to work on Linux, FreeBSD, NetBSD, OpenBSD, macOS, and Windows 7/8.x/10/11.\n\nTo use Tclssg, you will need Tcl 8.6 or 9, Tcllib 1.21 or later, and SQLite 3 bindings for Tcl.\nTclssg can optionally use [cmark](https://github.com/commonmark/cmark) and [tidy-html5](https://www.html-tidy.org).\n\nTo install the dependencies on **Debian** or **Ubuntu**, run the following command:\n\n    sudo apt install libsqlite3-tcl tcl tcllib\n\nOn **Fedora**:\n\n    sudo dnf install sqlite-tcl tcl tcllib\n\nOn **Windows 7 and later**, the recommended way to run Tclssg is to install [Magicsplat Tcl/Tk for Windows](https://www.magicsplat.com/tcl-installer/).\nThe copy of Tcl that comes with [Git for Windows](https://gitforwindows.org/) does not include Tcllib or the SQLite 3 extension, so it will not run Tclssg out of the box.\n\nOn **macOS**, use [Homebrew](https://brew.sh/) or [MacPorts](https://www.macports.org/).\n\nHomebrew:\n\n    brew install tcl-tk\n\nMacPorts:\n\n    sudo port install tcllib tcl-sqlite3\n\nOnce you have the dependencies installed, clone this repository, `cd` into it, then run\n\n    ./ssg.tcl init\n    ./ssg.tcl build --local\n    ./ssg.tcl serve --browse\n\nor on Windows\n\n    ssg.cmd init\n    ssg.cmd build --local\n    ssg.cmd serve --browse\n\nThis will create a new website project in the directory `website/` based on the default project skeleton, build the website in `website/output/`, and open the result in your web browser.\n\nMarkup\n------\n\nTclssg uses [Markdown](http://daringfireball.net/projects/markdown/syntax).\nIn blog posts `\u003c!-- more --\u003e` designates a break between the teaser (the part of the article shown in the blog index and on tag pages) and the rest of the content.\nUse page settings to customize the page's output.\n\nExample:\n\n```markdown\n{\n    title {Test page}\n    blogPost 1\n    tags {test {a long tag with spaces}}\n    date 2014-01-02\n    show {\n        date false\n    }\n}\n**Lorem ipsum** reprehenderit _ullamco deserunt sit eiusmod_ ut minim in id\nvoluptate proident enim eu aliqua sit.\n\n\u003c!-- more --\u003e\n\nMollit ex cillum pariatur anim [exemplum](http://example.com) tempor\nexercitation sed eu Excepteur dolore deserunt cupidatat aliquip irure in\nfugiat eu laborum est.\n```\n\nUser's guide\n------------\n\nFor more information on how to use Tclssg, read the **User's guide** on the [project wiki](https://github.com/tclssg/tclssg/wiki).\n\nAnswers to frequently asked questions can be found in the [FAQ](https://github.com/tclssg/tclssg/wiki/FAQ).\n\nLicense\n-------\n\nMIT. See the file [`LICENSE`](LICENSE) for details.\n\nThe Tclssg logo images are copyright (c) 2014 D. Bohdan and are distributed under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/).\n\n[`skeleton/static/images/placeholder.jpg`](skeleton/static/images/placeholder.jpg) is cropped from a [photo](https://unsplash.com/photos/AsNfzwdcz2I) by Daniel Olah distributed under the [Unsplash license](https://unsplash.com/license).\n\nThe [stackato-cli](https://github.com/ActiveState/stackato-cli) browse package is copyright (c) 2011-2012 ActiveState Software Inc.\nIt is distributed under the Apache License, Version 2.0.\nSee [`vendor/browse/license.txt`](vendor/browse/license.txt).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftclssg%2Ftclssg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftclssg%2Ftclssg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftclssg%2Ftclssg/lists"}