浏览代码

Notes on emacs

Bob Mottram 8 年前
父节点
当前提交
af80ae257a
共有 4 个文件被更改,包括 493 次插入68 次删除
  1. 45
    0
      doc/EN/app_emacs.org
  2. 1
    0
      doc/EN/apps.org
  3. 376
    0
      website/EN/app_emacs.html
  4. 71
    68
      website/EN/apps.html

+ 45
- 0
doc/EN/app_emacs.org 查看文件

1
+#+TITLE:
2
+#+AUTHOR: Bob Mottram
3
+#+EMAIL: bob@freedombone.net
4
+#+KEYWORDS: freedombone, emacs
5
+#+DESCRIPTION: How to use Emacs
6
+#+OPTIONS: ^:nil toc:nil
7
+#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="freedombone.css" />
8
+
9
+#+BEGIN_CENTER
10
+[[file:images/logo.png]]
11
+#+END_CENTER
12
+
13
+#+BEGIN_EXPORT html
14
+<center>
15
+<h1>Emacs</h1>
16
+</center>
17
+#+END_EXPORT
18
+
19
+Emacs is a text editor popular with software developers or anyone who needs to take notes at high speed or be able to customise their editing environment to a high degree. When installed on Freedombone it can be used together the Mutt email client to edit new emails or if you need to manually edit configuration files.
20
+
21
+* Installation
22
+Log into your system with:
23
+
24
+#+begin_src bash
25
+ssh myusername@mydomain -p 2222
26
+#+end_src
27
+
28
+Using cursor keys, space bar and Enter key select *Administrator controls* and type in your password.
29
+
30
+Select *Add/Remove Apps*. If Vim is selected then you might want to unselect and uninstall it first, then select *emacs*.
31
+
32
+* Common key combinations
33
+For anyone new to Emacs some common keys are:
34
+
35
+| CTRL-x CTRL-s | Save                      |
36
+| CTRL-x CTRL-c | Exit                      |
37
+| CTRL-l        | Go to a line number       |
38
+| CTRL-x CTRL-f | Open a file               |
39
+| SHIFT-ALT-<   | Go to the top of the file |
40
+| SHIFT-ALT->   | Go to the end of the file |
41
+| SHIFT cursors | Select text               |
42
+| CTRL-x CTRL-h | Highlight all text        |
43
+| ALT-w         | Copy selected text        |
44
+| CTRL-y        | Paste selected text       |
45
+| ESC-ESC-ESC   | Undo current selection    |

+ 1
- 0
doc/EN/apps.org 查看文件

31
 * Emacs
31
 * Emacs
32
 If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.
32
 If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.
33
 
33
 
34
+[[./app_emacs.html][How to use it]]
34
 * Etherpad
35
 * Etherpad
35
 Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it.
36
 Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it.
36
 
37
 

+ 376
- 0
website/EN/app_emacs.html 查看文件

1
+<?xml version="1.0" encoding="utf-8"?>
2
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
+<head>
6
+<!-- 2016-11-14 Mon 15:14 -->
7
+<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
+<meta name="viewport" content="width=device-width, initial-scale=1" />
9
+<title></title>
10
+<meta name="generator" content="Org mode" />
11
+<meta name="author" content="Bob Mottram" />
12
+<meta name="description" content="How to use Emacs"
13
+ />
14
+<meta name="keywords" content="freedombone, emacs" />
15
+<style type="text/css">
16
+ <!--/*--><![CDATA[/*><!--*/
17
+  .title  { text-align: center;
18
+             margin-bottom: .2em; }
19
+  .subtitle { text-align: center;
20
+              font-size: medium;
21
+              font-weight: bold;
22
+              margin-top:0; }
23
+  .todo   { font-family: monospace; color: red; }
24
+  .done   { font-family: monospace; color: green; }
25
+  .priority { font-family: monospace; color: orange; }
26
+  .tag    { background-color: #eee; font-family: monospace;
27
+            padding: 2px; font-size: 80%; font-weight: normal; }
28
+  .timestamp { color: #bebebe; }
29
+  .timestamp-kwd { color: #5f9ea0; }
30
+  .org-right  { margin-left: auto; margin-right: 0px;  text-align: right; }
31
+  .org-left   { margin-left: 0px;  margin-right: auto; text-align: left; }
32
+  .org-center { margin-left: auto; margin-right: auto; text-align: center; }
33
+  .underline { text-decoration: underline; }
34
+  #postamble p, #preamble p { font-size: 90%; margin: .2em; }
35
+  p.verse { margin-left: 3%; }
36
+  pre {
37
+    border: 1px solid #ccc;
38
+    box-shadow: 3px 3px 3px #eee;
39
+    padding: 8pt;
40
+    font-family: monospace;
41
+    overflow: auto;
42
+    margin: 1.2em;
43
+  }
44
+  pre.src {
45
+    position: relative;
46
+    overflow: visible;
47
+    padding-top: 1.2em;
48
+  }
49
+  pre.src:before {
50
+    display: none;
51
+    position: absolute;
52
+    background-color: white;
53
+    top: -10px;
54
+    right: 10px;
55
+    padding: 3px;
56
+    border: 1px solid black;
57
+  }
58
+  pre.src:hover:before { display: inline;}
59
+  /* Languages per Org manual */
60
+  pre.src-asymptote:before { content: 'Asymptote'; }
61
+  pre.src-awk:before { content: 'Awk'; }
62
+  pre.src-C:before { content: 'C'; }
63
+  /* pre.src-C++ doesn't work in CSS */
64
+  pre.src-clojure:before { content: 'Clojure'; }
65
+  pre.src-css:before { content: 'CSS'; }
66
+  pre.src-D:before { content: 'D'; }
67
+  pre.src-ditaa:before { content: 'ditaa'; }
68
+  pre.src-dot:before { content: 'Graphviz'; }
69
+  pre.src-calc:before { content: 'Emacs Calc'; }
70
+  pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
71
+  pre.src-fortran:before { content: 'Fortran'; }
72
+  pre.src-gnuplot:before { content: 'gnuplot'; }
73
+  pre.src-haskell:before { content: 'Haskell'; }
74
+  pre.src-java:before { content: 'Java'; }
75
+  pre.src-js:before { content: 'Javascript'; }
76
+  pre.src-latex:before { content: 'LaTeX'; }
77
+  pre.src-ledger:before { content: 'Ledger'; }
78
+  pre.src-lisp:before { content: 'Lisp'; }
79
+  pre.src-lilypond:before { content: 'Lilypond'; }
80
+  pre.src-lua:before { content: 'Lua'; }
81
+  pre.src-matlab:before { content: 'MATLAB'; }
82
+  pre.src-mscgen:before { content: 'Mscgen'; }
83
+  pre.src-ocaml:before { content: 'Objective Caml'; }
84
+  pre.src-octave:before { content: 'Octave'; }
85
+  pre.src-org:before { content: 'Org mode'; }
86
+  pre.src-oz:before { content: 'OZ'; }
87
+  pre.src-plantuml:before { content: 'Plantuml'; }
88
+  pre.src-processing:before { content: 'Processing.js'; }
89
+  pre.src-python:before { content: 'Python'; }
90
+  pre.src-R:before { content: 'R'; }
91
+  pre.src-ruby:before { content: 'Ruby'; }
92
+  pre.src-sass:before { content: 'Sass'; }
93
+  pre.src-scheme:before { content: 'Scheme'; }
94
+  pre.src-screen:before { content: 'Gnu Screen'; }
95
+  pre.src-sed:before { content: 'Sed'; }
96
+  pre.src-sh:before { content: 'shell'; }
97
+  pre.src-sql:before { content: 'SQL'; }
98
+  pre.src-sqlite:before { content: 'SQLite'; }
99
+  /* additional languages in org.el's org-babel-load-languages alist */
100
+  pre.src-forth:before { content: 'Forth'; }
101
+  pre.src-io:before { content: 'IO'; }
102
+  pre.src-J:before { content: 'J'; }
103
+  pre.src-makefile:before { content: 'Makefile'; }
104
+  pre.src-maxima:before { content: 'Maxima'; }
105
+  pre.src-perl:before { content: 'Perl'; }
106
+  pre.src-picolisp:before { content: 'Pico Lisp'; }
107
+  pre.src-scala:before { content: 'Scala'; }
108
+  pre.src-shell:before { content: 'Shell Script'; }
109
+  pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
110
+  /* additional language identifiers per "defun org-babel-execute"
111
+       in ob-*.el */
112
+  pre.src-cpp:before  { content: 'C++'; }
113
+  pre.src-abc:before  { content: 'ABC'; }
114
+  pre.src-coq:before  { content: 'Coq'; }
115
+  pre.src-groovy:before  { content: 'Groovy'; }
116
+  /* additional language identifiers from org-babel-shell-names in
117
+     ob-shell.el: ob-shell is the only babel language using a lambda to put
118
+     the execution function name together. */
119
+  pre.src-bash:before  { content: 'bash'; }
120
+  pre.src-csh:before  { content: 'csh'; }
121
+  pre.src-ash:before  { content: 'ash'; }
122
+  pre.src-dash:before  { content: 'dash'; }
123
+  pre.src-ksh:before  { content: 'ksh'; }
124
+  pre.src-mksh:before  { content: 'mksh'; }
125
+  pre.src-posh:before  { content: 'posh'; }
126
+  /* Additional Emacs modes also supported by the LaTeX listings package */
127
+  pre.src-ada:before { content: 'Ada'; }
128
+  pre.src-asm:before { content: 'Assembler'; }
129
+  pre.src-caml:before { content: 'Caml'; }
130
+  pre.src-delphi:before { content: 'Delphi'; }
131
+  pre.src-html:before { content: 'HTML'; }
132
+  pre.src-idl:before { content: 'IDL'; }
133
+  pre.src-mercury:before { content: 'Mercury'; }
134
+  pre.src-metapost:before { content: 'MetaPost'; }
135
+  pre.src-modula-2:before { content: 'Modula-2'; }
136
+  pre.src-pascal:before { content: 'Pascal'; }
137
+  pre.src-ps:before { content: 'PostScript'; }
138
+  pre.src-prolog:before { content: 'Prolog'; }
139
+  pre.src-simula:before { content: 'Simula'; }
140
+  pre.src-tcl:before { content: 'tcl'; }
141
+  pre.src-tex:before { content: 'TeX'; }
142
+  pre.src-plain-tex:before { content: 'Plain TeX'; }
143
+  pre.src-verilog:before { content: 'Verilog'; }
144
+  pre.src-vhdl:before { content: 'VHDL'; }
145
+  pre.src-xml:before { content: 'XML'; }
146
+  pre.src-nxml:before { content: 'XML'; }
147
+  /* add a generic configuration mode; LaTeX export needs an additional
148
+     (add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
149
+  pre.src-conf:before { content: 'Configuration File'; }
150
+
151
+  table { border-collapse:collapse; }
152
+  caption.t-above { caption-side: top; }
153
+  caption.t-bottom { caption-side: bottom; }
154
+  td, th { vertical-align:top;  }
155
+  th.org-right  { text-align: center;  }
156
+  th.org-left   { text-align: center;   }
157
+  th.org-center { text-align: center; }
158
+  td.org-right  { text-align: right;  }
159
+  td.org-left   { text-align: left;   }
160
+  td.org-center { text-align: center; }
161
+  dt { font-weight: bold; }
162
+  .footpara { display: inline; }
163
+  .footdef  { margin-bottom: 1em; }
164
+  .figure { padding: 1em; }
165
+  .figure p { text-align: center; }
166
+  .inlinetask {
167
+    padding: 10px;
168
+    border: 2px solid gray;
169
+    margin: 10px;
170
+    background: #ffffcc;
171
+  }
172
+  #org-div-home-and-up
173
+   { text-align: right; font-size: 70%; white-space: nowrap; }
174
+  textarea { overflow-x: auto; }
175
+  .linenr { font-size: smaller }
176
+  .code-highlighted { background-color: #ffff00; }
177
+  .org-info-js_info-navigation { border-style: none; }
178
+  #org-info-js_console-label
179
+    { font-size: 10px; font-weight: bold; white-space: nowrap; }
180
+  .org-info-js_search-highlight
181
+    { background-color: #ffff00; color: #000000; font-weight: bold; }
182
+  .org-svg { width: 90%; }
183
+  /*]]>*/-->
184
+</style>
185
+<link rel="stylesheet" type="text/css" href="freedombone.css" />
186
+<script type="text/javascript">
187
+/*
188
+@licstart  The following is the entire license notice for the
189
+JavaScript code in this tag.
190
+
191
+Copyright (C) 2012-2013 Free Software Foundation, Inc.
192
+
193
+The JavaScript code in this tag is free software: you can
194
+redistribute it and/or modify it under the terms of the GNU
195
+General Public License (GNU GPL) as published by the Free Software
196
+Foundation, either version 3 of the License, or (at your option)
197
+any later version.  The code is distributed WITHOUT ANY WARRANTY;
198
+without even the implied warranty of MERCHANTABILITY or FITNESS
199
+FOR A PARTICULAR PURPOSE.  See the GNU GPL for more details.
200
+
201
+As additional permission under GNU GPL version 3 section 7, you
202
+may distribute non-source (e.g., minimized or compacted) forms of
203
+that code without the copy of the GNU GPL normally required by
204
+section 4, provided you include this license notice and a URL
205
+through which recipients can access the Corresponding Source.
206
+
207
+
208
+@licend  The above is the entire license notice
209
+for the JavaScript code in this tag.
210
+*/
211
+<!--/*--><![CDATA[/*><!--*/
212
+ function CodeHighlightOn(elem, id)
213
+ {
214
+   var target = document.getElementById(id);
215
+   if(null != target) {
216
+     elem.cacheClassElem = elem.className;
217
+     elem.cacheClassTarget = target.className;
218
+     target.className = "code-highlighted";
219
+     elem.className   = "code-highlighted";
220
+   }
221
+ }
222
+ function CodeHighlightOff(elem, id)
223
+ {
224
+   var target = document.getElementById(id);
225
+   if(elem.cacheClassElem)
226
+     elem.className = elem.cacheClassElem;
227
+   if(elem.cacheClassTarget)
228
+     target.className = elem.cacheClassTarget;
229
+ }
230
+/*]]>*///-->
231
+</script>
232
+</head>
233
+<body>
234
+<div id="preamble" class="status">
235
+<a name="top" id="top"></a>
236
+</div>
237
+<div id="content">
238
+<div class="org-center">
239
+
240
+<div class="figure">
241
+<p><img src="images/logo.png" alt="logo.png" />
242
+</p>
243
+</div>
244
+</div>
245
+
246
+<center>
247
+<h1>Emacs</h1>
248
+</center>
249
+
250
+<p>
251
+Emacs is a text editor popular with software developers or anyone who needs to take notes at high speed or be able to customise their editing environment to a high degree. When installed on Freedombone it can be used together the Mutt email client to edit new emails or if you need to manually edit configuration files.
252
+</p>
253
+
254
+<div id="outline-container-org034d8d7" class="outline-2">
255
+<h2 id="org034d8d7">Installation</h2>
256
+<div class="outline-text-2" id="text-org034d8d7">
257
+<p>
258
+Log into your system with:
259
+</p>
260
+
261
+<div class="org-src-container">
262
+<pre class="src src-bash">ssh myusername@mydomain -p 2222
263
+</pre>
264
+</div>
265
+
266
+<p>
267
+Using cursor keys, space bar and Enter key select <b>Administrator controls</b> and type in your password.
268
+</p>
269
+
270
+<p>
271
+Select <b>Add/Remove Apps</b>. If Vim is selected then you might want to unselect and uninstall it first, then select <b>emacs</b>.
272
+</p>
273
+</div>
274
+</div>
275
+
276
+<div id="outline-container-org21c7511" class="outline-2">
277
+<h2 id="org21c7511">Common key combinations</h2>
278
+<div class="outline-text-2" id="text-org21c7511">
279
+<p>
280
+For anyone new to Emacs some common keys are:
281
+</p>
282
+
283
+<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
284
+
285
+
286
+<colgroup>
287
+<col  class="org-left" />
288
+
289
+<col  class="org-left" />
290
+</colgroup>
291
+<tbody>
292
+<tr>
293
+<td class="org-left">CTRL-x CTRL-s</td>
294
+<td class="org-left">Save</td>
295
+</tr>
296
+
297
+<tr>
298
+<td class="org-left">CTRL-x CTRL-c</td>
299
+<td class="org-left">Exit</td>
300
+</tr>
301
+
302
+<tr>
303
+<td class="org-left">CTRL-l</td>
304
+<td class="org-left">Go to a line number</td>
305
+</tr>
306
+
307
+<tr>
308
+<td class="org-left">CTRL-x CTRL-f</td>
309
+<td class="org-left">Open a file</td>
310
+</tr>
311
+
312
+<tr>
313
+<td class="org-left">SHIFT-ALT-&lt;</td>
314
+<td class="org-left">Go to the top of the file</td>
315
+</tr>
316
+
317
+<tr>
318
+<td class="org-left">SHIFT-ALT-&gt;</td>
319
+<td class="org-left">Go to the end of the file</td>
320
+</tr>
321
+
322
+<tr>
323
+<td class="org-left">SHIFT cursors</td>
324
+<td class="org-left">Select text</td>
325
+</tr>
326
+
327
+<tr>
328
+<td class="org-left">CTRL-x CTRL-h</td>
329
+<td class="org-left">Highlight all text</td>
330
+</tr>
331
+
332
+<tr>
333
+<td class="org-left">ALT-w</td>
334
+<td class="org-left">Copy selected text</td>
335
+</tr>
336
+
337
+<tr>
338
+<td class="org-left">CTRL-y</td>
339
+<td class="org-left">Paste selected text</td>
340
+</tr>
341
+
342
+<tr>
343
+<td class="org-left">ESC-ESC-ESC</td>
344
+<td class="org-left">Undo current selection</td>
345
+</tr>
346
+</tbody>
347
+</table>
348
+</div>
349
+</div>
350
+</div>
351
+<div id="postamble" class="status">
352
+
353
+<style type="text/css">
354
+.back-to-top {
355
+    position: fixed;
356
+    bottom: 2em;
357
+    right: 0px;
358
+    text-decoration: none;
359
+    color: #000000;
360
+    background-color: rgba(235, 235, 235, 0.80);
361
+    font-size: 12px;
362
+    padding: 1em;
363
+    display: none;
364
+}
365
+
366
+.back-to-top:hover {
367
+    background-color: rgba(135, 135, 135, 0.50);
368
+}
369
+</style>
370
+
371
+<div class="back-to-top">
372
+<a href="#top">Back to top</a> | <a href="mailto:bob@freedombone.net">E-mail me</a>
373
+</div>
374
+</div>
375
+</body>
376
+</html>

+ 71
- 68
website/EN/apps.html 查看文件

3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
4
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
5
 <head>
5
 <head>
6
-<!-- 2016-11-14 Mon 14:44 -->
6
+<!-- 2016-11-14 Mon 15:15 -->
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
7
 <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
8
 <meta name="viewport" content="width=device-width, initial-scale=1" />
9
 <title></title>
9
 <title></title>
257
 </div>
257
 </div>
258
 </div>
258
 </div>
259
 
259
 
260
-<div id="outline-container-orgd0aa565" class="outline-2">
261
-<h2 id="orgd0aa565">DLNA</h2>
262
-<div class="outline-text-2" id="text-orgd0aa565">
260
+<div id="outline-container-org152b3b3" class="outline-2">
261
+<h2 id="org152b3b3">DLNA</h2>
262
+<div class="outline-text-2" id="text-org152b3b3">
263
 <p>
263
 <p>
264
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
264
 Enables you to use the system as a music server which any DLNA compatible devices can connect to within your home network.
265
 </p>
265
 </p>
269
 </p>
269
 </p>
270
 </div>
270
 </div>
271
 </div>
271
 </div>
272
-<div id="outline-container-orgecf832a" class="outline-2">
273
-<h2 id="orgecf832a">Dokuwiki</h2>
274
-<div class="outline-text-2" id="text-orgecf832a">
272
+<div id="outline-container-orgde8be05" class="outline-2">
273
+<h2 id="orgde8be05">Dokuwiki</h2>
274
+<div class="outline-text-2" id="text-orgde8be05">
275
 <p>
275
 <p>
276
 A databaseless wiki system.
276
 A databaseless wiki system.
277
 </p>
277
 </p>
281
 </p>
281
 </p>
282
 </div>
282
 </div>
283
 </div>
283
 </div>
284
-<div id="outline-container-orgfab0d83" class="outline-2">
285
-<h2 id="orgfab0d83">Emacs</h2>
286
-<div class="outline-text-2" id="text-orgfab0d83">
284
+<div id="outline-container-org78b7040" class="outline-2">
285
+<h2 id="org78b7040">Emacs</h2>
286
+<div class="outline-text-2" id="text-org78b7040">
287
 <p>
287
 <p>
288
 If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.
288
 If you use the Mutt client to read your email then this will set it up to use emacs for composing new mail.
289
 </p>
289
 </p>
290
+
291
+<p>
292
+<a href="./app_emacs.html">How to use it</a>
293
+</p>
290
 </div>
294
 </div>
291
 </div>
295
 </div>
292
-
293
-<div id="outline-container-orgb55d364" class="outline-2">
294
-<h2 id="orgb55d364">Etherpad</h2>
295
-<div class="outline-text-2" id="text-orgb55d364">
296
+<div id="outline-container-orgdab6a1a" class="outline-2">
297
+<h2 id="orgdab6a1a">Etherpad</h2>
298
+<div class="outline-text-2" id="text-orgdab6a1a">
296
 <p>
299
 <p>
297
 Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it.
300
 Collaborate on creating documents in real time. Maybe you're planning a holiday with other family members or creating documentation for a Free Software project along with other volunteers. Etherpad is hard to beat for simplicity and speed. Only users of the system will be able to access it.
298
 </p>
301
 </p>
302
 </p>
305
 </p>
303
 </div>
306
 </div>
304
 </div>
307
 </div>
305
-<div id="outline-container-org63c3d65" class="outline-2">
306
-<h2 id="org63c3d65">Ghost</h2>
307
-<div class="outline-text-2" id="text-org63c3d65">
308
+<div id="outline-container-org8de1d90" class="outline-2">
309
+<h2 id="org8de1d90">Ghost</h2>
310
+<div class="outline-text-2" id="text-org8de1d90">
308
 <p>
311
 <p>
309
 Modern looking blogging system.
312
 Modern looking blogging system.
310
 </p>
313
 </p>
311
 </div>
314
 </div>
312
 </div>
315
 </div>
313
 
316
 
314
-<div id="outline-container-org61aebd3" class="outline-2">
315
-<h2 id="org61aebd3">GNU Social</h2>
316
-<div class="outline-text-2" id="text-org61aebd3">
317
+<div id="outline-container-org19d6b08" class="outline-2">
318
+<h2 id="org19d6b08">GNU Social</h2>
319
+<div class="outline-text-2" id="text-org19d6b08">
317
 <p>
320
 <p>
318
 Federated social network. You can "<i>remote follow</i>" other users within the GNU Social federation.
321
 Federated social network. You can "<i>remote follow</i>" other users within the GNU Social federation.
319
 </p>
322
 </p>
323
 </p>
326
 </p>
324
 </div>
327
 </div>
325
 </div>
328
 </div>
326
-<div id="outline-container-orgc4ad28e" class="outline-2">
327
-<h2 id="orgc4ad28e">Gogs</h2>
328
-<div class="outline-text-2" id="text-orgc4ad28e">
329
+<div id="outline-container-orgf167e82" class="outline-2">
330
+<h2 id="orgf167e82">Gogs</h2>
331
+<div class="outline-text-2" id="text-orgf167e82">
329
 <p>
332
 <p>
330
 Lightweight git project hosting system. You can mirror projects from Github, or if Github turns evil then just host your own projects while retaining the familiar <i>fork-and-pull</i> workflow. If you can use Github then you can also use Gogs.
333
 Lightweight git project hosting system. You can mirror projects from Github, or if Github turns evil then just host your own projects while retaining the familiar <i>fork-and-pull</i> workflow. If you can use Github then you can also use Gogs.
331
 </p>
334
 </p>
335
 </p>
338
 </p>
336
 </div>
339
 </div>
337
 </div>
340
 </div>
338
-<div id="outline-container-org3d69c4e" class="outline-2">
339
-<h2 id="org3d69c4e">HTMLy</h2>
340
-<div class="outline-text-2" id="text-org3d69c4e">
341
+<div id="outline-container-org534222b" class="outline-2">
342
+<h2 id="org534222b">HTMLy</h2>
343
+<div class="outline-text-2" id="text-org534222b">
341
 <p>
344
 <p>
342
 Databaseless blogging system. Quite simple and with a markdown-like format.
345
 Databaseless blogging system. Quite simple and with a markdown-like format.
343
 </p>
346
 </p>
344
 </div>
347
 </div>
345
 </div>
348
 </div>
346
 
349
 
347
-<div id="outline-container-orgf16ecb5" class="outline-2">
348
-<h2 id="orgf16ecb5">Hubzilla</h2>
349
-<div class="outline-text-2" id="text-orgf16ecb5">
350
+<div id="outline-container-org174b091" class="outline-2">
351
+<h2 id="org174b091">Hubzilla</h2>
352
+<div class="outline-text-2" id="text-org174b091">
350
 <p>
353
 <p>
351
 Web publishing platform with social network like features and good privacy controls so that it's possible to specify who can see which content. Includes photo albums, calendar, wiki and file storage.
354
 Web publishing platform with social network like features and good privacy controls so that it's possible to specify who can see which content. Includes photo albums, calendar, wiki and file storage.
352
 </p>
355
 </p>
356
 </p>
359
 </p>
357
 </div>
360
 </div>
358
 </div>
361
 </div>
359
-<div id="outline-container-org4d2ee61" class="outline-2">
360
-<h2 id="org4d2ee61">IRC Server (ngirc)</h2>
361
-<div class="outline-text-2" id="text-org4d2ee61">
362
+<div id="outline-container-orgb92a0d7" class="outline-2">
363
+<h2 id="orgb92a0d7">IRC Server (ngirc)</h2>
364
+<div class="outline-text-2" id="text-orgb92a0d7">
362
 <p>
365
 <p>
363
 Run your own IRC chat channel which can be secured with a password and accessible via an onion address. A bouncer is included so that you can receive messages sent while you were offline. Works with Hexchat and other popular clients.
366
 Run your own IRC chat channel which can be secured with a password and accessible via an onion address. A bouncer is included so that you can receive messages sent while you were offline. Works with Hexchat and other popular clients.
364
 </p>
367
 </p>
368
 </p>
371
 </p>
369
 </div>
372
 </div>
370
 </div>
373
 </div>
371
-<div id="outline-container-org432e8cb" class="outline-2">
372
-<h2 id="org432e8cb">Jitsi Meet</h2>
373
-<div class="outline-text-2" id="text-org432e8cb">
374
+<div id="outline-container-org9c4c9ac" class="outline-2">
375
+<h2 id="org9c4c9ac">Jitsi Meet</h2>
376
+<div class="outline-text-2" id="text-org9c4c9ac">
374
 <p>
377
 <p>
375
 Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future.
378
 Experimental WebRTC video conferencing system, similar to Google Hangouts. This may not be fully functional, but is hoped to be in the near future.
376
 </p>
379
 </p>
377
 </div>
380
 </div>
378
 </div>
381
 </div>
379
 
382
 
380
-<div id="outline-container-org1047b5f" class="outline-2">
381
-<h2 id="org1047b5f">Lychee</h2>
382
-<div class="outline-text-2" id="text-org1047b5f">
383
+<div id="outline-container-orge5266cb" class="outline-2">
384
+<h2 id="orge5266cb">Lychee</h2>
385
+<div class="outline-text-2" id="text-orge5266cb">
383
 <p>
386
 <p>
384
 Make your photo albums available on the web.
387
 Make your photo albums available on the web.
385
 </p>
388
 </p>
386
 </div>
389
 </div>
387
 </div>
390
 </div>
388
 
391
 
389
-<div id="outline-container-org5c41d4c" class="outline-2">
390
-<h2 id="org5c41d4c">Mailpile</h2>
391
-<div class="outline-text-2" id="text-org5c41d4c">
392
+<div id="outline-container-orge666f5d" class="outline-2">
393
+<h2 id="orge666f5d">Mailpile</h2>
394
+<div class="outline-text-2" id="text-orge666f5d">
392
 <p>
395
 <p>
393
 Modern email client which supports GPG encryption.
396
 Modern email client which supports GPG encryption.
394
 </p>
397
 </p>
398
 </p>
401
 </p>
399
 </div>
402
 </div>
400
 </div>
403
 </div>
401
-<div id="outline-container-org221969e" class="outline-2">
402
-<h2 id="org221969e">Mumble</h2>
403
-<div class="outline-text-2" id="text-org221969e">
404
+<div id="outline-container-orgcee8b19" class="outline-2">
405
+<h2 id="orgcee8b19">Mumble</h2>
406
+<div class="outline-text-2" id="text-orgcee8b19">
404
 <p>
407
 <p>
405
 The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile.
408
 The popular VoIP and text chat system. Say goodbye to old-fashioned telephony conferences with silly dial codes. Also works well on mobile.
406
 </p>
409
 </p>
410
 </p>
413
 </p>
411
 </div>
414
 </div>
412
 </div>
415
 </div>
413
-<div id="outline-container-org1b69edd" class="outline-2">
414
-<h2 id="org1b69edd">PI-Hole</h2>
415
-<div class="outline-text-2" id="text-org1b69edd">
416
+<div id="outline-container-orgcc106ce" class="outline-2">
417
+<h2 id="orgcc106ce">PI-Hole</h2>
418
+<div class="outline-text-2" id="text-orgcc106ce">
416
 <p>
419
 <p>
417
 The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware.
420
 The black hole for web adverts. Block adverts at the domain name level within your local network. It can significantly reduce bandwidth, speed up page load times and protect your systems from being tracked by spyware.
418
 </p>
421
 </p>
422
 </p>
425
 </p>
423
 </div>
426
 </div>
424
 </div>
427
 </div>
425
-<div id="outline-container-orgd048719" class="outline-2">
426
-<h2 id="orgd048719">PostActiv</h2>
427
-<div class="outline-text-2" id="text-orgd048719">
428
+<div id="outline-container-orge73b054" class="outline-2">
429
+<h2 id="orge73b054">PostActiv</h2>
430
+<div class="outline-text-2" id="text-orge73b054">
428
 <p>
431
 <p>
429
 An alternative federated social networking system compatible with GNU Social. It includes some optimisations and fixes currently not available within the main GNU Social project.
432
 An alternative federated social networking system compatible with GNU Social. It includes some optimisations and fixes currently not available within the main GNU Social project.
430
 </p>
433
 </p>
431
 </div>
434
 </div>
432
 </div>
435
 </div>
433
 
436
 
434
-<div id="outline-container-orgae34b71" class="outline-2">
435
-<h2 id="orgae34b71">Radicale</h2>
436
-<div class="outline-text-2" id="text-orgae34b71">
437
+<div id="outline-container-orgfe63e5e" class="outline-2">
438
+<h2 id="orgfe63e5e">Radicale</h2>
439
+<div class="outline-text-2" id="text-orgfe63e5e">
437
 <p>
440
 <p>
438
 Calendar system compatible with CalDAV and CardDAV. Manage your calendar events easily across all your devices.
441
 Calendar system compatible with CalDAV and CardDAV. Manage your calendar events easily across all your devices.
439
 </p>
442
 </p>
440
 </div>
443
 </div>
441
 </div>
444
 </div>
442
 
445
 
443
-<div id="outline-container-org1b3357d" class="outline-2">
444
-<h2 id="org1b3357d">tt-rss</h2>
445
-<div class="outline-text-2" id="text-org1b3357d">
446
+<div id="outline-container-org7fdbdf3" class="outline-2">
447
+<h2 id="org7fdbdf3">tt-rss</h2>
448
+<div class="outline-text-2" id="text-org7fdbdf3">
446
 <p>
449
 <p>
447
 Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via an onion address. Have "<i>the right to read</i>" without the Surveillance State knowing what you're reading. Also available with a user interface suitable for viewing on mobile devices via a browser such as OrFox.
450
 Private RSS reader. Pulls in RSS/Atom feeds via Tor and is only accessible via an onion address. Have "<i>the right to read</i>" without the Surveillance State knowing what you're reading. Also available with a user interface suitable for viewing on mobile devices via a browser such as OrFox.
448
 </p>
451
 </p>
452
 </p>
455
 </p>
453
 </div>
456
 </div>
454
 </div>
457
 </div>
455
-<div id="outline-container-org4d37ad9" class="outline-2">
456
-<h2 id="org4d37ad9">Syncthing</h2>
457
-<div class="outline-text-2" id="text-org4d37ad9">
458
+<div id="outline-container-orgb0c4606" class="outline-2">
459
+<h2 id="orgb0c4606">Syncthing</h2>
460
+<div class="outline-text-2" id="text-orgb0c4606">
458
 <p>
461
 <p>
459
 Possibly the best way to synchronise files across all of your devices. Once it has been set up it "just works" with no user intervention needed.
462
 Possibly the best way to synchronise files across all of your devices. Once it has been set up it "just works" with no user intervention needed.
460
 </p>
463
 </p>
464
 </p>
467
 </p>
465
 </div>
468
 </div>
466
 </div>
469
 </div>
467
-<div id="outline-container-orgc8c5f1a" class="outline-2">
468
-<h2 id="orgc8c5f1a">Tox</h2>
469
-<div class="outline-text-2" id="text-orgc8c5f1a">
470
+<div id="outline-container-orgb4cbf9f" class="outline-2">
471
+<h2 id="orgb4cbf9f">Tox</h2>
472
+<div class="outline-text-2" id="text-orgb4cbf9f">
470
 <p>
473
 <p>
471
 Client and bootstrap node for the Tox chat/VoIP system.
474
 Client and bootstrap node for the Tox chat/VoIP system.
472
 </p>
475
 </p>
476
 </p>
479
 </p>
477
 </div>
480
 </div>
478
 </div>
481
 </div>
479
-<div id="outline-container-org339ace5" class="outline-2">
480
-<h2 id="org339ace5">Vim</h2>
481
-<div class="outline-text-2" id="text-org339ace5">
482
+<div id="outline-container-org8a14122" class="outline-2">
483
+<h2 id="org8a14122">Vim</h2>
484
+<div class="outline-text-2" id="text-org8a14122">
482
 <p>
485
 <p>
483
 If you use the Mutt client to read your email then this will set it up to use vim for composing new mail.
486
 If you use the Mutt client to read your email then this will set it up to use vim for composing new mail.
484
 </p>
487
 </p>
485
 </div>
488
 </div>
486
 </div>
489
 </div>
487
 
490
 
488
-<div id="outline-container-org4587b35" class="outline-2">
489
-<h2 id="org4587b35">XMPP</h2>
490
-<div class="outline-text-2" id="text-org4587b35">
491
+<div id="outline-container-org3d5d32d" class="outline-2">
492
+<h2 id="org3d5d32d">XMPP</h2>
493
+<div class="outline-text-2" id="text-org3d5d32d">
491
 <p>
494
 <p>
492
 Chat server which can be used together with client such as Gajim or Conversations to provide end-to-end content security and also onion routed metadata security. Includes advanced features such as <i>client state notification</i> to save battery power on your mobile devices, support for seamless roaming between networks and <i>message carbons</i> so that you can receive the same messages while being simultaneously logged in to your account on more than one device.
495
 Chat server which can be used together with client such as Gajim or Conversations to provide end-to-end content security and also onion routed metadata security. Includes advanced features such as <i>client state notification</i> to save battery power on your mobile devices, support for seamless roaming between networks and <i>message carbons</i> so that you can receive the same messages while being simultaneously logged in to your account on more than one device.
493
 </p>
496
 </p>