tree checksum vpatch file split hunks

all signers: lobbes bvt diana_coman asciilifeform billymg

antecedents: frontend_updates.kv

press order:

logotron_genesis.kvasciilifeform diana_coman
multsel_and_datefix.kvasciilifeform diana_coman
raw_line_export.kvasciilifeform diana_coman
rle_errata.kvasciilifeform diana_coman
irssi2tmsr.kvasciilifeform diana_coman
uniturds_etc.kvasciilifeform diana_coman
line_wraps.kvasciilifeform diana_coman
znc2tmsr_etc.kvasciilifeform diana_coman lobbes
uptimefix_bye_cache.kvasciilifeform diana_coman lobbes
raw_line_fix.kvasciilifeform diana_coman lobbes
irssi_format.kvasciilifeform diana_coman
sept_fixes.kvasciilifeform diana_coman
active_disconnect_r3.kvasciilifeform bvt diana_coman
sept_errata.kvasciilifeform
detect_disconnect.kvasciilifeform
shlex_removal.kvasciilifeform
hide_inactive.kvasciilifeform
search_all_chans.kvasciilifeform
navbar_date_auto.kvasciilifeform
searchpg_oldlinks.kvasciilifeform
aug2020_errata.kvasciilifeform
frontend_updates.kvbillymg
add_bitdash_theme.kvbillymg

patch:

- 30E3A359B4FAD69E63D5C11098CB3292A4166A644488099744130E4EB35762EC6FAD517B3FAF5D06818AB18303C92AFC7CAFA3B7E17D5159F83010D44A465262
+ B92CB800176D9F7A54FE6D250363597D4BAC1CD60EEDF87D37CCA3EB57A9FBE8CDC387744AA59A8C7D96E89491397CF420ABCEE6A67FAB747ACB7DF2BAFCF2ED
logotron/MANIFEST.TXT
(20 . 3)(20 . 4)
5 641773 searchpg_oldlinks asciilifeform "Paginated search; automatic replacement of ancient logger link targets; fix for unicode barf in eat_dump.py."
6 641794 aug2020_errata asciilifeform "Stylistic fixes for previous patch."
7 684804 frontend_updates billymg "Changes to HTML/CSS to allow for easier theming. Added config knobs for custom log root and CSS file."
8 684819 add_bitdash_theme billymg "Add dark theme used on http://logs.bitdash.io"
- 32E9AFB62FFC8974DAAFFC380B1242D2A6CB0DA5A859CB3D50FB5D6925FA863D1261106ADA02E7984C96BD4BD42F57D2145EB28500B044EA223F4F1142BCDC21
+ 51F3129759CF2D7C920785477C6A1E1F88E9FE5292EBD099E533FE89BC776522C698A0AD8878B784BE19608E79E72952C25B80CA3038BE75F2E9D48B3E2C6AF8
logotron/release_notes.txt
(1 . 3)(1 . 14)
13 ######################
14 2021 May 24 Update #2:
15 ######################
16 -----------------------------------------------------------------------------------
17 684819 add_bitdash_theme billymg "Add dark theme used on http://logs.bitdash.io"
18 -----------------------------------------------------------------------------------
19
20 (1) Added bitdash.css for "dark theme" found on http://logs.bitdash.io
21 (2) Added <ul> based version of the chan nav to work with the above theme (NOT enabled by default--see comment at the top of bitdash.css for usage)
22
23
24 ###################
25 2021 May 24 Update:
26 ###################
-
+ BF94E789E4B9CC08CDF7EF3F7652CD0FF0536DD52DAF25610278C6C932D4ADC7EA39A213A1DD4663CD99358EC3ED7724F525BCAAEB19EE6EACF9BBBAE2DC2B47
logotron/static/bitdash.css
(0 . 0)(1 . 425)
31 /* For this theme to render correctly you must change the channel nav include line
32 * in 'templates/layout.html' to point to 'chan-nav-list.html', i.e.:
33 * {% include 'chan-nav-table.html' %} -> {% include 'chan-nav-list.html' %} */
34
35 /* FONTS */
36 @font-face {
37 font-family: "Iconsolata";
38 font-weight: normal;
39 font-style: normal;
40 src: url("./fonts/Inconsolata-Medium.ttf");
41 font-display: block;
42 }
43 @font-face {
44 font-family: "Iconsolata";
45 font-weight: 900;
46 font-style: normal;
47 src: url("./fonts/Inconsolata-Black.ttf");
48 font-display: block;
49 }
50 @font-face {
51 font-family: "Inter";
52 font-weight: normal;
53 font-style: normal;
54 src: url("./fonts/Inter-Regular.woff");
55 font-display: block;
56 }
57 @font-face {
58 font-family: "Inter";
59 font-weight: normal;
60 font-style: italic;
61 src: url("./fonts/Inter-Italic.woff");
62 font-display: block;
63 }
64 @font-face {
65 font-family: "Inter";
66 font-weight: bold;
67 font-style: normal;
68 src: url("./fonts/Inter-Bold.woff");
69 font-display: block;
70 }
71 @font-face {
72 font-family: "Inter";
73 font-weight: bold;
74 font-style: italic;
75 src: url("./fonts/Inter-BoldItalic.woff");
76 font-display: block;
77 }
78
79 /* COLORS */
80 :root {
81 /* Slate */
82 --body-bg: #252722; /* rgba(37, 39, 34, 1) */
83 --input-bg: #3c3a35; /* rgba(60, 58, 53) */
84
85 /* Beige */
86 --text-primary: #fff6e4; /* rgba(255, 246, 228, 1) */
87 --text-muted: #8a857c; /* rgba(138, 133, 124, 1) */
88 --input-border: #6c6b61; /* rgba(108, 107, 97, 1) */
89 --logline-highlight: #454138; /* rgba(69, 65, 56, 1) */
90
91 /* Orange */
92 --button-text: #ec6920; /* rgba(236, 105, 32, 1) */
93 --results-highlight: #b05420; /* rgba(176, 84, 32) */
94
95 /* Green */
96 --text-link: #6ea592; /* rgba(110, 165, 146, 1) */
97
98 /* Blue */
99 --text-selection: #4b6364; /* rgba(75, 99, 100) */
100 }
101
102 /* STYLES */
103 * {
104 margin: 0;
105 padding: 0;
106 }
107
108 body {
109 background-color: var(--body-bg);
110 color: var(--text-primary);
111 -webkit-font-smoothing: antialiased;
112 -moz-osx-font-smoothing: grayscale;
113 font-family: Inter, Arial, sans-serif;
114 font-size: 15px;
115 }
116
117 ::selection {
118 background: var(--text-selection);
119 }
120
121 a {
122 color: var(--text-link);
123 border-radius: 1px;
124 }
125
126 a:focus {
127 outline: none;
128 box-shadow: 0 0 0 2px var(--text-link);
129 }
130
131 hr {
132 display: none;
133 }
134
135 .content {
136 margin-right: 220px;
137 }
138
139 .chan-nav {
140 position: absolute;
141 right: 0;
142 top: 95px;
143 padding: 10px;
144 max-width: 200px;
145 word-wrap: break-word;
146 text-align: left
147 }
148
149 .chan-list {
150 list-style: none;
151 }
152
153 .chan-link-wrapper {
154 margin: 10px 0;
155 padding: 0 10px;
156 border-left: 3px solid transparent;
157 }
158
159 .chan-link-wrapper:first-child {
160 margin-top: 0;
161 }
162
163 .chan-link-wrapper-active {
164 border-left: 3px solid var(--text-primary);
165 }
166
167 .lynx-spacer {
168 display: none;
169 }
170
171 a.chan-link {
172 display: block;
173 font-family: Iconsolata, monospace;
174 font-weight: 900;
175 color: var(--text-primary);
176 text-transform: uppercase;
177 text-decoration: none;
178 font-size: 16px;
179 }
180
181 .chan-last-active-link {
182 display: block;
183 margin-top: 2px;
184 font-family: Iconsolata, monospace;
185 font-weight: normal;
186 color: var(--text-primary);
187 text-decoration: none;
188 font-size: 14px;
189 }
190
191 .chan-filters {
192 margin: 20px 0 0 10px;
193 font-style: italic;
194 font-size: 12px;
195 }
196
197 .chan-filters a {
198 text-decoration: none;
199 }
200
201 .search-form {
202 padding: 20px;
203 }
204
205 input.seach-query-input {
206 background: var(--input-bg);
207 border: 1px solid var(--input-border);
208 color: var(--text-primary);
209 font-size: 16px;
210 padding: 10px;
211 border-radius: 2px;
212 margin-right: 10px;
213 width: 50%;
214 }
215
216 input.seach-query-input:focus {
217 outline: none;
218 border: 1px solid var(--text-primary);
219 box-shadow: 0 0 9px rgba(255, 246, 228, 0.25)
220 }
221
222 .search-form-buttons {
223 display: inline-block;
224 min-width: 337px;
225 }
226
227 button[type=submit]::before {
228 content: '[ ';
229 }
230
231 button[type=submit]::after {
232 content: ' ]';
233 }
234
235 button[type=submit] {
236 cursor: pointer;
237 padding: 5px;
238 font-family: Iconsolata, monospace;
239 font-weight: 900;
240 font-size: 16px;
241 color: var(--button-text);
242 text-transform: uppercase;
243 background: none;
244 border: 2px solid transparent;
245 border-radius: 2px;
246 }
247
248 button[type=submit]:focus {
249 outline: none;
250 border: 2px solid var(--button-text);
251 }
252
253 .paginator {
254 position: relative;
255 margin: 20px;
256 font-size: 14px;
257 font-family: Iconsolata, monospace;
258 }
259
260 .paginator i {
261 font-style: normal;
262 }
263
264 .paginator a {
265 text-decoration: none;
266 font-size: 16px;
267 font-weight: 900;
268 }
269
270 .paginator a.jump {
271 position: absolute;
272 right: 0;
273 text-decoration: none;
274 font-weight: normal;
275 font-size: 24px;
276 }
277
278 .loglines {
279 margin: 10px 20px;
280 }
281
282 .logline {
283 position: relative;
284 padding: 1px;
285 }
286
287 a.nick {
288 color: var(--text-primary);
289 text-decoration: none;
290 font-weight: bold;
291 }
292
293 .logline i:first-child::before {
294 content: '\002022';
295 padding-right: 2px;
296 }
297
298 .logline.bot {
299 color: var(--text-muted);
300 }
301
302 .logline.bot a {
303 color: var(--text-muted);
304 }
305
306 .logline.bot a.nick {
307 text-decoration: none;
308 font-weight: normal;
309 }
310
311 .logline:target {
312 background: var(--logline-highlight);
313 margin-left: -20px;
314 padding-left: 21px;
315 }
316
317 .logline:target::before {
318 content: '>';
319 position: absolute;
320 left: 7px;
321 }
322
323 .highlight {
324 background: var(--results-highlight);
325 }
326
327 .footer {
328 border-top: 1px solid var(--input-bg);
329 padding: 50px 0;
330 margin: 50px 220px 20px 20px;
331 font-size: 13px;
332 text-align: center;
333 color: var(--text-muted);
334 }
335
336 .footer a {
337 text-decoration: none;
338 }
339
340 /* RESPONSIVE STYLES */
341 @media only screen and (max-width: 1024px) {
342 .content,
343 .footer {
344 margin-right: 175px;
345 }
346
347 .chan-nav {
348 max-width: 165px;
349 }
350
351 .search-form {
352 padding: 10px;
353 }
354
355 input.seach-query-input {
356 width: 38%;
357 }
358
359 .loglines {
360 margin: 15px 10px;
361 }
362
363 .paginator {
364 margin: 15px 10px;
365 }
366
367 .logline:target::before {
368 display: none;
369 }
370 }
371
372 @media only screen and (max-width: 989px) {
373 .content,
374 .footer {
375 margin-right: 10px;
376 }
377
378 .content {
379 margin-top: 30px;
380 }
381
382 .footer {
383 margin-left: 10px;
384 }
385
386 input.seach-query-input {
387 width: 100%;
388 margin-right: 0;
389 }
390
391 .search-form {
392 margin-top: 10px;
393 padding: 5px 0 0 10px;
394 }
395
396 .search-form-buttons {
397 display: block;
398 margin-top: 3px;
399 }
400
401 .paginator {
402 margin-top: 20px;
403 }
404
405 .chan-nav {
406 position: static;
407 right: auto;
408 top: auto;
409 max-width: 100%;
410 overflow-x: scroll;
411 padding: 5px 10px;
412 }
413
414 .chan-list {
415 display: flex;
416 }
417
418 .chan-link-wrapper {
419 margin: 5px 10px;
420 padding: 5px 0;
421 border-left: none;
422 border-top: 3px solid transparent;
423 }
424
425 .chan-link-wrapper-active {
426 border-top: 3px solid var(--text-primary);
427 }
428
429 .chan-link-wrapper:first-child {
430 margin-top: 5px;
431 margin-left: 0;
432 }
433
434 .chan-link-wrapper:last-child {
435 padding-right: 10px;
436 }
437
438 .chan-filters {
439 position: absolute;
440 margin: 5px 0 0 0;
441 }
442
443 .logline:target {
444 margin-left: -20px;
445 padding-left: 21px;
446 margin-right: -20px;
447 padding-right: 21px;
448 }
449 }
450
451 @media only screen and (max-width: 375px) {
452 button[type=submit] {
453 font-size: 14px;
454 }
455 }
-
+ A4B5E09FAB48C9506B1D0B0822369A8F79B6EF956037EA7D22F4B611EFCCF0E49AA24BE1908BB81A64D1C92769DCB5C364477C032672D9F09D5FE3649350F636
logotron/static/fonts/README.txt
(0 . 0)(1 . 14)
460 This folder is where the fonts specified at the top of bitdash.css should go, namely:
461
462 - Inconsolata-Black.ttf
463 - Inconsolata-Medium.ttf
464 - Inter-Bold.woff
465 - Inter-BoldItalic.woff
466 - Inter-Italic.woff
467 - Inter-Regular.woff
468
469 You can find copies of these fonts yourself and include them in this directory
470 or download a signed tarball containing the font files at:
471
472 http://billymg.com/downloads/logotron/bitdash-theme-fonts.tgz
473 http://billymg.com/downloads/logotron/bitdash-theme-fonts.tgz.sig
-
+ D855ED140D2084D4CB45A562792228F387CEB4362F0503958B9ECB857602214980CC62304643C692ECFA9200F3E02F3047242C62B8F47E6A66E583329985A5EF
logotron/templates/chan-nav-list.html
(0 . 0)(1 . 9)
478 <ul class='chan-list'>
479 {% for chan_item in chan_list %}
480 <li class="chan-link-wrapper {% if chan_item.name == chan %}chan-link-wrapper-active{% endif %}">
481 <a class='chan-link' href='{{ chan_item.chan_url }}'>{{ chan_item.name }}</a>
482 <span class='lynx-spacer'>-</span>
483 <a class='chan-last-active-link' href='{{ chan_item.last_time_url }}'>{{ chan_item.last_time_txt }}</a>
484 </li>
485 {% endfor %}
486 </ul>