##// END OF EJS Templates
docs: move translation to a separate page...
Mads Kiilerich -
r5923:5262c498 default
parent child Browse files
Show More
@@ -0,0 +1,2 b''
1 .. _translations:
2 .. include:: ./../../kallithea/i18n/how_to
@@ -1,181 +1,178 b''
1 1 .. _contributing:
2 2
3 3 =========================
4 4 Contributing to Kallithea
5 5 =========================
6 6
7 7 Kallithea is developed and maintained by its users. Please join us and scratch
8 8 your own itch.
9 9
10 10
11 11 Infrastructure
12 12 --------------
13 13
14 14 The main repository is hosted on Our Own Kallithea (aka OOK) at
15 15 https://kallithea-scm.org/repos/kallithea/, our self-hosted instance
16 16 of Kallithea.
17 17
18 18 For now, we use Bitbucket_ for `pull requests`_ and `issue tracking`_. The
19 19 issue tracker is for tracking bugs, not for support, discussion, or ideas --
20 20 please use the `mailing list`_ or :ref:`IRC <readme>` to reach the community.
21 21
22 22 We use Weblate_ to translate the user interface messages into languages other
23 23 than English. Join our project on `Hosted Weblate`_ to help us.
24 24 To register, you can use your Bitbucket or GitHub account. See :ref:`translations`
25 25 for more details.
26 26
27 27
28 28 Getting started
29 29 ---------------
30 30
31 31 To get started with development::
32 32
33 33 hg clone https://kallithea-scm.org/repos/kallithea
34 34 cd kallithea
35 35 virtualenv ../kallithea-venv
36 36 source ../kallithea-venv/bin/activate
37 37 pip install --upgrade pip setuptools
38 38 pip install -e .
39 39 paster make-config Kallithea my.ini
40 40 paster setup-db my.ini --user=user --email=user@example.com --password=password --repos=/tmp
41 41 paster serve my.ini --reload &
42 42 firefox http://127.0.0.1:5000/
43 43
44 44 You can also start out by forking https://bitbucket.org/conservancy/kallithea
45 45 on Bitbucket_ and create a local clone of your own fork.
46 46
47 47
48 48 Running tests
49 49 -------------
50 50
51 51 After finishing your changes make sure all tests pass cleanly. You can run
52 52 the testsuite by running ``py.test`` from the project root::
53 53
54 54 py.test
55 55
56 56 You can also use ``tox`` to run the tests with all supported Python versions
57 57 (currently Python 2.6--2.7).
58 58
59 59 When running tests, Kallithea uses `kallithea/tests/test.ini` and populates the
60 60 SQLite database specified there.
61 61
62 62 It is possible to avoid recreating the full test database on each invocation of
63 63 the tests, thus eliminating the initial delay. To achieve this, run the tests as::
64 64
65 65 paster serve kallithea/tests/test.ini --pid-file=test.pid --daemon
66 66 KALLITHEA_WHOOSH_TEST_DISABLE=1 KALLITHEA_NO_TMP_PATH=1 py.test
67 67 kill -9 $(cat test.pid)
68 68
69 69 In these commands, the following variables are used::
70 70
71 71 KALLITHEA_WHOOSH_TEST_DISABLE=1 - skip whoosh index building and tests
72 72 KALLITHEA_NO_TMP_PATH=1 - disable new temp path for tests, used mostly for testing_vcs_operations
73 73
74 74 You can run individual tests by specifying their path as argument to py.test.
75 75 py.test also has many more options, see `py.test -h`. Some useful options
76 76 are::
77 77
78 78 -k EXPRESSION only run tests which match the given substring
79 79 expression. An expression is a python evaluable
80 80 expression where all names are substring-matched
81 81 against test names and their parent classes. Example:
82 82 -x, --exitfirst exit instantly on first error or failed test.
83 83 --lf rerun only the tests that failed at the last run (or
84 84 all if none failed)
85 85 --ff run all tests but run the last failures first. This
86 86 may re-order tests and thus lead to repeated fixture
87 87 setup/teardown
88 88 --pdb start the interactive Python debugger on errors.
89 89 -s, --capture=no don't capture stdout (any stdout output will be
90 90 printed immediately)
91 91
92 92
93 93 Coding/contribution guidelines
94 94 ------------------------------
95 95
96 96 Kallithea is GPLv3 and we assume all contributions are made by the
97 97 committer/contributor and under GPLv3 unless explicitly stated. We do care a
98 98 lot about preservation of copyright and license information for existing code
99 99 that is brought into the project.
100 100
101 101 We don't have a formal coding/formatting standard. We are currently using a mix
102 102 of Mercurial (http://mercurial.selenic.com/wiki/CodingStyle), pep8, and
103 103 consistency with existing code. Run whitespacecleanup.sh to avoid stupid
104 104 whitespace noise in your patches.
105 105
106 106 We support both Python 2.6.x and 2.7.x and nothing else. For now we don't care
107 107 about Python 3 compatibility.
108 108
109 109 We try to support the most common modern web browsers. IE9 is still supported
110 110 to the extent it is feasible, IE8 is not.
111 111
112 112 We primarily support Linux and OS X on the server side but Windows should also work.
113 113
114 114 HTML templates should use 2 spaces for indentation ... but be pragmatic. We
115 115 should use templates cleverly and avoid duplication. We should use reasonable
116 116 semantic markup with element classes and IDs that can be used for styling and testing.
117 117 We should only use inline styles in places where it really is semantic (such as
118 118 ``display: none``).
119 119
120 120 JavaScript must use ``;`` between/after statements. Indentation 4 spaces. Inline
121 121 multiline functions should be indented two levels -- one for the ``()`` and one for
122 122 ``{}``.
123 123 Variables holding jQuery objects should be named with a leading ``$``.
124 124
125 125 Run ``scripts/run-all-cleanup`` before committing to ensure some basic code
126 126 formatting consistency.
127 127
128 128 Commit messages should have a leading short line summarizing the changes. For
129 129 bug fixes, put ``(Issue #123)`` at the end of this line.
130 130
131 131 Use American English grammar and spelling overall. Use `English title case`_ for
132 132 page titles, button labels, headers, and 'labels' for fields in forms.
133 133
134 134 .. _English title case: https://en.wikipedia.org/wiki/Capitalization#Title_case
135 135
136 136 Contributions will be accepted in most formats -- such as pull requests on
137 137 bitbucket, something hosted on your own Kallithea instance, or patches sent by
138 138 email to the `kallithea-general`_ mailing list.
139 139
140 140 Make sure to test your changes both manually and with the automatic tests
141 141 before posting.
142 142
143 143 We care about quality and review and keeping a clean repository history. We
144 144 might give feedback that requests polishing contributions until they are
145 145 "perfect". We might also rebase and collapse and make minor adjustments to your
146 146 changes when we apply them.
147 147
148 148 We try to make sure we have consensus on the direction the project is taking.
149 149 Everything non-sensitive should be discussed in public -- preferably on the
150 150 mailing list. We aim at having all non-trivial changes reviewed by at least
151 151 one other core developer before pushing. Obvious non-controversial changes will
152 152 be handled more casually.
153 153
154 154 For now we just have one official branch ("default") and will keep it so stable
155 155 that it can be (and is) used in production. Experimental changes should live
156 156 elsewhere (for example in a pull request) until they are ready.
157 157
158 .. _translations:
159 .. include:: ./../kallithea/i18n/how_to
160
161 158
162 159 "Roadmap"
163 160 ---------
164 161
165 162 We do not have a road map but are waiting for your contributions. Refer to the
166 163 wiki_ for some ideas of places we might want to go -- contributions in these
167 164 areas are very welcome.
168 165
169 166
170 167 Thank you for your contribution!
171 168 --------------------------------
172 169
173 170
174 171 .. _Weblate: http://weblate.org/
175 172 .. _issue tracking: https://bitbucket.org/conservancy/kallithea/issues?status=new&status=open
176 173 .. _pull requests: https://bitbucket.org/conservancy/kallithea/pull-requests
177 174 .. _bitbucket: http://bitbucket.org/
178 175 .. _mailing list: http://lists.sfconservancy.org/mailman/listinfo/kallithea-general
179 176 .. _kallithea-general: http://lists.sfconservancy.org/mailman/listinfo/kallithea-general
180 177 .. _Hosted Weblate: https://hosted.weblate.org/projects/kallithea/kallithea/
181 178 .. _wiki: https://bitbucket.org/conservancy/kallithea/wiki/Home
@@ -1,82 +1,83 b''
1 1 .. _index:
2 2
3 3 #######################
4 4 Kallithea Documentation
5 5 #######################
6 6
7 7 **Readme**
8 8
9 9 .. toctree::
10 10 :maxdepth: 1
11 11
12 12 readme
13 13
14 14 **Installation**
15 15
16 16 .. toctree::
17 17 :maxdepth: 1
18 18
19 19 overview
20 20 installation
21 21 installation_win
22 22 installation_win_old
23 23 installation_iis
24 24 setup
25 25 installation_puppet
26 26 upgrade
27 27
28 28 **Usage**
29 29
30 30 .. toctree::
31 31 :maxdepth: 1
32 32
33 33 usage/general
34 34 usage/vcs_support
35 35 usage/locking
36 36 usage/statistics
37 37
38 38 **Administrator's guide**
39 39
40 40 .. toctree::
41 41 :maxdepth: 1
42 42
43 43 usage/email
44 44 usage/performance
45 45 usage/backup
46 46 usage/debugging
47 47 usage/troubleshooting
48 48 usage/customization
49 49
50 50 **Development**
51 51
52 52 .. toctree::
53 53 :maxdepth: 1
54 54
55 55 contributing
56 dev/translation
56 57 changelog
57 58
58 59 **API**
59 60
60 61 .. toctree::
61 62 :maxdepth: 1
62 63
63 64 api/api
64 65
65 66
66 67 Other topics
67 68 ************
68 69
69 70 * :ref:`genindex`
70 71 * :ref:`search`
71 72
72 73
73 74 .. _virtualenv: http://pypi.python.org/pypi/virtualenv
74 75 .. _python: http://www.python.org/
75 76 .. _django: http://www.djangoproject.com/
76 77 .. _mercurial: http://mercurial.selenic.com/
77 78 .. _bitbucket: http://bitbucket.org/
78 79 .. _subversion: http://subversion.tigris.org/
79 80 .. _git: http://git-scm.com/
80 81 .. _celery: http://celeryproject.org/
81 82 .. _Sphinx: http://sphinx.pocoo.org/
82 83 .. _vcs: http://pypi.python.org/pypi/vcs
General Comments 0
You need to be logged in to leave comments. Login now