Mercurial > web-octave
comparison README.md @ 222:0c24e49c860f
Update README.md
author | Kai Torben Ohlhus <k.ohlhus@gmail.com> |
---|---|
date | Tue, 15 Sep 2020 16:32:15 +0900 |
parents | a3ad764ca547 |
children | c90fdd9f5b86 |
comparison
equal
deleted
inserted
replaced
221:9a9f3db42b38 | 222:0c24e49c860f |
---|---|
1 # GNU Octave Website development | 1 # GNU Octave Website development |
2 | 2 |
3 This is the [https://www.octave.org][1] website development repository. | 3 This is the <https://www.octave.org> website development repository. |
4 | 4 |
5 The development and deployment workflow in short: | 5 The development and deployment workflow in short: |
6 | 6 |
7 1. The website is developed in this [web-octave][2] Mercurial repository. | 7 1. The website is developed at two synchronized locations: |
8 2. Static HTML pages are generated from this [web-octave][2] repository | 8 - <https://hg.octave.org/web-octave> (Mercurial) |
9 and are deployed at the [Savannah CVS][3] repository. | 9 - <https://github.com/gnu-octave/gnu-octave.github.io> (Git) |
10 3. After deploying the static pages, they are visible from | |
11 [https://www.octave.org][1], that redirects to | |
12 [https://www.gnu.org/software/octave][4]. | |
13 | 10 |
14 [1]: https://www.octave.org | 11 2. Static HTML pages are generated from these repositories |
15 [2]: https://hg.octave.org/web-octave | 12 and deployed at |
16 [3]: https://web.cvs.savannah.gnu.org/viewvc/octave/?root=octave | 13 - <https://web.cvs.savannah.gnu.org/viewvc/octave/?root=octave> (Savannah) |
17 [4]: https://www.gnu.org/software/octave | 14 - <https://gnu-octave.github.io/> (GitHub Pages) |
15 | |
16 3. The deployment to GitHub Pages happens automatically by pushing to the | |
17 respective repository. The deployment on Savannah is more complicated and | |
18 described below in detail and is visible at <https://www.octave.org> that | |
19 redirects to <https://www.gnu.org/software/octave>. | |
18 | 20 |
19 | 21 |
20 | 22 ## Simple website changes / contributions |
21 ## Development | |
22 | |
23 ### Getting the sources | |
24 | 23 |
25 Anyone is free to clone this website development repository, simply type | 24 Anyone is free to clone this website development repository, simply type |
26 | 25 |
27 hg clone https://hg.octave.org/web-octave | 26 git clone https://github.com/gnu-octave/gnu-octave.github.io.git |
27 hg clone https://hg.octave.org/web-octave | |
28 | 28 |
29 to get anonymous read access without writing privileges. | 29 to get anonymous read access without writing privileges. |
30 To push your changes, please contact the octave developers at | |
31 https://octave.discourse.group/. | |
32 | 30 |
33 If you already have writing permissions for this repository, | 31 If you want submit changes/additions, please create a |
34 you should clone the repository using | 32 [**pull request**](https://docs.github.com/en/github/getting-started-with-github/github-glossary#pull-request) |
33 on GitHub or contact the Octave developers at <https://octave.discourse.group/>. | |
34 | |
35 > **Note:** Changes made to the GitHub page repository are only visible there. | |
36 > To change <https://www.octave.org>, the Savannah CVS repository must be | |
37 > updated (see below). | |
38 | |
39 | |
40 ### Add a new RSS post | |
41 | |
42 Duplicate another post in the subdirectory `_posts` and adjust the filename, | |
43 especially the date. | |
44 | |
45 **Be sure to choose the correct categories!!** | |
46 | |
47 `categories: news release` is reserved for release announcements, those posts | |
48 are also displayed inside the Octave GUI. Consider choosing another category | |
49 like `categories: news` or alike for less important news. | |
50 | |
51 | |
52 ## Advanced development | |
53 | |
54 ### Synchronize Mercurial and GitHub repositories | |
55 | |
56 You need writing permissions to the Mercurial repository | |
35 | 57 |
36 hg clone ssh://gnuoctave@octave.org/hg/web-octave | 58 hg clone ssh://gnuoctave@octave.org/hg/web-octave |
37 | 59 |
60 Add to `.hg/hgrc` | |
61 | |
62 [paths] | |
63 default = ssh://gnuoctave@hg-new.octave.org/hg/web-octave | |
64 github = git+ssh://git@github.com:gnu-octave/gnu-octave.github.io.git | |
38 | 65 |
39 | 66 |
40 ### Building requisites | 67 ### Building requisites |
41 | 68 |
42 To build the static website, you need to install [Ruby][6] and [Bundler][7]. | 69 To build the static website offline, you need to install [Ruby][] and |
43 For Debian/Ubuntu please perform the following setup fist. For other Linux | 70 [Bundler][]. For Debian/Ubuntu please perform the following setup fist. |
44 distributions this command might change. | 71 For other Linux distributions this command might change. |
45 | 72 |
46 sudo apt-get install ruby-full build-essential zlib1g-dev | 73 sudo apt-get install ruby-full build-essential zlib1g-dev |
47 | 74 |
48 gem install bundler | 75 gem install bundler |
49 | 76 |
50 From now on, everything is handled by Bundler. Install all required | 77 From now on, everything is handled by Bundler. Install all required |
51 dependencies for the static Octave website by running | 78 dependencies for the static Octave website by running |
52 | 79 |
53 bundle install | 80 bundle install |
54 | 81 |
55 from within the checked-out [hg development repository][2]. | 82 from within the checked-out website development repository (Mercurial or |
83 GitHub). | |
56 | 84 |
57 For the responsive webpages, we internally use the [Foundation 6][8] | 85 For the responsive webpages, we internally use the [Foundation 6][Foundation] |
58 framework. All necessary files are already included inside this | 86 framework. All necessary files are already included inside this website |
59 [hg development repository][2]. | 87 development repository. |
60 | 88 |
61 [6]: https://www.ruby-lang.org/ | 89 [Ruby]: https://www.ruby-lang.org/ |
62 [7]: https://bundler.io/ | 90 [Bundler]: https://bundler.io/ |
63 [8]: https://get.foundation/sites/docs/ | 91 [Foundation]: https://get.foundation/sites/docs/ |
64 | 92 |
65 | 93 |
66 | 94 ### Building the static website offline |
67 ### Building the static website locally | |
68 | 95 |
69 All relevant information for Bundler to build the static website are located in | 96 All relevant information for Bundler to build the static website are located in |
70 the files `_config.yml`, `Gemfile`, and `Gemfile.lock`. Typing | 97 the files `_config.yml`, `Gemfile`, and `Gemfile.lock`. Typing |
71 | 98 |
72 bundle exec jekyll build | 99 bundle exec jekyll build |
82 | 109 |
83 and rebuilds the whole static website automatically, as it monitors any | 110 and rebuilds the whole static website automatically, as it monitors any |
84 file changes. | 111 file changes. |
85 | 112 |
86 | 113 |
114 ### Deploying the static website online at Savannah CVS | |
87 | 115 |
88 ### Add a new RSS post | 116 For this step you need to have writing permissions to the Savannah CVS |
89 | |
90 Duplicate another post in the subdirectory `_posts` and adjust the filename, | |
91 especially the date. | |
92 | |
93 **Be sure to choose the correct categories!!** | |
94 | |
95 `categories: news release` is reserved for release announcements, those posts | |
96 are also displayed inside the Octave GUI. Consider choosing another category | |
97 like `categories: news` or alike for less important news. | |
98 | |
99 | |
100 | |
101 ### Deploying the static website online | |
102 | |
103 For this step you need to have writing permissions to the [Savannah CVS][3] | |
104 repository. Usually, it should suffice to type | 117 repository. Usually, it should suffice to type |
105 | 118 |
106 make deploy | 119 make deploy |
107 | 120 |
108 if anything doesn't work as expected, look at the provided `Makefile` and | 121 if anything doesn't work as expected, look at the provided `Makefile` and |