{"id":27103321,"url":"https://github.com/sasuw/qutem","last_synced_at":"2026-04-29T21:32:42.768Z","repository":{"id":185108334,"uuid":"293509804","full_name":"sasuw/qutem","owner":"sasuw","description":"Standalone cross-platform template engine for text replacements and file inclusions.","archived":false,"fork":false,"pushed_at":"2023-07-31T19:03:51.000Z","size":2299,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T16:54:23.762Z","etag":null,"topics":["cross-platform","inserting-files","linux","macos","placeholder","standalone-applications","template-engine","windows"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/sasuw.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2020-09-07T11:33:10.000Z","updated_at":"2023-11-27T10:45:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"8ea5edbf-5f02-42ca-9f97-1f2fa8e62ec5","html_url":"https://github.com/sasuw/qutem","commit_stats":null,"previous_names":["sasuw/qutem"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/sasuw/qutem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasuw%2Fqutem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasuw%2Fqutem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasuw%2Fqutem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasuw%2Fqutem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sasuw","download_url":"https://codeload.github.com/sasuw/qutem/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sasuw%2Fqutem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32445098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T20:22:27.477Z","status":"ssl_error","status_checked_at":"2026-04-29T20:22:26.507Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cross-platform","inserting-files","linux","macos","placeholder","standalone-applications","template-engine","windows"],"created_at":"2025-04-06T16:52:54.123Z","updated_at":"2026-04-29T21:32:42.764Z","avatar_url":"https://github.com/sasuw.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- ABOUT THE PROJECT --\u003e\n# About qutem\n\nqutem (**qu**ick **tem**plate engine) is a simple template engine for creating static, internationalized websites. It runs as a single executable program on your Linux, Mac or Windows.\n\n## Why?\n\nI could not find a simple template engine running in a terminal allowing me to replace placeholders with file contents, so I decided to create my own. A while later I wanted to create internationalized pages from a template file as well, so I added that functionality.\n\n# Getting started as user\n\n## Downloads\n\nYou can download the latest release from here: [https://github.com/sasuw/qutem/releases](https://github.com/sasuw/qutem/releases)\n\n## Installing\n\nUnpack the tar.gz or zip file and execute qutem from your terminal or command line window. For a more permanent installation, copy qutem e.g. to /usr/local/bin (Linux/MacOS) or to C:\\Windows\\system32 (Windows).\n\n## Usage and functionality\n\nThere are two things qutem can do:  \n 1. replace placeholders with file contents (i.e. inserting files into files)  \n 2. create multiple files from one content file and one template file, e.g. for different languages\n\n### 1. Inserting files into files\n\nIn the file, where you want content to be inserted, insert a snippet like this\n\n    {{!file.txt}}\n\nand the placeholder will be replaced with the content of the file. The file path is relative to the directory where qutem is executed. \n\nIf the placeholder is within an HTML or JavaScript comment without other text content, the comment part is removed when the placeholder is substituted. This enables you to put placeholders in your files without creating errors when using the files before running qutem. See example below for a demonstration.\n\n#### Example\n\nSuppose you have a file index.html with the following content\n\n    \u003c!DOCTYPE html\u003e\n    \u003chtml lang=\"en\"\u003e\n    \n    \u003chead\u003e\n        \u003c!-- Below is the title text placeholder, which qutem will replace --\u003e\n    \t\u003ctitle\u003e{{!title.txt}}\u003c/title\u003e\n    \u003c/head\u003e\n    \u003cbody\u003e\n    \t\u003c!-- Below is the body template placeholder, which qutem will replace --\u003e\n        \u003c!--{{!body.html}}--\u003e\n    \u003c/body\u003e\n    \u003c/html\u003e\n\nand the following two files with their respective contents\n\n\u003cu\u003etitle.txt:\u003c/u\u003e\n\n    Title of test page\n\n\u003cu\u003ebody.html:\u003c/u\u003e\n\n    \u003cp\u003eThis is the body\u003c/p\u003e\n\nYou want to insert the contents of these two files into index.html where the respective placeholders are.\n\nYou run\n\n    qutem index.html\n\nNow you have a new file dist/index.html with the following content\n\n    !DOCTYPE html\u003e\n    \u003chtml lang=\"en\"\u003e\n    \n    \u003chead\u003e\n        \u003c!-- Below is the title text placeholder, which qutem will replace --\u003e\n    \t\u003ctitle\u003eTitle of test page\u003c/title\u003e        \n    \u003c/head\u003e\n    \u003cbody\u003e\n    \t\u003c!-- Below is the body template placeholder, which qutem will replace --\u003e\n        \u003cp\u003eThis is the body\u003c/p\u003e\n    \u003c/body\u003e\n\n### 2. Create multiple files from one content file and one template file\n\nYou have a content file containing a placeholder like this\n\n    {{placeHolder}}\n\nand a template file with placeholder values like this\n\n    placeHolder.en=placeholder\n    placeholder.de=Platzhalter\n    placeholder.it=segnaposto\n\nRunning qutem results in three files in three directories \"en\", \"de\" and \"it\" containing the respective files with the string \"{{placeHolder}}\" replaced with \"placeholder\", \"Platzhalter\" and \"segnaposto\".\n\n# Getting started as developer\n\n## Prerequisites\n\nDart is installed. See [https://dart.dev/get-dart](https://dart.dev/get-dart)\n\n## Project structure\n\nStandard dart project structure created with [pub](https://dart.dev/tools/pub/cmd), see [https://dart.dev/tools/pub/package-layout](https://dart.dev/tools/pub/package-layout)\n\nThe main executable, qutem.dart is located in the bin directory. The internal libraries used by qutem are in the lib directory.\n\nThe tests are in the test directory and the test data is in the test/data directory.\n\n## Create executable\n\n    dart pub get\n    dart compile exe bin/qutem.dart -o bin/qutem\n\n## Running the code\n\nWhen you are in the project root directory, you can execute\n\n    dart bin/qutem.dart\n\nto run the program. For debugging, you can use e.g. [Visual Studio Code](https://code.visualstudio.com/).\n\n# Miscellaneous\n\n\u003c!-- CONTRIBUTING --\u003e\n## Contributing\n\nYou can contribute to this project in many ways:\n\n  * submitting an issue (bug or enhancement proposal) \n  * testing\n  * contributing code\n\nIf you want to contribute code, please open an issue or contact me beforehand to ensure that your work in line with the project goals.\n\nWhen you decide to commit some code:\n\n1. Fork the Project\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## Built With\n\n* [dart](https://dart.dev)\n\n\u003c!-- LICENSE --\u003e\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsasuw%2Fqutem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsasuw%2Fqutem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsasuw%2Fqutem/lists"}