{"id":14988281,"url":"https://github.com/apache/jspwiki-site","last_synced_at":"2025-08-01T23:36:30.312Z","repository":{"id":52565715,"uuid":"85795401","full_name":"apache/jspwiki-site","owner":"apache","description":"Apache JSPWiki's website","archived":false,"fork":false,"pushed_at":"2025-07-29T14:53:44.000Z","size":258401,"stargazers_count":4,"open_issues_count":0,"forks_count":7,"subscribers_count":11,"default_branch":"jbake","last_synced_at":"2025-07-29T17:29:15.787Z","etag":null,"topics":["apache","asf","jbake","jspwiki"],"latest_commit_sha":null,"homepage":"https://jspwiki.apache.org/","language":"FreeMarker","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apache.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,"zenodo":null}},"created_at":"2017-03-22T07:00:07.000Z","updated_at":"2025-07-29T14:53:48.000Z","dependencies_parsed_at":"2024-01-25T23:05:55.218Z","dependency_job_id":"7856fdcf-834b-4540-abab-84340e629e8d","html_url":"https://github.com/apache/jspwiki-site","commit_stats":{"total_commits":147,"total_committers":4,"mean_commits":36.75,"dds":0.3129251700680272,"last_synced_commit":"a31ad47608d4a476ed28d247cac826ea94c02f00"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/apache/jspwiki-site","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fjspwiki-site","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fjspwiki-site/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fjspwiki-site/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fjspwiki-site/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/jspwiki-site/tar.gz/refs/heads/jbake","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fjspwiki-site/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268304786,"owners_count":24229260,"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-08-01T02:00:08.611Z","response_time":67,"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":["apache","asf","jbake","jspwiki"],"created_at":"2024-09-24T14:16:24.736Z","updated_at":"2025-08-01T23:36:30.275Z","avatar_url":"https://github.com/apache.png","language":"FreeMarker","readme":"Apache JSPWiki website\r\n======================\r\n\r\nThis repository contains the source for the website of Apache JSPWiki, so it \r\ncan be deployed via [gitpubsub](https://blogs.apache.org/infra/entry/git_based_websites_available) \r\n(see https://issues.apache.org/jira/browse/INFRA-13716)\r\n\r\nThe website itself is completely static, being automatically generated by [JBake](https://jbake.org/) \r\nprior to deployment. The content of the website is written in a mixture of Freemarker templates and \r\nMarkdown. Templated content is interpreted only at build time, with the final result being \r\ncompletely static.\r\n\r\nTo facilitate ease of development and testing, this repository also contains an `mvn-ci.sh` build \r\nscript, the usage of which is documented below.\r\n\r\nTable of contents\r\n-----------------\r\n\r\n* [Repository structure](#repository-structure)\r\n* [Build prerequisites](#build-prerequisites)\r\n* [Testing changes locally](#testing-changes-locally)\r\n* [Publishing changes](#publishing-changes)\r\n\r\nRepository structure\r\n--------------------\r\n\r\nIn addition to the `LICENSE` and `NOTICE` files required of any proper Apache-licensed project, \r\nthe repository contains the following critical files:\r\n\r\n| Filename            | Description\r\n| -------------       | -----------\r\n| `./pom.xml`         | to orchestrate the website build\r\n| `./Jenkinsfile`     | file meant to be run by a Jenkins CI server, to build and deploy the website.\r\n| `./mvn-ci.sh`       | script to build and deploy the website using Maven.\r\n| `./src/main/config/`| changelog header; will be merged with actual changelog through the main ``Jenkinsfile`\r\n| `./src/main/jbake/` | standard [jbake maven plugin structure](https://github.com/ingenieux/jbake-maven-plugin), contains three subdirectories:\r\n|  -\u003e `assets/`       | The assets directory is where you should place your static files such as images, CSS files and JavaScript files etc. These files are copied over to the baked output as is. You can create any directory structure you like in the assets directory and this structure will be maintained when copied.\r\n|  -\u003e `content/`      | holds content files, with the extension of these files determining what type of content it contains (i.e.: `.md` for [Markdown](http://daringfireball.net/projects/markdown/syntax), `.html` for raw HTML, etc.)\r\n|  -\u003e `templates/`    | holds templates files, with the extension of these files determining the templates engine (i.e.: `.ftl` for [Freemarker](https://freemarker.apache.org/), `.thyme` for [Thymeleaf](http://www.thymeleaf.org/), etc.)\r\n| `./content/`        | the actual content served for jspwiki.apache.org, see [publishing changes](#publishing-changes) below\r\n\r\nBuild prerequisites\r\n-------------------\r\n\r\nThe CI build (`Jenkinsfile`) needs Java 8 and a Maven installation. This \r\nscript is run at [ASF's Jenkins instance](https://builds.apache.org/job/jspwiki-site/). \r\nThis script takes the changes from the \"jbake\" branch, generates the site, pulls the \r\njavadocs, generates the binary compatibility reports and puts them on the \"asf-site\" \r\nbranch, where they get published, usually a few second later. See \"publishing changes\"\r\nsection below for details.\r\n\r\nThe Maven build (`mvn-ci.sh`) needs at least Maven 3 and Java 8, thus these must \r\nbe installed first. It's essentially the same build as the CI build, but meant to be \r\nrun locally.\r\n\r\nTesting changes locally\r\n-----------------------\r\n\r\nJust run `mvn clean jbake:inline` and the site will be accesible through http://localhost:8080. \r\nChanges will be reloaded on the fly. When done testing your local changes, press `Enter` to stop \r\nthe web server and return to the shell.\r\n\r\nIn order to be able to navigate locally, you'll need to edit the `site.host` property at \r\n`./src/main/jbake/jbake.properties`. Do **NOT** commit that change.\r\n\r\nPublishing changes\r\n------------------\r\n\r\nChanges to the website are published using Apache's \r\n[gitpubsub](https://blogs.apache.org/infra/entry/git_based_websites_available) which relies on a \r\nspecial branch called \"asf-site\" containing *all website content*.\r\n\r\nIn the Apache JSPWiki website repository, the \"asf-site\" branch is an \"orphan\" branch. Updating \r\nthe website thus involves:\r\n\r\n1. Making and testing your changes locally\r\n2. Replacing the entire contents within \"asf-site\" with the newly-generated site from the \r\n   \"jbake\" branch.\r\n\r\nSecond step is automated through `Jenkinsfile` and `mvn-ci.sh` files. \r\n\r\nKeep in mind that the new content must be *staged* for and committed in this branch. Once you have \r\nverified that the staged content is as expected, commit your changes (along with a useful commit \r\nmessage describing the changes at a high level) using `git commit` and publish the update using \r\n`git push origin`.\r\n\r\nIf you wish to unstage your changes, use `git reset --hard HEAD` to return to the original state \r\nof \"jbake\", wiping out any local modifications. You can then return to whichever branch you \r\nwere working on with `git checkout`.\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fjspwiki-site","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fjspwiki-site","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fjspwiki-site/lists"}