summaryrefslogtreecommitdiff
path: root/support/lug/lug.html
blob: e3c8a3710080185b023cc6368c19394dbb177e37 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<!DOCTYPE html>
<html Lang="en">
<head>
  <meta name="generator" content="gendoc" />
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  <title>lug documentation</title>
  <style media="screen">
    tr { vertical-align:baseline; }
    p { margin-top:10px; }
    * { padding: 0; margin: 0; }
    body {
      font-family:Fontin,serif;
      font-size:small;
     color:#444;
      margin-left: 30px;
      max-width: 40em;
    }
    .top {
      margin-top:10px;
      margin-bottom:5px;
    }
    .bot {
      margin-top:10px;
      margin-bottom:0px;
    }
    h1 {
      font-size: 120%;
      color:#a00;
      text-shadow: rgba(135,145,135,0.65) 3px 3px 4px;
      margin-top: 30px;
      padding-bottom: 0.4em;
    }
    h4 {
      margin-top:15px;
      margin-bottom:0px;
    }
    :link,
    :visited {
      color: #aa0000;
      text-decoration: none;
    }
    :link:hover,
    :visited:hover {
      border-bottom: 1px dotted #6C8C22;
    }
    ul { list-style-type: circle; }
    li { margin-left: 1.5em; }
    pre,code {
      font-family:monospace;
      font-size: medium;
      color: #023aaa;
    }
    td { padding-right: 1em; }
    .red { color:#f00; }
    .green { color:#0f0; }
    .blue { color:#00f; }
    .big {
      font-size:xx-large;
      font-weight:900;
      color:#a00; 
      text-shadow: rgba(135,145,135,0.65) 3px 3px 4px;
      padding-right: .4em;
    }
    .kop {
      font-size:large;
      font-weight:900;
      color:#a00;
      text-shadow: rgba(135,145,135,0.65) 3px 3px 4px;
    }
    .left {
       font-size:xx-small;
       font-family:sans-serif;
       margin-top:0px;
       float: left;
       width: 53%;
    }
    .right {
       font-size:xx-small;
       font-family:sans-serif;
       text-align:right;
       margin-top:0px;
       float: right;
       width: 45%;
    }
    img { vertical-align:top; }
    h1.sub { color:#770; margin-top:2px; }
    </style>
    </head>
    <body class="file">
    <div>
<hr class="top"/>
<span class="big">lug</span>
<span class="kop">manage TeX Local User Group web pages</span>
<hr class="bot"/>
<div class="left">doc generated from the script with <a href="http://www.dekkerdocumenten.nl/unix/doc/gendoc.html">gendoc</a></div>
<div class="right">bash script, version=3.00</div><div><br/>
<p>
<h1>Synopsis</h1>
<b><a href="../lug">lug</a></b> [options] [lug-code] <p>
<h4>Options</h4>
<table><tr><td><pre>-h,--help</pre></td><td>print short help and exit</td></tr><tr><td><pre>-H,--Help</pre></td><td>print full documentation via less and exit</td></tr><tr><td><pre>-V,--version</pre></td><td>print version and exit</td></tr><tr><td><pre>-c,--clean</pre></td><td>remove all files that can be re-created</td></tr><tr><td><pre>-f,--full</pre></td><td>re-create all files</td></tr><tr><td><pre>-s,--sync[=STR]</pre></td><td>synchronize the <b><a href="../lug">lug</a></b> page at <code>www.ntg.nl/STR</code></td></tr><tr><td></td><td>with the current directory; the default for <code>STR</code> is <code>lug</code></td></tr></table><p>
<h1>Description</h1>
<b><a href="../lug">lug</a></b> can be used to to (re-)create the web pages of the LUG database. This script must be executed in its own directory. After the script has been executed, this directory will contain the web site for the [Electronic LUG Database](www.ntg.nl/lug). <p>
If you run <b><a href="../lug">lug</a></b> for the first time, do so in a directory containging the script only; it wil then create all needed files and directories in it. <p>
Recreate all files: <p>
<pre>    $ lug --full
</pre>
<p>
Apply corrections sent by email: <p>
<pre>    $ lug
    &lt; paste the email contents to standard input &gt;
    ^D
</pre>
<p>
When people send new data by using the forms of the site, they do so by submitting the form, which causes an email with raw data to be sent to the administrator(s). <p>
An administrator should verify the password reported in the email and then cd to this directory, or to a copy of it on his own computer, and he should then run: <p>
<pre>    $ ./lug
</pre>
<p>
<b><a href="../lug">lug</a></b> waits for data, which it can be given by cut (from the email) and paste (to standard input). By ending the input with <code>^D</code>, <b><a href="../lug">lug</a></b> corrects the data in the directory `lugs' <p>
It is of course also possible to save the contents of the email into a file and then run: <p>
<pre>    $ ./lug &lt;file
</pre>
<p>
The administrator can make small correction to one country by giving the necessary input on the command line. For example, to change the email address of the treasurer of The Netherlands he can run: <p>
<pre>    $ ./lug
    code=nl
    femail=treasurer@ntg.nl
    ^D
</pre>
<p>
Synchronize the website (<code>www.ntg.nl/lug</code>) with the current directory: <p>
<pre>    $ ./lug --sync
</pre>
<p>
Of course, this action makes no sense if you are operating in the web directory itself. <p>
Or, for testing purposes, synchronize <code>www.ntg.nl/lugtest</code>: <p>
<pre>    $ ./lug --sync=lugtest
</pre>
<p>
or, shorter: <p>
<pre>    $ ./lug -slugtest
</pre>
<p>
Remove everything that can be regenerated: <p>
<pre>    $ ./lug --clean
</pre>
<p>
This stores any changes made in the <code>README.md</code> file, the <code>lugs.rb</code> script, and the <code>images</code> en <code>lugs</code> directories in the script. After this operation only the script will be there, and you can simply restore everything by running it with the <code>--full</code> option. <p>
Regenerate everything: <pre>    $ ./lug --full
</pre>
<p>
<h1>Author</h1>
<a href="mailto:wybo@ntg.nl">Wybo Dekker</a> <p>
<h1>Copyright</h1>
Released under the <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License</a> <h1>Functions used:</h1><hr/><h1 class="sub">excheck</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>excheck executable1 [executable2...]</pre>
</td></tr><tr><td><pre>description:</pre></td><td>check if all needed execs are there and getopt is GNU</td></tr></table><hr/><h1 class="sub">syncwww</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>syncwww [dir]</pre>
</td></tr><tr><td><pre>description:</pre></td><td>synchronize web page (<code>lug</code> by default) with current dir</td></tr><tr><td><pre>globals user:</pre></td><td><pre>webdir</pre>
</td></tr></table><hr/><h1 class="sub">handle_options</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>handle_options "$@"</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Handle the options</td></tr><tr><td><pre>globals used:</pre></td><td><pre>Myname Version webdir</pre>
</td></tr></table><hr/><h1 class="sub">setkeys</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>country_codea ;-replacement &amp;-replacement</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Set the <code>keys</code> hash to the values taken from the file <code>lugs/$1</code>.</td></tr><tr><td><pre>globals  set:</pre></td><td><pre>keys</pre>
</td></tr></table><hr/><h1 class="sub">clean</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>clean</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Remove files created but not needed for the web site or for</td></tr><tr><td></td><td><b><a href="../lug">lug</a></b> functioning.</td></tr></table><hr/><h1 class="sub">Clean</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>Clean</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Remove all files that can be re-created and store them back in lug.</td></tr></table><hr/><h1 class="sub">makeMakefile</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>makeMakefile</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Create the file <code>Makefile</code></td></tr><tr><td><pre>globals used:</pre></td><td><pre>db</pre>
</td></tr></table><hr/><h1 class="sub">makelinks.inc</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>makelinks.inc</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Create the file <code>links.inc</code></td></tr></table><hr/><h1 class="sub">makexx.html</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>makexx country_code</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Create the file <code>lugs/$1</code></td></tr><tr><td><pre>globals  set:</pre></td><td>(<i>via</i> setkeys): <code>keys</code></td></tr><tr><td><pre>globals used:</pre></td><td><pre>db keys adminemail</pre>
</td></tr></table><hr/><h1 class="sub">makeindex.html</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>makeindex.html</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Create the file <code>index.html</code></td></tr><tr><td><pre>globals used:</pre></td><td><pre>db fullname adminemail</pre>
</td></tr></table><hr/><h1 class="sub">makelugs.html</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>makelugs.html</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Create the file <code>lugs.html</code></td></tr><tr><td><pre>globals  set:</pre></td><td>(<i>via</i> setkeys) <code>keys</code></td></tr><tr><td><pre>globals used:</pre></td><td><pre>db keys fullname</pre>
</td></tr></table><hr/><h1 class="sub">urlit</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>urlit string</pre>
</td></tr><tr><td><pre>description:</pre></td><td>if argument is not empty, print it surrounded with <code>\url{...}</code>,</td></tr></table><hr/><h1 class="sub">stackit</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>stackit string</pre>
</td></tr><tr><td><pre>description:</pre></td><td>if argument is empty, print newline,</td></tr><tr><td></td><td>if not, replace semicolons with double backslashes and print it surrounded with <code>\Longunderstack[l]{...}\strut</code></td></tr></table><hr/><h1 class="sub">makelugs.pdf</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>makelugs.pdf</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Create the files <code>lugs.tex</code> and <code>lugs.pdf</code></td></tr><tr><td><pre>globals  set:</pre></td><td>(<i>via</i> setkeys) <code>keys</code></td></tr><tr><td><pre>globals used:</pre></td><td><pre>keys db fullname</pre>
</td></tr></table><hr/><h1 class="sub">makelabels.pdf</h1>
<table><tr><td><pre>synopsis:</pre></td><td><pre>makelabels.pdf</pre>
</td></tr><tr><td><pre>description:</pre></td><td>Create the files <code>labels.tex</code> and <code>labels.pdf</code></td></tr><tr><td><pre>globals  set:</pre></td><td>(<i>via</i> setkeys) <code>keys</code></td></tr><tr><td><pre>globals used:</pre></td><td><pre>keys db</pre>
</td></tr></table><hr/><h1 class="sub">fullname (hash)</h1>
Links the country codes to the full name of countries. Also used to test the validity of country codes. </div></div></body></html>