{"id":20120842,"url":"https://github.com/nthnn/ankoweb","last_synced_at":"2025-03-02T20:18:41.303Z","repository":{"id":206027408,"uuid":"714365948","full_name":"nthnn/AnkoWeb","owner":"nthnn","description":"Versatile scripting language and middleware designed for web development, running on the Anko virtual machine.","archived":false,"fork":false,"pushed_at":"2023-11-07T15:02:11.000Z","size":47,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T07:21:24.274Z","etag":null,"topics":["golang-application","middleware","programming-language","scripting-engine","scripting-interface","scripting-language","virtual-machine","web-application","web-developments","webdevelopment"],"latest_commit_sha":null,"homepage":"","language":"Go","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/nthnn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"nthnn","custom":"https://www.buymeacoffee.com/nthnn"}},"created_at":"2023-11-04T17:36:31.000Z","updated_at":"2023-11-14T15:28:50.000Z","dependencies_parsed_at":"2023-11-07T16:26:38.364Z","dependency_job_id":"84bef7e0-4280-4ee0-b623-77b529f53790","html_url":"https://github.com/nthnn/AnkoWeb","commit_stats":null,"previous_names":["nthnn/ankoweb"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2FAnkoWeb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2FAnkoWeb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2FAnkoWeb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nthnn%2FAnkoWeb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nthnn","download_url":"https://codeload.github.com/nthnn/AnkoWeb/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241564587,"owners_count":19982976,"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":["golang-application","middleware","programming-language","scripting-engine","scripting-interface","scripting-language","virtual-machine","web-application","web-developments","webdevelopment"],"created_at":"2024-11-13T19:23:27.955Z","updated_at":"2025-03-02T20:18:41.277Z","avatar_url":"https://github.com/nthnn.png","language":"Go","readme":"# AnkoWeb: Anko Hypertext Processor\n\n![AnkoWeb Build](https://github.com/nthnn/AnkoWeb/actions/workflows/build.yml/badge.svg)\n[![License](https://img.shields.io/badge/license-GPL-blue.svg)](https://github.com/nthnn/AnkoWeb/blob/main/LICENSE)\n\u003ca href=\"https://www.buymeacoffee.com/nthnn\"\u003e\u003cimg src=\"https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\" height=\"20px\"\u003e\u003c/a\u003e\n\nAnkoWeb is built on top of the Anko virtual machine, which provides a robust execution environment for running AnkoWeb scripts. With AnkoWeb, you can create web applications that are both flexible and performant, thanks to its lightweight, yet powerful scripting capabilities. Originally, Anko is a scriptable interpreter written in Golang and was created by [@mattn](https://github.com/mattn).\n\n## Basic Example\n\nAnkoWeb allows you to embed server-side code directly within your HTML pages, making it a powerful tool for building dynamic web applications.\n\n```aspnet\n\u003c!-- index.awp --\u003e\n\u003c%\n    func say(message) {\n        echo(\"\u003ch1 align=\\\"center\\\"\u003e\" + message + \"\u003c/h1\u003e\");\n    }\n%\u003e\n\u003c!DOCTYPE html\u003e\n\u003chead\u003e\n    \u003cstyle\u003e\n        h1 {\n            margin-top: 24%;\n            font-family: Tahoma;\n        }\n    \u003c/style\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n    \u003c% say(\"Hello, from AnkoWeb!\"); %\u003e\n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n## Running and Building\n\nAnkoWeb provides several command-line arguments that allow you to customize the behavior of the AnkoWeb server when launching your web applications. These arguments help you control settings such as the host, working directory, and port.\n\n### Options\n\nHere are the available command-line options for AnkoWeb:\n\n1. `-host \u003cstring\u003e`\n    - **Description**: Specifies the name of the localhost server.\n    - **Default Value**: Null string.\n    - **Usage**: You can set this option to customize the server's hostname when running your AnkoWeb application. For example, you can use `-host localhost` to set the hostname to \"localhost.\"\n\n2. `-path \u003cstring\u003e`\n    - **Description**: Defines the working directory for the server.\n    - **Default Value**: The current directory where you run the `ankoweb` or `run.sh` command.\n    - **Usage**: This option allows you to specify a different working directory for your AnkoWeb application. You can provide a path to a directory where your application's files are located. For example, you can use `-path /path/to/your/app` to set the working directory to \"/path/to/your/app.\"\n\n3. `-port \u003cint\u003e`\n    - **Description**: Sets the port of the localhost server.\n    - **Default Value**: 1234\n    - **Usage**: You can use this option to define the port on which your AnkoWeb application will run. If you want to use a specific port, you can provide it as an argument. For example, you can use `-port 8080` to run your application on port 8080.\n\nNote that the `run.sh` Bash script in the repository can also be used for running the source code on-the-go.\n\n### Building\n\nTo build the AnkoWeb on your system, just type the following on your terminal:\n\n```bash\n./build.sh\n```\n\nThis will generate executable AnkoWeb program if nothing went wrong inside the `bin` folder.\n\n## Documentations\n\nAs of now, there is no available documentations yet. Instead, refer to the [examples](./examples) folder.\n\n## Contributing\n\nAll contributions are welcome to make AnkoWeb even better. Whether you want to report a bug, suggest new features, or contribute code, your contributions are highly appreciated.\n\n### Issue Reporting\n\nIf you encounter a bug, have a feature request, or want to suggest improvements, please open an issue on the [GitHub Issue Tracker](https://github.com/nthnn/AnkoWeb/issues). Be sure to provide as much detail as possible, including steps to reproduce the issue if applicable.\n\n### Pull Requests\n\nIf you want to contribute code to AnkoWeb, follow these steps:\n\n1. Fork the AnkoWeb repository to your GitHub account. And then clone it to your local machine.\n\n    ```bash\n    git clone https://github.com/nthnn/AnkoWeb\n    ```\n\n2. Create a new branch for your changes:\n\n    ```bash\n    git checkout -b feature/\u003cyour feature name\u003e\n    ```\n\n3. You can now make changes to the repository.\n4. Commit your changes:\n\n    ```bash\n    git add -A\n    git commit -m \"Add your meaningful commit message here\"\n    ```\n\n5. Push your changes to your forked repository:\n\n    ```bash\n    git push origin feature/\u003cyour feature name\u003e\n    ```\n\n6. Create a pull request (PR) from your branch to the main branch of the AnkoWeb repository.\n7. Your PR will be reviewed, and any necessary changes will be discussed and implemented.\n8. Once your PR is approved, it will be merged into the main branch, and your contribution will be part of AnkoWeb.\n\n## License\n\nAnkoWeb is open-source and licensed under the [GNU GPL v3 License](LICENSE).\n","funding_links":["https://github.com/sponsors/nthnn","https://www.buymeacoffee.com/nthnn"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnthnn%2Fankoweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnthnn%2Fankoweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnthnn%2Fankoweb/lists"}