You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The markdown files contained in this path provide documentation for contributing to HTTPS Everywhere. These files are also templates that can be used to generate the markup for HTTPS Everywhere pages under `https://www.eff.org/https-everywhere`. To do so, install the program `pandoc` and run
3
+
The markdown files contained in this path provide documentation for
4
+
contributing to HTTPS Everywhere. These files are also templates that can be
5
+
used to generate the markup for HTTPS Everywhere pages under
6
+
`https://www.eff.org/https-everywhere`. To do so, install the program `pandoc`
7
+
and run
4
8
5
9
pandoc faq.md
6
10
7
-
Copy the output, excluding the header on the first line, to the source of the relevant page within the CMS. Note that some of the pages are dynamically generated and are not generated from templates contained here.
11
+
Copy the output, excluding the header on the first line, to the source of the
12
+
relevant page within the CMS. Note that some of the pages are dynamically
13
+
generated and are not generated from templates contained here.
Copy file name to clipboardExpand all lines: docs/en_US/development.md
+77-22Lines changed: 77 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,49 +2,94 @@
2
2
3
3
### Pointers for developers
4
4
5
-
-**License:** GPL version 3+ (although most of the code is GPL-2 compatible)
6
-
-**Source code:** Available via Git with `git clone https://github.com/EFForg/https-everywhere.git`. You can fork and open pull requests using Github at [https://github.com/EFForg/https-everywhere](https://github.com/EFForg/https-everywhere).
7
-
-**Translations:** If you would like to help translate HTTPS Everywhere into another language, you can do that [through Transifex](https://www.transifex.com/otf/torproject/).
8
-
-**Bug tracker:** Use the [GitHub issue tracker](https://github.com/EFForg/https-everywhere/issues/) or the [Tor Project issue tracker](https://trac.torproject.org/projects/tor/report/19). For the Tor Project issue tracker, you can make an account or use the anonymous one — "cypherpunks"/"writecode". You won't see replies unless you put an email address in the CC field. Bugs that are caused by rulesets should be tagged "httpse-ruleset-bug", and can be viewed [in this report](https://trac.torproject.org/projects/tor/report/48).
9
-
-**Mailing lists:** The [https-everywhere](https://lists.eff.org/mailman/listinfo/https-everywhere) list ([archives](https://lists.eff.org/pipermail/https-everywhere/)) is for discussing the project as a whole; the [https-everywhere-rules](https://lists.eff.org/mailman/listinfo/https-everywhere-rules) mailing list ([archives](https://lists.eff.org/pipermail/https-everywhere-rules)) is for discussing the [rulesets](https://www.eff.org/https-everywhere/rulesets) and their contents, including patches and git pull requests.
10
-
-**IRC:**`#https-everywhere` on `irc.oftc.net`; if you don't have an IRC client application already installed, you can [use this webchat interface](https://webchat.oftc.net/?channels=#https-everywhere). If you ask a question, be sure to stay in the channel — someone may reply a few hours or a few days later.
5
+
***License:** GPL version 3+ (although most of the code is GPL-2 compatible)
6
+
***Source code:** Available via Git with `git clone
7
+
https://github.com/EFForg/https-everywhere.git`. You can fork and open pull
([archives](https://lists.eff.org/pipermail/https-everywhere-rules)) is for
28
+
discussing the [rulesets](https://www.eff.org/https-everywhere/rulesets)
29
+
and their contents, including patches and git pull requests.
30
+
***IRC:**`#https-everywhere` on `irc.oftc.net`; if you don't have an IRC
31
+
client application already installed, you can [use this webchat
32
+
interface](https://webchat.oftc.net/?channels=#https-everywhere). If you
33
+
ask a question, be sure to stay in the channel — someone may reply a few
34
+
hours or a few days later.
11
35
12
36
### Testing and contributing changes to the source code
13
37
14
-
HTTPS Everywhere consists of a large number of rules for switching sites from HTTP to HTTPS. You can read more about how to write these rules [here](https://www.eff.org/https-everywhere/rulesets).
38
+
HTTPS Everywhere consists of a large number of rules for switching sites from
39
+
HTTP to HTTPS. You can read more about how to write these rules
If you want to create new rules to submit to us, we expect them to be in the src/chrome/content/rules directory. That directory also contains a useful script, make-trivial-rule, to create a simple rule for a specified domain. There is also a script called trivial-validate.py, to check all the pending rules for several common errors and oversights. For example, if you wanted to make a rule for the example.com domain, you could run
42
+
If you want to create new rules to submit to us, we expect them to be in the
43
+
src/chrome/content/rules directory. That directory also contains a useful
44
+
script, make-trivial-rule, to create a simple rule for a specified domain.
45
+
There is also a script called trivial-validate.py, to check all the pending
46
+
rules for several common errors and oversights. For example, if you wanted to
47
+
make a rule for the example.com domain, you could run
17
48
18
49
bash ./make-trivial-rule example.com
19
50
20
-
inside the rules directory. This would create Example.com.xml, which you could then take a look at and edit based on your knowledge of any specific URLs at example.com that do or don't work in HTTPS.
51
+
inside the rules directory. This would create Example.com.xml, which you could
52
+
then take a look at and edit based on your knowledge of any specific URLs at
53
+
example.com that do or don't work in HTTPS.
21
54
22
-
Before submitting your change, you should test it in Firefox and/or Chrome, as applicable. You can build the latest version of the extension and run it in a standalone Firefox profile using:
55
+
Before submitting your change, you should test it in Firefox and/or Chrome, as
56
+
applicable. You can build the latest version of the extension and run it in a
57
+
standalone Firefox profile using:
23
58
24
59
bash ./test.sh --justrun
25
60
26
61
Similarly, to build and run in a standalone Chromium profile, run:
27
62
28
63
bash ./run-chromium.sh
29
64
30
-
You should thoroughly test your changes on the target site: Navigate to as wide a variety of pages as you can find. Try to comment or log in if applicable. Make sure everything still works properly.
65
+
You should thoroughly test your changes on the target site: Navigate to as wide
66
+
a variety of pages as you can find. Try to comment or log in if applicable.
67
+
Make sure everything still works properly.
31
68
32
69
After running your manual tests, run the automated tests and the fetch tests:
33
70
34
71
bash ./test.sh
35
72
36
73
bash ./fetch-test.sh
37
74
38
-
This will catch some of the most common types of errors, but is not a guaranteed of correctness.
75
+
This will catch some of the most common types of errors, but is not a
76
+
guaranteed of correctness.
39
77
40
-
Once you've tested your changes, you can submit them for review via any of the following:
78
+
Once you've tested your changes, you can submit them for review via any of the
79
+
following:
41
80
42
-
- Open a pull request at [https://github.com/EFForg/https-everywhere](https://github.com/EFForg/https-everywhere).
43
-
- Email https-everywhere-rules@eff.org to tell us about your changes. You can use the following command to create a patch file: `git format-patch`
* Email https-everywhere-rules@eff.org to tell us about your changes. You can
84
+
use the following command to create a patch file: `git format-patch`
44
85
45
86
### A quick HOWTO on working with Git
46
87
47
-
You may want to also look at the [Git Reference](http://gitref.org/), [GitHub Help Site](https://help.github.com/) and the [Tor Project's Git documentation](https://gitweb.torproject.org/githax.git/tree/doc/Howto.txt) to fill in the gaps here, but the below should be enough to get the basics of the workflow down.
88
+
You may want to also look at the [Git Reference](http://gitref.org/), [GitHub
89
+
Help Site](https://help.github.com/) and the [Tor Project's Git
90
+
documentation](https://gitweb.torproject.org/githax.git/tree/doc/Howto.txt) to
91
+
fill in the gaps here, but the below should be enough to get the basics of the
92
+
workflow down.
48
93
49
94
First, tell git your name:
50
95
@@ -55,25 +100,35 @@ Then, get a copy of the 'origin' repository:
Alternatively, if you already have a Github account, you can create a "fork" of the repository on Github at [https://github.com/EFForg/https-everywhere](https://github.com/EFForg/https-everywhere). See [this page](https://help.github.com/articles/fork-a-repo) for a tutorial.
103
+
Alternatively, if you already have a Github account, you can create a "fork" of
See [this page](https://help.github.com/articles/fork-a-repo) for a tutorial.
59
107
60
-
Once you have a local copy of the repository, create a new branch for your changes and check it out:
108
+
Once you have a local copy of the repository, create a new branch for your
109
+
changes and check it out:
61
110
62
111
git checkout -b my-new-rules master
63
112
64
-
When you want to send us your work, you'll need to add any new files to the index with git add:
113
+
When you want to send us your work, you'll need to add any new files to the
114
+
index with git add:
65
115
66
116
git add ./src/chrome/content/rules/MyRule1.xml
67
117
git add ./src/chrome/content/rules/MyRule2.xml
68
118
69
-
You can now commit your changes to the local branch. To make things easier, you should commit each xml file individually:
119
+
You can now commit your changes to the local branch. To make things easier, you
120
+
should commit each xml file individually:
70
121
71
122
git commit ./src/chrome/content/rules/MyRule1.xml
72
123
git commit ./src/chrome/content/rules/MyRule2.xml
73
124
74
-
Now, you need a place to publish your changes. You can create a github account here: [https://github.com/join](https://help.github.com/). [https://help.github.com/](https://help.github.com/) describes the account creation process and some other github-specific things.
125
+
Now, you need a place to publish your changes. You can create a github account
0 commit comments