-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Tools
- Our webpages are https://www.cgal.org.
- The Editorial Board is responsible for the content. The upload is
done automatically as soon as the
master
orupcoming
branches are updated. Developers in the team cgal-web-editors and members of the editorial board have write access the the cgal-web repository. Regular developers have read access only, thus an edit should be done using a pull request. - Of course, issues can be submitted if you find any problems with the web site.
Some aspects of the web pages need constant attention to keep them up-to-date. If you can please do the necessary updates yourself, or notify the Editorial Board if you know about updates. This is relevant in particular for the following web pages:
- The News section on https://www.cgal.org
- People involved in the project https://www.cgal.org/people.html (also observe that the Board Manager, the Release Manager, and the Review Manager are subject to change from time to time).
- Updates for the work in progress page (https://www.cgal.org/in\_progress.html): work that is finished and thus no longer in progress must be removed, and new work must be added.
- Publications related to CGAL appear at https://doc.cgal.org/latest/Manual/how_to_cite_cgal.html, which is currently maintained by @moniqueteillaud
- Projects using CGAL https://www.cgal.org/projects.html
- (This item is not so clear, to be updated) Demo programs to be included in the package overview https://www.cgal.org/Manual/latest/doc_html/cgal_manual/packages.html. See the Developers manual for how to submit these.
Clone the repository
> git clone -o cgal-web git@github.com:CGAL/cgal-web.git
If already done
> git pull
updates your current branch from the server. It's recommended not to have local modifications when doing so.
Adding a new file
> git add <file>
Committing a file to your local repository
> git commit <file>
Next task is to send the updates to the server. In order to avoid pushes
in all branches use git
(>= 2.0.0) (where the default is to only push
the current branch) or add this to your configuration
> git config --add push.default simple
# In even older Git version (<1.7.11) 'simple' must be replaced with 'current' or 'tracking' (for even older versions)
This refuses a push if the local and remote branchnames do not match
(check whether other repositories also need this option - or whether you
want to add it to you global .gitconfig
- can be done by adding
--global
option). Next you send the branch onto the remote repository
she cloned from ("origin"):
> git push
Actually, the change of the default push strategy is more important when
you are working on local branches other than master
, see below.
You can also create a local branch to test some changes:
> git checkout -b NewDesign master
then you add/modify/commit files in the local "NewDesign" branch. Browse the files locally to see your changes.
Once you're happy:
> git checkout master
> git merge NewDesign
## resolve conflicts
> git push
The last commands updates the server again.
If needed, usually to prepare a release, we have https://upcoming.cgal.org
> git checkout -b upcoming cgal-web/upcoming
## make sure upcoming and master are the same
> git merge master
## resolve conflicts
> git merge NewDesign
## resolve conflicts
and finally
> git push
-
Install Ruby
- Linux: check your package manager
- Windows
- Note: you should run everything in cmd.exe and not a Cygwin shell.
- go to https://rubyinstaller.org/downloads/ and download RubyInstaller+DevKit 3.2.4-1
- execute RubyInstaller (check "Add to Path")
-
Install jekyll: `gem install jekyll`
- If download error, try `gem install jekyll --source https://rubygems.org`
# get the required tools
cd /path/to/cgal/web
jekyll serve --watch
# point browser at [http://localhost:4000](http://localhost:4000)
cd /path/to/cgal/web
rake post title="My Title" [date="2014-02-24"]
cd /path/to/cgal/web
rake page name="my_page.html"
- Using Push (if you are in the team
cgal-web-editors)
- Push your changes to the
master
branch.
- Push your changes to the
git push origin your_branch:master
- Using Pull Request (otherwise)
- Push your branch to your own repository and create a pull request to the `master` branch.
After a few minutes (sometimes hours), you will see the content here: https://www.cgal.org
Another way to test the website online without perturbing cgal.org (if you cannot test it locally, for example) is to push to the `gh-pages` branch and watch the result here: https://cgal.github.io/cgal-web/
There are only two short commands: rake post
and rake page
. They
are documented here:
http://jekyllbootstrap.com/usage/jekyll-quick-start.html#toc_7
A quick explanation: there are posts, drafts, and pages.
Pages are the sites with a fixes address, like software.html or
index.html. They contain not reusable contents and can be placed
anywhere in the repository hierarchy besides folders prefixed with _
.
Posts are stored in the _posts
directory, they have a date, tags, and a
category. A release announcement, for example, is a post. Exhaustive
documentation about posts is here: http://jekyllrb.com/docs/posts/
Drafts are posts without a date which are not published by the automated
tools, but you can see them locally. They are stored in the _drafts
directory. Exhaustive documentation about drafts is here:
http://jekyllrb.com/docs/drafts/
In general, http://jekyllrb.com contains a lot of helpful information.
Update: this has changed. See Staging Area/Servers/Migration to OVH
on the private wiki. @lrineau is responsible for the web site,
now, with @sloriot as backup.
CGAL Editors can access the statistics for https://www.cgal.org/ and https://doc.cgal.org/ at the following address: https://logs.cluster011.hosting.ovh.net/cgal.org/
That page is protected by a login/password. The login is "editor", and the password is the usual password for the pages protected for CGAL editors. Be careful that the login is not exactly the usual login.
For each new release of CGAL, the tarballs and the Windows .exe
installer
are now uploaded to GitHub, as "assets".
See https://github.com/CGAL/cgal/releases
The download statistics can be seen at:
https://somsubhra.github.io/github-release-stats/?username=CGAL&repository=cgal
Since February 2015, GeometryFactory handles the service of email
redirections firstname.lastname@cgal.org
, using the OVH
infrastructure. Changes to the configuration should be communicated to
@lrineau (or @sloriot when @lrineau is not available).
For the administrators: The settings are in the OVH Manager, select "cgal.org" in the list of products in the left bar, then the "Emails" tab, then in the buttons on the right, use "Gestion des redirections" ("Manage redirections" in English).
The internal wiki is hosted at https://cgal.geometryfactory.com/CGAL/Members/wiki/ .
It is administrated at GF by @lrineau.
Quick access
- Information for New Developers
- Developing with Git
- Structure of a CGAL Package
- Building
- Concurrency in CGAL
- License
- Documentation Guidelines
- Reviewing Process
- Testing
- Miscellaneous