{"id":29796375,"url":"https://github.com/fedora-infra/asknot-ng","last_synced_at":"2025-10-15T06:37:56.408Z","repository":{"id":26792603,"uuid":"30251001","full_name":"fedora-infra/asknot-ng","owner":"fedora-infra","description":"What can I do for $ORGANIZATION?","archived":false,"fork":false,"pushed_at":"2025-02-25T05:09:56.000Z","size":4054,"stargazers_count":72,"open_issues_count":8,"forks_count":65,"subscribers_count":26,"default_branch":"develop","last_synced_at":"2025-07-01T17:58:46.482Z","etag":null,"topics":["community","fedora","fedora-project","javascript","onboarding","openshift","python","yaml"],"latest_commit_sha":null,"homepage":"http://whatcanidoforfedora.org","language":"JavaScript","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/fedora-infra.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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-03T15:58:57.000Z","updated_at":"2025-02-14T04:12:35.000Z","dependencies_parsed_at":"2025-02-14T05:31:19.623Z","dependency_job_id":null,"html_url":"https://github.com/fedora-infra/asknot-ng","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fedora-infra/asknot-ng","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-infra%2Fasknot-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-infra%2Fasknot-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-infra%2Fasknot-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-infra%2Fasknot-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fedora-infra","download_url":"https://codeload.github.com/fedora-infra/asknot-ng/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedora-infra%2Fasknot-ng/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267464522,"owners_count":24091505,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["community","fedora","fedora-project","javascript","onboarding","openshift","python","yaml"],"created_at":"2025-07-28T05:08:36.894Z","updated_at":"2025-10-15T06:37:51.357Z","avatar_url":"https://github.com/fedora-infra.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# asknot-ng\n\n[![Build Status](https://travis-ci.org/fedora-infra/asknot-ng.svg)](https://travis-ci.org/fedora-infra/asknot-ng)\n\nAsk not what `$ORG` can do for you, but what you can do for `$ORG`.\n\nWritten by [@ralphbean][threebean].  Inspired by [the original work][wcidfm] of\n[Josh Matthews][jdm], [Henri Koivuneva][wham], and [others][asknot-contribs].\n\nI stumbled upon and loved the original [whatcanidoformozilla.org][wcidfm] and\nwanted to deploy it for the [Fedora Community][fedora] but I found that I\ncouldn’t easily change the questions and links that were presented.  A year\nwent by and in 2015 I wrote this:  “asknot-ng”.\n\nThe gist of this “next generation” rewrite is to make it as configurable as\npossible.  There is a primary script, ``asknot-ng.py``\nthat works like a static-site generator.  It takes as input three things:\n\n- A questions file, written in yaml (see the [example][example-questions] or\n  [Fedora’s file][fedora-questions]).  You’ll have to write your own one of\n  these.\n- A template file, written in mako (the [default][default-template] should work\n  for everybody).\n- A ‘theme’ argument to specify what CSS to use.  The default is nice enough,\n  but you’ll probably want to customize it to your own use case.\n\nWe have a [Fedora instance up and running][wcidff] if you’d like to poke it.\n\n[![Translation status](https://translate.fedoraproject.org/widgets/fedora-infra/-/asknot-ng/287x66-grey.png)](https://translate.fedoraproject.org/engage/fedora-infra/?utm_source=widget)\n\n## Tools\n\n1. HTML5      - The Structure.\n2. CSS3       - The Style.\n3. Javascript - The Functions.\n4. Jquery     - JavaScript libraries to select, remove, clone, and modify different elements on the page.\n5. Bootstrap  - Bootstrap is a front end framework used to design responsive web pages and applications.\n\n## Requirements\n\nThe site-generator script is written in Python, so you’ll need that.\nFurthermore, see [requirements.txt][requirements] or just run::\n\n    $ sudo dnf install python-mako PyYAML python-virtualenv\n\nThe script can optionally generate an svg visualizing your question tree.  This\nrequires pygraphviz which you could install like so:\n\n    $ sudo dnf install python-pygraphviz\n\n## Giving it a run\n\nInstall the requirements, first.\n\nClone the repo::\n\n    $ git clone https://github.com/fedora-infra/asknot-ng.git\n    $ cd asknot-ng\n\nCreate a virtualenv into which you can install the module.\n\n    $ virtualenv --system-site-packages venv\n    $ source venv/bin/activate\n    $ python setup.py develop\n\nRun the script with the Fedora configuration::\n\n    $ ./asknot-ng.py templates/index.html questions/fedora.yml l10n/fedora/locale --theme fedora\n    Wrote build/en/index.html\n\nand open up `build/en/index.html` in your favorite browser.\n\n## Preparing Translations\n\nFirst, setup a virtualenv, install Babel, and build the egg info.\n\n    $ virtualenv venv\n    $ source venv/bin/activate\n    $ pip install Babel\n    $ python setup.py develop\n\nThen, extract the translatable strings:\n\n    $ python setup.py extract_messages --output-file l10n/fedora/locale/asknot-ng.pot --input-dir=.\n\n## Container\n\nAsknot can be build and released as a container, to do so you can use the provided Dockerfile.\n\n###### Releasing a container\n\n```\npodman build -t asknot .\n```\n\nThe Dockerfile makes use of multistage container build, meaning that in a first stage a container is used to prepare the translations and build the static pages then the static content is copied to a second container which is used to serve this content.\n\n###### Running Container\n\n```\npodman run --name=asknot -d -p 8080:80 --net=host localhost/asknot\n```\n\n###### Composing Container\n\nAsknot can be build and released as a container, in other similar way to do so you can use the provided Dockerfile-compose file.\n\n```\npodman-compose up -d\n```\n\n###### Verifiying\n\nIn your Favorite Browser Just type:\n\n```\n localhost:8080\n```\n\n## Application Deployment\n\n``asknot-ng`` currently runs on Fedora infrastructure Openshift instance. There are 2 deployments one in [staging] and one in [production].\n\nThe deployment of new version to these environment is managed from the github repository, thanks to the following 2 branches ``staging`` and ``production``.\n\n### Staging\n\nTo deploy a change to the staging environment you need to push the commits to the ``staging`` branch, then Openshift will trigger a build using the Dockerfile located\nin this repository and deploy the new application.\n\n### Production\n\nTo deploy a change in the production environment you need to push the commits to the ``production`` branch, then Openshift will trigger a build using the Dockerfile located\nin this repository and deploy the new application.\n\n## Contributing back\n\n``asknot-ng`` is licensed GPLv3+ and we’d love to get patches back containing\neven the things you might not think we want.  If you have a questions file for\nyour repo, a modified template, or a CSS theme for your use case, please\n[send them to us][patches].  It would be nice to build a library of deployments\nso we can all learn.\n\n**Note**: While the application is licensed GPLv3+, The [Fedora 22 wallpaper](static/themes/fedora/img/background.png) used is licensed under a *Creative Commons Attribution 4 License*.\n\nOf course, bug reports and patches to the main script are appreciated as\nalways.\n\nHappy Hacking!\n\n[threebean]: http://threebean.org\n[fedora]: http://getfedora.org\n[example-questions]: https://github.com/fedora-infra/asknot-ng/blob/develop/questions/example.yml\n[fedora-questions]: https://github.com/fedora-infra/asknot-ng/blob/develop/questions/fedora.yml\n[default-template]: https://github.com/fedora-infra/asknot-ng/blob/develop/templates/index.html\n[requirements]: https://github.com/fedora-infra/asknot-ng/blob/develop/requirements.txt\n[patches]: https://help.github.com/articles/editing-files-in-another-user-s-repository/\n[wcidfm]: https://web.archive.org/web/20220714110613/https://www.whatcanidoformozilla.org/\n[wcidff]: http://whatcanidoforfedora.org\n[jdm]: http://www.joshmatthews.net\n[wham]: http://wham.fi\n[asknot-contribs]: https://github.com/jdm/asknot/contributors\n[staging]: https://stg.whatcanidoforfedora.org/\n[production]: https://whatcanidoforfedora.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedora-infra%2Fasknot-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedora-infra%2Fasknot-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedora-infra%2Fasknot-ng/lists"}