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