viewworkbook 0.3 → 1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4943afe2b6aa8ae15fbe68bd2fa19a7414db859dbaf929bba1a1edcbea1ebf6
4
- data.tar.gz: ce9062cfe21a227155394e571061a346ca789c9412dd4da9e6e20d78a0aac150
3
+ metadata.gz: f97f7f1cdd935098d172c91768b0fccce10145b0a698aedaafc31d0088049352
4
+ data.tar.gz: cdbf537eafafafd3a526d1b153ad359d9de56495a76e78e1be4f72b068964501
5
5
  SHA512:
6
- metadata.gz: 7a09911027db613cbf2b9e2a5d411164a9e45a2197d4420558e3ff646f41f14c78f07b054d1789efebb3ea3fc51c1930857c584bf8ab4bf6de23605d4c713335
7
- data.tar.gz: 1ca1daf23662c17da9824a8751a5b47e7687f51bbdcc2d2df7ff3a3beb33a4a4d602b372117e34379e590f1ff8c727ae6086d88bb26672e0c2770249e41c9979
6
+ metadata.gz: 28b217697527fa170a61f94069ad9ccd6d18fbab3ce2c4e6866340bc88a32d9f48a0fd8311e0d7f77db36fe0d99144fbeab1f8662cc9a115982f572a6287a2c1
7
+ data.tar.gz: 0f9da7243c3c2ed63e6222cc6d5294ae09c86819b598d1d51031ef1530a15ed1e67fe1a6d188a019a75df1253f0303bb2db14f60a469489c796c93bc8aec93c9
data/bin/viewworkbook CHANGED
@@ -25,9 +25,19 @@ BasicLogging::set_level BasicLogging::INFO
25
25
  # BasicLogging::set_target "/tmp/viewworkbook.log"
26
26
  # BasicLogging::set_level BasicLogging::DEBUG
27
27
 
28
+ def usage
29
+ msg = '' << 'Usage: '
30
+ msg << yellow("\n\tviewworkbook [file]")
31
+ msg << "\n\tWhere \"file\" is a spreadsheet file."
32
+ puts msg
33
+ end
34
+
28
35
  if(ARGV.compact.empty?)
29
36
  puts purple("\n\tYou must name a valid spreadsheet file! Aborting\n")
37
+ usage
30
38
  puts
31
39
  exit false
32
40
  end
33
41
  ViewWorkBook.new(ARGV[0])
42
+
43
+
@@ -1,233 +1,377 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
2
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
3
  <head>
5
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <meta name="generator" content="Docutils 0.21.2: https://docutils.sourceforge.io/" />
7
- <title>Viewworkbook</title>
8
- <style type="text/css">
9
-
10
- /*
11
- :Author: Michael Uplawski
12
- :Contact: michael.uplawski@uplawski.eu
13
- :License: WTFPL 2.0, see http://www.wtfpl.net/about/
14
-
15
- Stylesheet for use with Docutils.
16
- */
17
-
18
- /* The defaults for docutils */
19
- @import url(html4css1.css);
20
-
21
- body {
22
- background-color:#300020;
23
- font-family: Verdana,Helvetica,Univers;
24
- color:#f0f0f0;
25
- color:#f0f0f0;
26
- }
27
-
28
- h1 {color:cyan;font-size:1.5em;}
29
- h1.title {color:#a0a0f0;font-size:2em;}
30
- h2 {color:#ffffa0;}
31
-
32
- p, ul.simple, ol.simple, dt {margin-left:2em;}
33
- p.first {font-weight:bold;}
34
- dd {margin-left:4em;}
35
- td {color:#f0f080;}
36
-
37
- /* correct left margin of nested block tags*/
38
- dd {}
39
- dd p, li p {margin-left:0;}
40
- dd * ul {margin-left:0 ! important; }
41
- dd ul {margin-left:0 ! important; }
42
- dd dl dt, dd dl dd {margin-left:0 ! important;}
43
- dt {font-weight:bold;}
44
- dt, dd {color:#f0f0f0}
45
-
46
- tt.docutils {color:#000080;
47
- background-color:#a080a0;
48
- padding-left:3px;
49
- padding-right:3px;
50
- white-space:nowrap;
51
- }
52
-
53
- a.external {color:#ff90ff;}
54
-
55
- blockquote {background-color:#400020;
56
- padding:0.5em;
57
- border-radius:1em;
58
- border-style:dotted;
59
- border-width:0.5pt;
60
- }
61
-
62
-
63
- </style>
4
+ <meta name="generator" content="vim - Vi Improved, a programmer's editor; HTML Tidy for Linux version 5.9.20
5
+ "/>
6
+ <meta charset="utf-8" />
7
+ <link rel="preload" as="font" crossorigin="" href=
8
+ "https://www.uplawski.eu/fonts/Classica/Classica-Book.ttf" type=
9
+ "font/ttf" />
10
+ <link rel="preload" as="font" crossorigin="" href=
11
+ "https://www.uplawski.eu/fonts/Classica/Classica-Bold.ttf" type=
12
+ "font/ttf" />
13
+ <link rel="preload" as="font" crossorigin="" href=
14
+ "https://www.uplawski.eu/fonts/Classica/Classica-BookOblique.ttf"
15
+ type="font/ttf" />
16
+ <link rel="preload" as="font" crossorigin="" href=
17
+ "https://www.uplawski.eu/fonts/Fertigo_PRO.otf" type=
18
+ "font/otf" />
19
+ <link rel="icon" type="/image/x-icon" href=
20
+ "images/favicon_Schreibfeder.ico" />
21
+ <meta name="viewport" content=
22
+ "width=device-width, initial-scale=1" />
23
+ <title>Viewworkbook</title>
24
+ <link rel="stylesheet" href="../html/viewworkbook.css" type=
25
+ "text/css" />
26
+ <link rel="stylesheet" href="../html/fonts.css" type=
27
+ "text/css" />
64
28
  </head>
65
29
  <body>
66
- <div class="document" id="viewworkbook">
67
- <h1 class="title">Viewworkbook</h1>
68
- <h2 class="subtitle" id="view-spreadsheet-files-in-a-terminal-window">view spreadsheet files in a terminal window</h2>
69
-
70
- <div class="section" id="synopsis">
71
- <h1>SYNOPSIS</h1>
72
- <p>viewworkbook &lt;spreadsheet&gt;</p>
73
- </div>
74
- <div class="section" id="description">
75
- <h1>DESCRIPTION</h1>
76
- <p>ViewWorkbook allows you to read spreadsheet files in text mode in a terminal
77
- window. It reproduces the tables contained in a spreadsheet file and It also
78
- lets you navigate through the sheets. The visible part of a sheet is limited
79
- laterally and horizontally by the size of the terminal, but you can scroll
80
- through it. You can adapt the width of table columns to make the table more
81
- readable. Finally, you can save tables to a text file if you wish. For the
82
- author of the program, the utility serves to quickly glance at spreadsheets
83
- that are received via email in the Mutt mail client, which is a terminal
84
- application.</p>
85
- <p>Supported spreadsheet formats are those handled by the Ruby gem &quot;<strong>roo</strong>&quot;
86
- (2024, roo 2.10.1):</p>
87
- <ul class="simple">
88
- <li>Microsoft™ Excel 2007 - 2013 formats (<strong>xlsx</strong>, <strong>xlsm</strong>)</li>
89
- <li>LibreOffice / OpenOffice.org formats (<strong>ods</strong>)</li>
90
- <li>CSV</li>
91
- <li>Microsoft™ Excel 97, Excel 2002 XML, and Excel 2003 XML formats (<strong>xls</strong>,
92
- <strong>xml</strong>)</li>
93
- </ul>
94
- <p>Additionally also</p>
95
- <ul class="simple">
96
- <li>The SoftMaker™ spreadsheet formats <strong>pmd</strong> and <strong>pmdx</strong>.</li>
97
- </ul>
98
- </div>
99
- <div class="section" id="options">
100
- <h1>Options</h1>
101
- <p>Other than the path to the spreadsheet file, viewworkbook does not currently
102
- interpret any command line arguments.</p>
103
- <div class="section" id="menu-commands">
104
- <h2>Menu commands</h2>
105
- <p>A list of commands and their associated hotkeys (in parenthesis) is shown
106
- below the current table:</p>
107
- <table border="1" class="docutils">
108
- <colgroup>
109
- <col width="3%" />
110
- <col width="14%" />
111
- <col width="14%" />
112
- <col width="14%" />
113
- <col width="14%" />
114
- <col width="14%" />
115
- <col width="14%" />
116
- <col width="14%" />
117
- </colgroup>
118
- <thead valign="bottom">
119
- <tr><th class="head">11</th>
120
- <th class="head">12.2</th>
121
- <th class="head">July</th>
122
- <th class="head">34000</th>
123
- <th class="head">5%</th>
124
- <th class="head">prior</th>
125
- <th class="head">1957</th>
126
- <th class="head">true</th>
127
- </tr>
128
- <tr><th class="head">12</th>
129
- <th class="head">2.33</th>
130
- <th class="head">July</th>
131
- <th class="head">1234</th>
132
- <th class="head">12.2%</th>
133
- <th class="head">prior</th>
134
- <th class="head">1966</th>
135
- <th class="head">true</th>
136
- </tr>
137
- <tr><th class="head">13</th>
138
- <th class="head">50.0</th>
139
- <th class="head">August</th>
140
- <th class="head">334566</th>
141
- <th class="head">12%</th>
142
- <th class="head">in</th>
143
- <th class="head">1966</th>
144
- <th class="head">false</th>
145
- </tr>
146
- </thead>
147
- <tbody valign="top">
148
- <tr><td>&nbsp;</td>
149
- <td>A</td>
150
- <td>B</td>
151
- <td>C</td>
152
- <td>D</td>
153
- <td>E</td>
154
- <td>F</td>
155
- <td>G</td>
156
- </tr>
157
- </tbody>
158
- </table>
159
- <p><strong>value (v) * save to file (f) * sheet (s) * column (c) * up(i) * down(k) * left(j) * right(l) * quit (q) *</strong></p>
160
- <p>When you press one of the hotkeys, you can execute a command directly (like &quot;q&quot;
161
- to terminate the program) or a submenu may appear (like with &quot;c&quot; which gives
162
- you control over column properties) or you may be prompted for input (like with
163
- &quot;v&quot;, where you have to enter a cell reference). Read on for an explanation of
164
- each menu command.</p>
165
- <blockquote>
166
- <dl class="docutils">
167
- <dt>value (v)</dt>
168
- <dd>display the value from a cell. This is useful, when columns are not wide
169
- enough to show the full value. After entering &quot;<strong>v</strong>&quot;, you are
170
- immediately invited to enter a cell reference. Cells are referenced in
171
- the format &quot;column:row&quot;, e.g. D:12 for the cell in column &quot;D&quot; and row
172
- &quot;12&quot;.</dd>
173
- <dt>save to file (f)</dt>
174
- <dd>Save the current table or all tables to a text file. Initially, the command
175
- shows two alternative sub-commands:</dd>
176
- <dt>Current sheet (c) * all sheets (a)</dt>
177
- <dd>Regardless of your choice, you will be prompted to enter the output file
178
- path in the next step. You will receive a warning, if the file already
179
- exists at which point you can choose to either overwrite the existing file
180
- or give it a different name.</dd>
181
- <dt>sheet (s)</dt>
182
- <dd>Navigate to a different sheet whthin the current workbook. You can choose
183
- a sheet by its number or by its name. If you want to select the next sheet
184
- <strong>by name</strong>, a list of available names will first be shown. You just type
185
- the name you want.</dd>
186
- <dt>column (c)</dt>
187
- <dd>Alter the properties of the table columns. As of February 2017 the only
188
- property that can be changed, is the width of all columns. When you enter
189
- &quot;<strong>c</strong>&quot; the subcommand column width (w) is shown. After entering &quot;<strong>w</strong>&quot;
190
- you can enter the desired width in characters.</dd>
191
- <dt>Arrows(i, j, k, l)</dt>
192
- <dd>Use these hotkeys to navigate a sheet that is too big to be displayed
193
- entirely at once. These hotkeys correspond to the default navigation keys
194
- in the Vi editor.</dd>
195
- <dt>quit (q)</dt>
196
- <dd>Enter &quot;<strong>q</strong>&quot; to quit the program at any moment except when an input
197
- invitation is shown.</dd>
198
- </dl>
199
- </blockquote>
200
- </div>
201
- <div class="section" id="hidden-menu-commands">
202
- <h2>Hidden menu commands</h2>
203
- <p>Currently, there is only one such command available. Pressing the <strong>Escape
204
- key</strong> will interrupt an unfinished action and refresh the display.</p>
205
- </div>
206
- </div>
207
- <div class="section" id="other-information">
208
- <h1>Other Information</h1>
209
- <blockquote>
210
- <dl class="docutils">
211
- <dt>Development and source code</dt>
212
- <dd>Viewworkbook has been written in Ruby. Since Ruby is an interpreted programming
213
- language, the executable file and all files to which it refers at any given time
214
- are the source files of the current program version. You can open these
215
- files in any text editor to examine the source code. If you have received
216
- the program as a Ruby-gem, you can also decompress a copy of the gem-file
217
- with <strong>tar -x</strong>, then <strong>tar -xzf</strong>.</dd>
218
- <dt>Bugs</dt>
219
- <dd>Negative values are not always displayed, when they are very long (like 15
220
- ciphers). Increasing the column width further does not help.</dd>
221
- <dt>License</dt>
222
- <dd>Viewworkbook is distributed under the conditions of the WTFPL 2.0 or later,
223
- see <a class="reference external" href="http://www.wtfpl.net/about/">http://www.wtfpl.net/about/</a> for details</dd>
224
- <dt>Author</dt>
225
- <dd>Viewworkbook has been developed by Michael Uplawski
226
- &lt;<a class="reference external" href="mailto:michael.uplawski&#64;uplawski.eu">michael.uplawski&#64;uplawski.eu</a>&gt;</dd>
227
- </dl>
228
- </blockquote>
229
- <p><strong>Ω</strong></p>
230
- </div>
231
- </div>
30
+ <main id="viewworkbook">
31
+ <h1 class="title">Viewworkbook</h1>
32
+
33
+ <p class="subtitle" id=
34
+ "view-spreadsheet-files-in-a-terminal-window">view spreadsheet
35
+ files in a terminal window</p>
36
+
37
+ <section id="synopsis">
38
+ <h2>SYNOPSIS</h2>
39
+
40
+ <p>viewworkbook &lt;spreadsheet&gt;</p>
41
+ </section>
42
+
43
+ <section id="description">
44
+ <h2>DESCRIPTION</h2>
45
+
46
+ <p>ViewWorkbook allows you to read spreadsheet files in text
47
+ mode in a terminal window. It reproduces the tables contained
48
+ in a spreadsheet file and It also lets you navigate through
49
+ the sheets. The visible part of a sheet is limited laterally
50
+ and horizontally by the size of the terminal, but you can
51
+ scroll through it. You can adapt the width of table columns
52
+ to make the table more readable. Finally, you can save tables
53
+ to a text file if you wish. For the author of the program,
54
+ the utility serves to quickly glance at spreadsheets that are
55
+ received via email in the Mutt mail client, which is a
56
+ terminal application.</p>
57
+
58
+ <p>Supported spreadsheet formats are those handled by the
59
+ Ruby gem "<strong>roo</strong>" (2024, roo 2.10.1):</p>
60
+
61
+ <ul class="simple">
62
+ <li>
63
+ <p>Microsoft™ Excel 2007 - 2013 formats
64
+ (<strong>xlsx</strong>, <strong>xlsm</strong>)</p>
65
+ </li>
66
+
67
+ <li>
68
+ <p>LibreOffice / OpenOffice.org formats
69
+ (<strong>ods</strong>)</p>
70
+ </li>
71
+
72
+ <li>
73
+ <p>CSV</p>
74
+ </li>
75
+
76
+ <li>
77
+ <p>Microsoft™ Excel 97, Excel 2002 XML, and Excel 2003
78
+ XML formats (<strong>xls</strong>,
79
+ <strong>xml</strong>)</p>
80
+ </li>
81
+ </ul>
82
+
83
+ <p>Additionally also</p>
84
+
85
+ <ul class="simple">
86
+ <li>
87
+ <p>The SoftMaker™ spreadsheet formats
88
+ <strong>pmd</strong> and <strong>pmdx</strong>.</p>
89
+ </li>
90
+ </ul>
91
+ </section>
92
+
93
+ <section id="options">
94
+ <h2>Options</h2>
95
+
96
+ <p>Other than the path to the spreadsheet file, viewworkbook
97
+ does not currently interpret any command line arguments.</p>
98
+
99
+ <section id="menu-commands">
100
+ <h3>Menu commands</h3>
101
+
102
+ <p>A list of commands and their associated hotkeys (in
103
+ parenthesis) is shown below the current table:</p>
104
+
105
+ <table>
106
+ <thead>
107
+ <tr>
108
+ <th class="head">
109
+ <p>11</p>
110
+ </th>
111
+ <th class="head">
112
+ <p>12.2</p>
113
+ </th>
114
+ <th class="head">
115
+ <p>July</p>
116
+ </th>
117
+ <th class="head">
118
+ <p>34000</p>
119
+ </th>
120
+ <th class="head">
121
+ <p>5%</p>
122
+ </th>
123
+ <th class="head">
124
+ <p>prior</p>
125
+ </th>
126
+ <th class="head">
127
+ <p>1957</p>
128
+ </th>
129
+ <th class="head">
130
+ <p>true</p>
131
+ </th>
132
+ </tr>
133
+
134
+ <tr>
135
+ <th class="head">
136
+ <p>12</p>
137
+ </th>
138
+ <th class="head">
139
+ <p>2.33</p>
140
+ </th>
141
+ <th class="head">
142
+ <p>July</p>
143
+ </th>
144
+ <th class="head">
145
+ <p>1234</p>
146
+ </th>
147
+ <th class="head">
148
+ <p>12.2%</p>
149
+ </th>
150
+ <th class="head">
151
+ <p>prior</p>
152
+ </th>
153
+ <th class="head">
154
+ <p>1966</p>
155
+ </th>
156
+ <th class="head">
157
+ <p>true</p>
158
+ </th>
159
+ </tr>
160
+
161
+ <tr>
162
+ <th class="head">
163
+ <p>13</p>
164
+ </th>
165
+ <th class="head">
166
+ <p>50.0</p>
167
+ </th>
168
+ <th class="head">
169
+ <p>August</p>
170
+ </th>
171
+ <th class="head">
172
+ <p>334566</p>
173
+ </th>
174
+ <th class="head">
175
+ <p>12%</p>
176
+ </th>
177
+ <th class="head">
178
+ <p>in</p>
179
+ </th>
180
+ <th class="head">
181
+ <p>1966</p>
182
+ </th>
183
+ <th class="head">
184
+ <p>false</p>
185
+ </th>
186
+ </tr>
187
+ </thead>
188
+
189
+ <tbody>
190
+ <tr>
191
+ <td>
192
+ </td>
193
+ <td>
194
+ <p>A</p>
195
+ </td>
196
+ <td>
197
+ <p>B</p>
198
+ </td>
199
+ <td>
200
+ <p>C</p>
201
+ </td>
202
+ <td>
203
+ <p>D</p>
204
+ </td>
205
+ <td>
206
+ <p>E</p>
207
+ </td>
208
+ <td>
209
+ <p>F</p>
210
+ </td>
211
+ <td>
212
+ <p>G</p>
213
+ </td>
214
+ </tr>
215
+ </tbody>
216
+ </table>
217
+
218
+ <p><strong>value (v) * save to file (f) * sheet (s) *
219
+ column (c) * up(i) * down(k) * left(j) * right(l) * quit
220
+ (q) *</strong>
221
+ </p>
222
+
223
+ <p>When you press one of the hotkeys, you can execute a
224
+ command directly (like "q" to terminate the program) or a
225
+ submenu may appear (like with "c" which gives you control
226
+ over column properties) or you may be prompted for input
227
+ (like with "v", where you have to enter a cell reference).
228
+ Read on for an explanation of each menu command.</p>
229
+
230
+ <blockquote>
231
+ <dl class="simple">
232
+ <dt>value (v)</dt>
233
+
234
+ <dd>
235
+ <p>display the value from a cell. This is useful,
236
+ when columns are not wide enough to show the full
237
+ value. After entering "<strong>v</strong>", you are
238
+ immediately invited to enter a cell reference. Cells
239
+ are referenced in the format "column:row", e.g. D:12
240
+ for the cell in column "D" and row "12".</p>
241
+ </dd>
242
+
243
+ <dt>save to file (f)</dt>
244
+
245
+ <dd>
246
+ <p>Save the current table or all tables to a text
247
+ file. Initially, the command shows two alternative
248
+ sub-commands:</p>
249
+ </dd>
250
+
251
+ <dt>Current sheet (c) * all sheets (a)</dt>
252
+
253
+ <dd>
254
+ <p>Regardless of your choice, you will be prompted to
255
+ enter the output file path in the next step. You will
256
+ receive a warning, if the file already exists at
257
+ which point you can choose to either overwrite the
258
+ existing file or give it a different name.</p>
259
+ </dd>
260
+
261
+ <dt>sheet (s)</dt>
262
+
263
+ <dd>
264
+ <p>Navigate to a different sheet whthin the current
265
+ workbook. You can choose a sheet by its number or by
266
+ its name. If you want to select the next sheet
267
+ <strong>by name</strong>, a list of available names
268
+ will first be shown. You just type the name you
269
+ want.</p>
270
+ </dd>
271
+
272
+ <dt>column (c)</dt>
273
+
274
+ <dd>
275
+ <p>Alter the properties of the table columns. As of
276
+ February 2017 the only property that can be changed,
277
+ is the width of all columns. When you enter
278
+ "<strong>c</strong>" the subcommand column width (w)
279
+ is shown. After entering "<strong>w</strong>" you can
280
+ enter the desired width in characters.</p>
281
+ </dd>
282
+
283
+ <dt>Arrows(i, j, k, l)</dt>
284
+
285
+ <dd>
286
+ <p>Use these hotkeys to navigate a sheet that is too
287
+ big to be displayed entirely at once. These hotkeys
288
+ correspond to the default navigation keys in the Vi
289
+ editor.</p>
290
+ </dd>
291
+
292
+ <dt>quit (q)</dt>
293
+
294
+ <dd>
295
+ <p>Enter "<strong>q</strong>" to quit the program at
296
+ any moment except when an input invitation is
297
+ shown.</p>
298
+ </dd>
299
+ </dl>
300
+ </blockquote>
301
+ </section>
302
+
303
+ <section id="hidden-menu-commands">
304
+ <h3>Hidden menu commands</h3>
305
+
306
+ <p>Currently, there is only one such command available.
307
+ Pressing the <strong>Escape key</strong> will interrupt an
308
+ unfinished action and refresh the display.</p>
309
+ </section>
310
+ </section>
311
+
312
+ <section id="other-information">
313
+ <h2>Other Information</h2>
314
+
315
+ <blockquote>
316
+ <dl class="simple">
317
+ <dt>Development and source code</dt>
318
+
319
+ <dd>
320
+ <p>Viewworkbook has been written in Ruby. Since Ruby is
321
+ an interpreted programming language, the executable
322
+ file and all files to which it refers at any given time
323
+ are the source files of the current program version.
324
+ You can open these files in any text editor to examine
325
+ the source code. If you have received the program as a
326
+ Ruby-gem, you can also decompress a copy of the
327
+ gem-file with <strong>tar -x</strong>, then <strong>tar
328
+ -xzf</strong>.</p>
329
+ </dd>
330
+
331
+ <dt>Bugs</dt>
332
+
333
+ <dd>
334
+ <p>Negative values are not always displayed, when they
335
+ are very long (like 15 ciphers). Increasing the column
336
+ width further does not help.</p>
337
+ </dd>
338
+
339
+ <dt>License</dt>
340
+
341
+ <dd>
342
+ <p>Viewworkbook is distributed under the conditions of
343
+ the WTFPL 2.0 or later, see <a class=
344
+ "reference external" href=
345
+ "http://www.wtfpl.net/about/">http://www.wtfpl.net/about/</a>
346
+ for details</p>
347
+ </dd>
348
+
349
+ <dt>Author</dt>
350
+
351
+ <dd>
352
+ <p>Viewworkbook has been developed by Michael Uplawski
353
+ &lt;<a class="reference external" href=
354
+ "mailto:michael.uplawski@uplawski.eu">michael.uplawski@uplawski.eu</a>&gt;</p>
355
+ </dd>
356
+ </dl>
357
+ </blockquote>
358
+
359
+ <section id="this-document">
360
+ <h3>This document</h3>
361
+
362
+ <p>©Michael Uplawski &lt;<a class="reference external"
363
+ href="mailto:michael.uplawski@uplawski.eu">michael.uplawski@uplawski.eu</a>&gt;</p>
364
+
365
+ <p>License: <a class="reference external" href=
366
+ "https://creativecommons.org/licenses/by-nd/4.0/">CC BY-ND
367
+ 4.0</a></p>
368
+
369
+ <p>Date: 2026-04-26</p>
370
+
371
+ <p><strong>Ω</strong>
372
+ </p>
373
+ </section>
374
+ </section>
375
+ </main>
232
376
  </body>
233
377
  </html>