{"id":13411334,"url":"https://github.com/yet-another-static-site-generator/yass","last_synced_at":"2025-03-14T17:30:42.165Z","repository":{"id":215182617,"uuid":"165534138","full_name":"yet-another-static-site-generator/yass","owner":"yet-another-static-site-generator","description":"Yet Another Static Site (Generator)","archived":false,"fork":false,"pushed_at":"2024-08-26T22:22:17.000Z","size":575,"stargazers_count":23,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-08-28T00:34:23.388Z","etag":null,"topics":["ada","markdown","static-site-generator","yass"],"latest_commit_sha":null,"homepage":"","language":"Ada","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yet-another-static-site-generator.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"COPYING","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},"funding":{"patreon":"ajdude","liberapay":"thindil"}},"created_at":"2019-01-13T17:32:06.000Z","updated_at":"2024-08-26T22:22:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"6d68cc38-5e32-473e-a95a-686060f99b54","html_url":"https://github.com/yet-another-static-site-generator/yass","commit_stats":null,"previous_names":["yet-another-static-site-generator/yass"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yet-another-static-site-generator%2Fyass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yet-another-static-site-generator%2Fyass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yet-another-static-site-generator%2Fyass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yet-another-static-site-generator%2Fyass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yet-another-static-site-generator","download_url":"https://codeload.github.com/yet-another-static-site-generator/yass/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243618598,"owners_count":20320264,"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":["ada","markdown","static-site-generator","yass"],"created_at":"2024-07-30T20:01:12.982Z","updated_at":"2025-03-14T17:30:41.876Z","avatar_url":"https://github.com/yet-another-static-site-generator.png","language":"Ada","funding_links":["https://patreon.com/ajdude","https://liberapay.com/thindil"],"categories":["Applications"],"sub_categories":["Web"],"readme":"YASS: Yet Another Static Site (Generator)\n\nAs name says, it is static site generator written in Ada. It is *headless*\napplication (no user interface). The program documentation is included in\ndistribution.\n\n## Features\n\n* Support almost infinite amount of custom tags in HTML templates (depends\n  on available RAM)\n* Separated tags for whole site and each page\n* Fast\n* Can be extended with modules written in any script/programming language\n* Generating sitemaps\n* Generating Atom feeds\n* Auto reconfigure server when configuration file was changed\n\n## Downloading YASS\n\nThe easiest way to get YASS is by downloading the [latest release](https://github.com/yet-another-static-site-generator/yass/releases/latest) for your operating system.  For example, if you have windows, then download ` yass-windows_x86_64.zip`.\n\n## Build from sources\n\n### Using alire\n\nThe easiest way to build YASS is via [Alire](https://alire.ada.dev/).  If don't\n have alire already, you can get it from the main website or auto-install it via\n [Getada.dev](https://www.getada.dev/).\n\nTo build and install it, simply run `alr install yass` and yass will automatically be \nadded to alire's binary folder (default is `$HOME/.alire/bin`).\n\nIf you'd rather just download and build manually, navigate to a folder where you\n wish to build YASS and issue the following commands:\n 1. `alr get yass`\n 2. `cd yass*`\n 3. `alr update \u0026\u0026 alr build`\n YASS will now be in the project's `./bin` directory.\n\nThis should automatically pull all of the dependencies in, ie AWS and libcmark.\n\n### Using gprbuild\n\nTo build you need:\n\n* compiler: GCC with enabled Ada support or GNAT from:\n\n  https://www.adacore.com/download/\n\n* gprbuild: it is included in GNAT from AdaCore and should be available in most\n  Linux distributions too.\n\n* libcmark: should be available in every Linux distribution, if not, you\n  can download source code from:\n\n  https://github.com/commonmark/cmark\n\n* Ada Web Server (AWS): if you use GNAT from AdaCore it is included in\n  package. In other situations, you may need to download it from:\n\n  https://www.adacore.com/download/more\n\n  or\n\n  https://github.com/AdaCore/aws\n\n* XmlAda: if you use GNAT from AdaCore it is included in package. In other\n  situation, you may need to download it from:\n\n  https://www.adacore.com/download/more\n\n  or\n\n  https://github.com/AdaCore/xmlada\n\nNavigate to the main directory(where this file is) to compile:\n\n* The easiest way to compile program is use Gnat Studio included in\n  GNAT. Just run GPS, select *yass.gpr* as a project file and select option\n  `Build All`.\n\n* If you prefer using console: in main source code directory type `gprbuild`\n  for debug mode build or for release mode: `gprbuild -XMode=release`. If you\n  have installed [Bob](https://github.com/thindil/bob) you can type `bob debug`\n  for build in debug mode or `bob release` to prepare release for the program.\n\nIf you want to be able to print content of README.md file to terminal (by\n`readme` program command), copy file *README.md* to `bin` directory.\n\n**Note:** If you want to move the program around, compile it in release mode. In\ndebug mode the program may have problems with finding all dependencies.\n\n### Build unit tests\n\n**Note:** Unit tests are currently being migrated to aunit and alire so this may\nnot work as expected.\n\nNavigate to `tests/driver` directory from the main directory (where this\nfile is):\n\n* From console: type `gprbuild -P test_driver.gpr`\n\nOr if you have [Bob](https://github.com/thindil/bob) installed, type\n`bob tests`.\n\n## Running the program\n\n### Linux\n\nTo see all available options, type in console `./yass help` in directory where\nbinary file is. It works that same way for downloaded AppImage version of\nprogram. More information about using AppImage files you can find here:\n\nhttps://docs.appimage.org/user-guide/run-appimages.html\n\nIf you want to run the program from other directory, you should set the\nenvironment variable `YASSDIR` to your current directory. Example:\n`export YASSDIR=$(pwd)`. You don't need to set it manually when you use\nAppImage version of the program.\n\n### Windows\n\nTo see all available options, type in console `yass.exe help` in the directory\nwhere binary file is. If you want to run the program from other directory, you\nshould set the environment variable `YASSDIR` to your current directory.\nExample: `set YASSDIR=\"C:\\yass\"`\n\n### Running unit tests\n\nFrom the main directory (where this file is) go to `test/driver` directory\nand type in console `./test_runner`. If you have [Bob](https://github.com/thindil/bob)\ninstalled, you can type `bob runtests`.\n\n### Testing versions\n\nHere are available testing versions of the program. You can find them\nin [GitHub Actions](https://github.com/yet-another-static-site-generator/yass/actions/workflows/ada.yml).\nJust select option from the list of results to see Artifacts list.\nTo use them, first you must download normal release. Then, for Linux: inside\ndirectory where the program is, type `./yass-x86_64.AppImage --appimage-extract`\nto extract whole program to directory *squashfs-root*. And then move files\nfrom the archive to the proper location. To run that version, enter\n*squashfs-root* directory and type in console `./AppRun`. For Windows:\nunzip files (replace existing) to the proper location where the program is installed.\n\n* yass-development-windows.tar contains Windows 64-bit version of the program.\n\n* yass-development-linux.tar contains Linux 64-bit version of the program.\n\nSize is a file's size after unpacking. You will download it compressed with\nZip.\n\n## Generating code documentation\n\nTo generate (or regenerate) code documentation, you need [ROBODoc](https://rfsber.home.xs4all.nl/Robo/)\nand [Tcl](https://tcl.tk) scripting language. If you have them, in main program\ndirectory (where this file is) enter terminal command: `others/generatedocs.tcl`.\nFor more information about this script, please look [here](https://github.com/thindil/roboada#generatedocspy).\nThis version of script have set all default settings for the YASS code. If you\nhave [Bob](https://github.com/thindil/bob) installed, you can type\n`bob docs`.\n\n## Contributing to the project\nFor detailed information about contributing to the project (bugs reporting,\nideas propositions, code conduct, etc), see [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## Licenses\n\n* Yass is released under GNU GPL v3 license.\n\n* Libcmark library distributed with the program is released under\n[a few Open Sources licenses](https://github.com/commonmark/cmark/blob/master/COPYING)\n\nhttps://github.com/commonmark/cmark\n\n## TODO (someday or if someone wants to contribute)\n\n* More unit tests\n* Formally verify the project with SPARK\n* Your propositions?\n\n----\n\nAs usual, I probably forgot about something important here :)\n\nBartek thindil Jasicki \u0026 A.J. Ianozi\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyet-another-static-site-generator%2Fyass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyet-another-static-site-generator%2Fyass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyet-another-static-site-generator%2Fyass/lists"}