Newer
Older
# Frama-C Website #
This is the working space for the Frama-C website. It uses Jekill, but you don't
have to install anything, since everything is generated by the continuous integration.
# For contributing #
If you want to edit the website before the release, for updating informations,
for releasing your plugin, I strongly encourage you to do so. As usual you can use a
branch `feature/...` and a merge-request to `master`.
## Git LFS ##
Get Git LFS from the `git-lfs` package or directly from:
```
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo aptitude install git-lfs
```
```
git clone git@git.frama-c.com:frama-c/frama-c.frama-c.com
```
The bigfiles of the website (*.pdf, *.tar.gz) are not directly in the git
repository, only a text file is present.
You can download locally one file:
```
git lfs pull -X "" -I foo.pdf
```
Or all pdf:
```
git lfs pull -X "" -I "*.pdf"
```
If you want to add a bigfile you have nothing to do. `git push` will
send the needed files.
## Generate the changelog page ##
The changelog page isn't present in the repository but is generated each time
from the original changelogs. To generate it locally, you can execute the
following commands:
```
cd generator
chmod +x ./generate
curl https://git.frama-c.com/api/v4/projects/780/repository/files/Changelog/raw?ref=master > ../assets/Changelog
curl https://git.frama-c.com/api/v4/projects/780/repository/files/src%2Fplugins%2Fe-acsl%2Fdoc%2FChangelog/raw?ref=master >> ../assets/Changelog
curl https://git.frama-c.com/api/v4/projects/780/repository/files/src%2Fplugins%2Fwp%2FChangelog/raw?ref=master >> ../assets/Changelog
./generate ../assets/Changelog -o ../html/changelog.html
```
## Installing a development environment ##
The website is using Ruby dependencies to generate a static site. The
dependencies can be installed through bundler.
First check that Ruby and Ruby-gems are installed, if that's not the case check
your distribution documentation to install these two packages:
```
ruby -v
gem -v
```
Install Bundler:
```
```
Use Bundler to install the required dependencies, launch this command from the project root directory:
```
bundle install -j $(nproc) --path vendor
```
You can then either build the static site:
```
bundle exec jekyll build -d test --future
```
Or serve it locally to see your modifications in realtime by accessing
<http://127.0.0.1:4000>:
```
bundle exec jekyll serve