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.
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
## 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:
```
gem install bundler -v '2.0.2'
```
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
```