| |
@@ -1,15 +1,32 @@
|
| |
- # centos-jekyll-sites
|
| |
+ # CentOS.org website
|
| |
|
| |
- Community effort to redesign CentOS websites using
|
| |
- [jekyll](https://jekyllrb.com/) 4 and [bootstrap](https://getbootstrap.com/) 4.
|
| |
+ The CentOS.org website is using the following tools:
|
| |
|
| |
- ## Installation
|
| |
+ * [jekyll](https://jekyllrb.com/) 4
|
| |
+ * [bootstrap](https://getbootstrap.com/) 4.
|
| |
+ * [podman](https://podman.io) (but should work with other know containers solutions too)
|
| |
|
| |
+ ## Contributing to changes to this repo
|
| |
+
|
| |
+ ### Needed tools
|
| |
+
|
| |
+ Just ensure that you have git, podman installed on your CentOS, Fedora workstation (or any other linux distro, just showing this as example):
|
| |
+
|
| |
+ ```
|
| |
+ sudo yum install slirp4netns podman git
|
| |
+ ```
|
| |
+
|
| |
+ ### Cloning this repo, from your forked version
|
| |
+
|
| |
+ You should first login with your [ACO](https://accounts.centos.org) login on https://git.centos.org, and then fork this repo (if not already done)
|
| |
+
|
| |
+ Once done, you'll have to clone your fork locally, and submit changes.
|
| |
This section describes the steps you need to follow in order to render the
|
| |
final site using jekyll in Fedora 31/CentOS 8, with rootless container.
|
| |
+
|
| |
Let's assume the following (so feel free to update):
|
| |
|
| |
- * git_upstream="https://git.stg.centos.org/centos/centos.org.git"
|
| |
+ * git_upstream="ssh://git@git.centos.org/forks/<ACO_LOGIN>/centos/centos.org.git" # replace with your ACO username
|
| |
* git_directory="$HOME/git/" # where you'll git clone git repo
|
| |
|
| |
Let's first clone git repo and ensure that some files in container will be owned by jekyll :
|
| |
@@ -33,20 +50,35 @@
|
| |
```
|
| |
|
| |
If that works, you'll have everything you need. You can then render/build the website (under _site directory) like this :
|
| |
+
|
| |
```
|
| |
- podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" --rm -it jekyll/jekyll jekyll build
|
| |
+ podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" \
|
| |
+ --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" \
|
| |
+ --rm -it jekyll/jekyll jekyll build
|
| |
```
|
| |
|
| |
- If you want to also edit file and have jekyll automatically rebuild the site when files are added/updated, you can run with with --watch
|
| |
- ```
|
| |
- podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" --rm -it jekyll/jekyll jekyll build --watch
|
| |
+ The better way to work on changes is to have jekylly to automatically "watch" for local changes, and rebuild automatically on the fly when it detects that files were added/modified. To do this, and then to be able to browse "live" onhttp://localhost:4000 , launch Jekyll like this :
|
| |
|
| |
```
|
| |
-
|
| |
- Viewing website locally (so point browser to http://localhost:4000 :
|
| |
+ podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" \
|
| |
+ --volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" \
|
| |
+ -p 4000:4000/tcp \
|
| |
+ --rm -it jekyll/jekyll jekyll serve
|
| |
```
|
| |
- podman run --volume="${git_directory}/centos.org:/srv/jekyll:z" volume="${git_directory}/centos.org/vendor/bundle:/usr/local/bundle:z" -p 4000:4000/tcp --rm -it jekyll/jekyll jekyll serve
|
| |
|
| |
- ```
|
| |
+ ### Opening a PR (Merge request)
|
| |
+ Once you're satisfied with local changes, proceed as usual :
|
| |
+
|
| |
+ * `git commit` and `git push` to origin (your fork)
|
| |
+ * open PR on git.centos.org
|
| |
+
|
| |
+ ### Reviewing a PR (for admins)
|
| |
+ When someone will open a PR, there is a way to pull locally the proposed changed and render locally.
|
| |
+ We can apply the method above with "jekyll serve" but we can pull locally.
|
| |
+ On each PR, there is a link at bottom named "Pull this pull-request locally" with a link to instructions.
|
| |
+ If you proceed, that will create a new temporary branch named pr<number>, so you can then `git checkout pr<number>` , render website automatically and see if that looks ok.
|
| |
+ If it is, you can go back to git.centos.org, and then either comment (if you need some changes) or just `merge` it.
|
| |
+ Merging it in main branch will automatically means that website will be rebuild and pushed in the next minute[s] to www.centos.org nodes.
|
| |
+
|
| |
|
| |
|
| |
Signed-off-by: Fabian Arrotin arrfab@centos.org