-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMeneer K. begon te verslonzen. Hij zei dat hij de trein niet meer in mocht, hij snapte niet waarom.html
922 lines (798 loc) · 73.2 KB
/
Meneer K. begon te verslonzen. Hij zei dat hij de trein niet meer in mocht, hij snapte niet waarom.html
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
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
<!DOCTYPE html> <html class="is-article-page js-is-ios dclatpm idc0_338" data-darkreader-mode=dynamic data-darkreader-scheme=dark style lang=nl-NL><!--
Page saved with SingleFile
url: https://www.volkskrant.nl/mensen/meneer-k-begon-te-verslonzen-hij-zei-dat-hij-de-trein-niet-meer-in-mocht-hij-snapte-niet-waarom~b49c3bba/?utm_source=link&utm_medium=app&utm_campaign=shared%20content&utm_content=free
saved date: Tue Apr 26 2022 07:06:06 GMT+0200 (Central European Summer Time)
--><meta charset=utf-8><meta http-equiv=x-ua-compatible content="ie=edge"><meta name=viewport content="width=device-width,initial-scale=1,viewport-fit=cover"><title>Meneer K. begon te verslonzen. Hij zei dat hij de trein niet meer in mocht, hij snapte niet waarom </title><meta property=article:section content=Mensen><meta property=article:published_time content=2022-03-28T12:05+02:00><meta property=article:author content="Joris van Casteren"><meta name=description content="Schrijver Joris van Casteren is coördinator bij het begeleiden van eenzame uitvaarten in Amsterdam. Onregelmatig schrijft hij over zijn wederwaardi..."><meta name=twitter:card content=summary_large_image><meta name=twitter:title content="Meneer K. begon te verslonzen. Hij zei dat hij de trein niet meer in mocht, hij snapte niet waarom"><meta name=twitter:description content="Schrijver Joris van Casteren is coördinator bij het begeleiden van eenzame uitvaarten in Amsterdam. Onregelmatig schrijft hij over zijn wederwaardi..."><meta name=twitter:image content="https://images0.persgroep.net/rcs/kyke9jKEBQU8lE5XxX2zWs-zTJE/diocontent/214412680/_fitwidth/763?appId=93a17a8fd81db0de025c8abd1cca1279&quality=0.8"><meta property=og:type content=article><meta property=og:site_name content="de Volkskrant"><meta property=og:locale content=nl_NL><meta property=og:title content="Meneer K. begon te verslonzen. Hij zei dat hij de trein niet meer in mocht, hij snapte niet waarom"><meta property=og:description content="Schrijver Joris van Casteren is coördinator bij het begeleiden van eenzame uitvaarten in Amsterdam. Onregelmatig schrijft hij over zijn wederwaardi..."><meta property=og:url content=https://www.volkskrant.nl/gs-b49c3bba><meta property=og:image content="https://images0.persgroep.net/rcs/kyke9jKEBQU8lE5XxX2zWs-zTJE/diocontent/214412680/_fitwidth/763?appId=93a17a8fd81db0de025c8abd1cca1279&quality=0.8"><meta property=al:ios:url content=https://www.volkskrant.nl/mensen/meneer-k-begon-te-verslonzen-hij-zei-dat-hij-de-trein-niet-meer-in-mocht-hij-snapte-niet-waarom~b49c3bba/><meta property=al:ios:app_store_id content=418873064><meta property=al:ios:app_name content="de Volkskrant"><meta property=al:android:url content=https://www.volkskrant.nl/fs-b49c3bba><meta property=al:android:app_name content="de Volkskrant"><meta property=al:android:package content=be.persgroep.android.news.mobilevk><meta property=al:web:url content=https://www.volkskrant.nl/mensen/meneer-k-begon-te-verslonzen-hij-zei-dat-hij-de-trein-niet-meer-in-mocht-hij-snapte-niet-waarom~b49c3bba/><meta name=darkreader content=da7bab022da945d7bf7f21b56915eae8><link rel=icon type=image/png href=data:image/png;base64,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 sizes=196x196><meta http-equiv=content-security-policy content="default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:;"><style>
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/. */
/* Avoid adding ID selector rules in this style sheet, since they could
* inadvertently match elements in the article content. */
:root {
--body-padding: 64px;
--popup-border: rgba(0, 0, 0, 0.12);
--opaque-popup-border: #e0e0e0;
--popup-shadow: rgba(49, 49, 49, 0.3);
--grey-90-a10: rgba(12, 12, 13, 0.1);
--grey-90-a20: rgba(12, 12, 13, 0.2);
--grey-90-a30: rgba(12, 12, 13, 0.3);
--grey-90-a80: rgba(12, 12, 13, 0.8);
--grey-30: #d7d7db;
--blue-40: #45a1ff;
--blue-40-a30: rgba(69, 161, 255, 0.3);
--blue-60: #0060df;
--active-color: #0B83FF;
--font-size: 12;
--content-width: 30em;
--line-height: 1.6em;
--tooltip-background: var(--grey-90-a80);
--tooltip-foreground: white;
--toolbar-button-hover: var(--grey-90-a10);
--toolbar-button-active: var(--grey-90-a20);
}
body {
--main-background: #fff;
--main-foreground: #333;
--toolbar-border: var(--grey-90-a20);
--toolbar-box-shadow: var(--grey-90-a10);
--popup-button-hover: hsla(0,0%,70%,.4);
--popup-button-active: hsla(240,5%,5%,.15);
--popup-bgcolor: white;
--popup-button: #edecf0;
--selected-background: var(--blue-40-a30);
--selected-border: var(--blue-40);
--popup-line: var(--grey-30);
--font-value-border: var(--grey-30);
--font-color: #000000;
--icon-fill: #3b3b3c;
--icon-disabled-fill: #8080807F;
--link-foreground: var(--blue-60);
--link-selected-foreground: #333;
--visited-link-foreground: #b5007f;
/* light colours */
}
body.sepia {
--main-background: #f4ecd8;
--main-foreground: #5b4636;
--toolbar-border: #5b4636;
}
body.dark {
--main-background: rgb(28, 27, 34);
--main-foreground: #eee;
--toolbar-border: #4a4a4b;
--toolbar-box-shadow: black;
--toolbar-button-hover: var(--grey-90-a30);
--toolbar-button-active: var(--grey-90-a80);
--popup-button-active: hsla(0,0%,70%,.6);
--popup-bgcolor: rgb(66,65,77);
--popup-button: #5c5c61;
--popup-line: rgb(82, 82, 94);
--selected-background: #3E6D9A;
--link-foreground: #45a1ff;
--visited-link-foreground: #e675fd;
--link-selected-foreground: #fff;
--opaque-popup-border: #434146;
--font-value-border: #656468;
--font-color: #fff;
--icon-fill: #fff;
--icon-disabled-fill: #ffffff66;
--tooltip-background: black;
--tooltip-foreground: white;
/* dark colours */
}
body {
margin: 0;
padding: var(--body-padding);
background-color: var(--main-background);
color: var(--main-foreground);
}
body.loaded {
transition: color 0.4s, background-color 0.4s;
}
body.dark *::-moz-selection {
background-color: var(--selected-background);
}
a::-moz-selection {
color: var(--link-selected-foreground);
}
body.sans-serif,
body.sans-serif .remove-button {
font-family: Helvetica, Arial, sans-serif;
}
body.serif,
body.serif .remove-button {
font-family: Georgia, "Times New Roman", serif;
}
.container {
margin: 0 auto;
font-size: var(--font-size);
max-width: var(--content-width);
line-height: var(--line-height);
}
/* Override some controls and content styles based on color scheme */
body.light > .container > .header > .domain {
border-bottom-color: #333333 !important;
}
body.sepia > .container > .header > .domain {
border-bottom-color: #5b4636 !important;
}
body.dark > .container > .header > .domain {
border-bottom-color: #eeeeee !important;
}
body.sepia > .container > .footer {
background-color: #dedad4 !important;
}
body.light blockquote {
border-inline-start: 2px solid #333333 !important;
}
body.sepia blockquote {
border-inline-start: 2px solid #5b4636 !important;
}
body.dark blockquote {
border-inline-start: 2px solid #eeeeee !important;
}
.light-button {
color: #333333;
background-color: #ffffff;
}
.dark-button {
color: #eeeeee;
background-color: #1c1b22;
}
.sepia-button {
color: #5b4636;
background-color: #f4ecd8;
}
/* Loading/error message */
.reader-message {
margin-top: 40px;
display: none;
text-align: center;
width: 100%;
font-size: 0.9em;
}
/* Detector element to see if we're at the top of the doc or not. */
.top-anchor {
position: absolute;
top: 0;
width: 0;
height: 5px;
pointer-events: none;
}
/* Header */
.header {
text-align: start;
display: none;
}
.domain {
font-size: 0.9em;
line-height: 1.48em;
padding-bottom: 4px;
font-family: Helvetica, Arial, sans-serif;
text-decoration: none;
border-bottom: 1px solid;
color: var(--link-foreground);
}
.header > h1 {
font-size: 1.6em;
line-height: 1.25em;
width: 100%;
margin: 30px 0;
padding: 0;
}
.header > .credits {
font-size: 0.9em;
line-height: 1.48em;
margin: 0 0 10px;
padding: 0;
font-style: italic;
}
.header > .meta-data {
font-size: 0.65em;
margin: 0 0 15px;
}
.reader-estimated-time {
text-align: match-parent;
}
/*======= Controls toolbar =======*/
.toolbar-container {
position: sticky;
z-index: 2;
top: 32px;
height: 0; /* take up no space, so body is at the top. */
/* As a stick container, we're positioned relative to the body. Move us to
* the edge of the viewport using margins, and take the width of
* the body padding into account for calculating our width.
*/
margin-inline-start: calc(-1 * var(--body-padding));
width: max(var(--body-padding), calc((100% - var(--content-width)) / 2 + var(--body-padding)));
font-size: var(--font-size); /* Needed to ensure em units match, is reset for .reader-controls */
}
.toolbar {
padding-block: 16px;
border: 1px solid var(--toolbar-border);
border-radius: 6px;
box-shadow: 0 2px 8px var(--toolbar-box-shadow);
width: 32px; /* basic width, without padding/border */
/* padding should be 16px, except if there's not enough space for that, in
* which case use half the available space for padding (=25% on each side).
* The 34px here is the width + borders. We use a variable because we need
* to know this size for the margin calculation.
*/
--inline-padding: min(16px, calc(25% - 0.25 * 34px));
padding-inline: var(--inline-padding);
/* Keep a maximum of 96px distance to the body, but center once the margin
* gets too small. We need to set the start margin, however...
* To center, we'd want 50% of the container, but we'd subtract half our
* own width (16px) and half the border (1px) and the inline padding.
* When the other margin would be 96px, we want 100% - 96px - the complete
* width of the actual toolbar (34px + 2 * padding)
*/
margin-inline-start: max(calc(50% - 17px - var(--inline-padding)), calc(100% - 96px - 34px - 2 * var(--inline-padding)));
font-family: Helvetica, Arial, sans-serif;
list-style: none;
user-select: none;
}
@media (prefers-reduced-motion: no-preference) {
.toolbar {
transition-property: border-color, box-shadow;
transition-duration: 250ms;
}
.toolbar .button {
transition-property: opacity;
transition-duration: 250ms;
}
.toolbar-container.scrolled .toolbar:not(:hover, :focus-within) {
border-color: transparent;
box-shadow: 0 2px 8px transparent;
}
.toolbar-container.scrolled .toolbar:not(:hover, :focus-within) .button {
opacity: 0.6;
}
.toolbar-container.transition-location {
transition-duration: 250ms;
transition-property: width;
}
}
.toolbar-container.overlaps .button {
opacity: 0.1;
}
.dropdown-open .toolbar {
border-color: transparent;
box-shadow: 0 2px 8px transparent;
}
.reader-controls {
/* We use ems above this node to get it to the right size. However,
* the UI inside the toolbar should use a fixed, smaller size. */
font-size: 11px;
}
.button {
position: relative;
width: 32px;
height: 32px;
padding: 0;
border: none;
border-radius: 4px;
margin: 4px 0;
background-color: transparent;
background-size: 16px 16px;
background-position: center;
background-repeat: no-repeat;
color: var(--font-color);
}
.button:hover,
.button:-moz-focusring {
background-color: var(--toolbar-button-hover);
}
.open .button,
.button:active {
background-color: var(--toolbar-button-active);
color: var(--active-color);
fill: var(--active-color);
}
.hover-label {
position: absolute;
top: 4px;
inset-inline-start: 36px;
line-height: 16px;
white-space: pre; /* make sure we don't wrap */
background-color: var(--tooltip-background);
color: var(--tooltip-foreground);
padding: 4px 8px;
border-radius: 2px;
visibility: hidden;
pointer-events: none;
/* Put above .dropdown .dropdown-popup, which has z-index: 1000. */
z-index: 1001;
}
/* Show the hover tooltip on non-dropdown buttons. */
.button:not(.dropdown-toggle):hover > .hover-label,
.button:not(.dropdown-toggle):-moz-focusring > .hover-label,
/* Show the hover tooltip for dropdown buttons unless its dropdown is open. */
:not(.open) > li > .dropdown-toggle:hover > .hover-label,
:not(.open) > li > .dropdown-toggle:-moz-focusring > .hover-label {
visibility: visible;
}
button {
-moz-context-properties: fill;
color: var(--font-color);
fill: var(--icon-fill);
}
button:disabled {
fill: var(--icon-disabled-fill);
}
.toolbar button::-moz-focus-inner {
border: 0;
}
.dropdown {
text-align: center;
list-style: none;
margin: 0;
padding: 0;
position: relative;
}
.dropdown li {
margin: 0;
padding: 0;
}
/*======= Popup =======*/
.dropdown .dropdown-popup {
text-align: start;
position: absolute;
inset-inline-start: 40px;
z-index: 1000;
background-color: var(--popup-bgcolor);
visibility: hidden;
border-radius: 4px;
border: 1px solid var(--popup-border);
box-shadow: 0 0px 10px 0 var(--popup-shadow);
border-bottom-width: 0;
top: 0;
}
.open > .dropdown-popup {
visibility: visible;
}
.dropdown-arrow {
position: absolute;
height: 24px;
width: 16px;
inset-inline-start: -16px;
background-image: url("chrome://global/skin/reader/RM-Type-Controls-Arrow.svg");
display: block;
-moz-context-properties: fill, stroke;
fill: var(--popup-bgcolor);
stroke: var(--opaque-popup-border);
pointer-events: none;
}
.dropdown-arrow:dir(rtl) {
transform: scaleX(-1);
}
/* Align the style dropdown arrow (narrate does its own) */
.style-dropdown .dropdown-arrow {
top: 7px;
}
/*======= Font style popup =======*/
.radio-button {
/* We visually hide these, but we keep them around so they can be focused
* and changed by interacting with them via the label, or the keyboard, or
* assistive technology.
*/
opacity: 0;
pointer-events: none;
position: absolute;
}
.radiorow,
.buttonrow {
display: flex;
}
.content-width-value,
.font-size-value,
.line-height-value {
box-sizing: border-box;
width: 36px;
height: 15px;
line-height: 15px;
display: flex;
justify-content: center;
align-content: center;
margin: auto;
border-radius: 10px;
border: 1px solid var(--font-value-border);
background-color: var(--popup-button);
}
.buttonrow > button {
border: 0;
height: 60px;
width: 90px;
background-color: transparent;
background-repeat: no-repeat;
background-position: center;
}
.buttonrow > button:enabled:hover,
.buttonrow > button:enabled:-moz-focusring {
background-color: var(--popup-button-hover);
}
.buttonrow > button:enabled:active {
background-color: var(--popup-button-active);
}
.radiorow:not(:last-child),
.buttonrow:not(:last-child) {
border-bottom: 1px solid var(--popup-line);
}
.radiorow > label {
position: relative;
box-sizing: border-box;
border-radius: 2px;
border: 2px solid var(--popup-border);
}
.radiorow > label[checked] {
border-color: var(--selected-border);
}
/* For the hover style, we draw a line under the item by means of a
* pseudo-element. Because these items are variable height, and
* because their contents are variable height, position it absolutely,
* and give it a width of 100% (the content width) + 4px for the 2 * 2px
* border width.
*/
.radiorow > input[type=radio]:-moz-focusring + label::after,
.radiorow > label:hover::after {
content: "";
display: block;
border-bottom: 2px solid var(--blue-40);
width: calc(100% + 4px);
position: absolute;
/* to skip the 2 * 2px border + 2px spacing. */
bottom: -6px;
/* Match the start of the 2px border of the element: */
inset-inline-start: -2px;
}
.color-scheme-buttons > label {
height: 34px;
width: 70px;
font-size: 12px;
/* Center the labels horizontally as well as vertically */
display: inline-flex;
align-items: center;
justify-content: center;
/* We want 10px between items, but there's no margin collapsing in flexbox. */
margin: 10px 5px;
}
.color-scheme-buttons > input:first-child + label {
margin-inline-start: 10px;
}
.color-scheme-buttons > label:last-child {
margin-inline-end: 10px;
}
.font-type-buttons > label {
height: 64px;
width: 105px;
/* Slightly more space between these items. */
margin: 10px;
/* Center the Sans-serif / Serif labels */
text-align: center;
background-size: 63px 39px;
background-repeat: no-repeat;
background-position: center 18px;
background-color: var(--popup-button);
fill: currentColor;
-moz-context-properties: fill;
/* This mostly matches baselines, but because of differences in font
* baselines between serif and sans-serif, this isn't always enough. */
line-height: 1;
padding-top: 2px;
}
.font-type-buttons > label[checked] {
background-color: var(--selected-background);
}
.sans-serif-button {
font-family: Helvetica, Arial, sans-serif;
background-image: url("chrome://global/skin/reader/RM-Sans-Serif.svg");
}
/* Tweak padding to match the baseline on mac */
:root[platform=macosx] .sans-serif-button {
padding-top: 3px;
}
.serif-button {
font-family: Georgia, "Times New Roman", serif;
background-image: url("chrome://global/skin/reader/RM-Serif.svg");
}
/*======= Toolbar icons =======*/
.close-button {
-moz-context-properties: fill;
background-image: url("chrome://global/skin/icons/close.svg");
}
.style-button {
background-image: url("chrome://global/skin/reader/RM-Type-Controls-24x24.svg");
}
.minus-button {
background-size: 18px 18px;
background-image: url("chrome://global/skin/reader/RM-Minus-24x24.svg");
}
.plus-button {
background-size: 18px 18px;
background-image: url("chrome://global/skin/reader/RM-Plus-24x24.svg");
}
.content-width-minus-button {
background-size: 42px 16px;
background-image: url("chrome://global/skin/reader/RM-Content-Width-Minus-42x16.svg");
}
.content-width-plus-button {
background-size: 44px 16px;
background-image: url("chrome://global/skin/reader/RM-Content-Width-Plus-44x16.svg");
}
.line-height-minus-button {
background-size: 34px 14px;
background-image: url("chrome://global/skin/reader/RM-Line-Height-Minus-38x14.svg");
}
.line-height-plus-button {
background-size: 34px 24px;
background-image: url("chrome://global/skin/reader/RM-Line-Height-Plus-38x24.svg");
}
/* Mirror the line height buttons if the article is RTL. */
.reader-controls[articledir="rtl"] .line-height-minus-button,
.reader-controls[articledir="rtl"] .line-height-plus-button {
transform: scaleX(-1);
}
@media print {
.toolbar {
display: none !important;
}
}
/*======= Article content =======*/
/* Note that any class names from the original article that we want to match on
* must be added to CLASSES_TO_PRESERVE in ReaderMode.jsm, so that
* Readability.js doesn't strip them out */
.moz-reader-content {
display: none;
font-size: 1em;
}
@media print {
.moz-reader-content p,
.moz-reader-content code,
.moz-reader-content pre,
.moz-reader-content blockquote,
.moz-reader-content ul,
.moz-reader-content ol,
.moz-reader-content li,
.moz-reader-content figure,
.moz-reader-content .wp-caption {
margin: 0 0 10px !important;
padding: 0 !important;
}
}
.moz-reader-content h1,
.moz-reader-content h2,
.moz-reader-content h3 {
font-weight: bold;
}
.moz-reader-content h1 {
font-size: 1.6em;
line-height: 1.25em;
}
.moz-reader-content h2 {
font-size: 1.2em;
line-height: 1.51em;
}
.moz-reader-content h3 {
font-size: 1em;
line-height: 1.66em;
}
.moz-reader-content a:link {
text-decoration: underline;
font-weight: normal;
}
.moz-reader-content a:link,
.moz-reader-content a:link:hover,
.moz-reader-content a:link:active {
color: var(--link-foreground);
}
.moz-reader-content a:visited {
color: var(--visited-link-foreground);
}
.moz-reader-content * {
max-width: 100%;
height: auto;
}
.moz-reader-content p,
.moz-reader-content p,
.moz-reader-content code,
.moz-reader-content pre,
.moz-reader-content blockquote,
.moz-reader-content ul,
.moz-reader-content ol,
.moz-reader-content li,
.moz-reader-content figure,
.moz-reader-content .wp-caption {
margin: -10px -10px 20px;
padding: 10px;
border-radius: 5px;
}
.moz-reader-content li {
margin-bottom: 0;
}
.moz-reader-content li > ul,
.moz-reader-content li > ol {
margin-bottom: -10px;
}
.moz-reader-content p > img:only-child,
.moz-reader-content p > a:only-child > img:only-child,
.moz-reader-content .wp-caption img,
.moz-reader-content figure img {
display: block;
}
.moz-reader-content img[moz-reader-center] {
margin-inline: auto;
}
.moz-reader-content .caption,
.moz-reader-content .wp-caption-text
.moz-reader-content figcaption {
font-size: 0.9em;
line-height: 1.48em;
font-style: italic;
}
.moz-reader-content code,
.moz-reader-content pre {
white-space: pre-wrap;
}
.moz-reader-content blockquote {
padding: 0;
padding-inline-start: 16px;
}
.moz-reader-content ul,
.moz-reader-content ol {
padding: 0;
}
.moz-reader-content ul {
padding-inline-start: 30px;
list-style: disc;
}
.moz-reader-content ol {
padding-inline-start: 30px;
}
table,
th,
td {
border: 1px solid currentColor;
border-collapse: collapse;
padding: 6px;
vertical-align: top;
}
table {
margin: 5px;
}
/* Visually hide (but don't display: none) screen reader elements */
.moz-reader-content .visually-hidden,
.moz-reader-content .visuallyhidden,
.moz-reader-content .sr-only {
display: inline-block;
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
border-width: 0;
}
/* Hide elements with common "hidden" class names */
.moz-reader-content .hidden,
.moz-reader-content .invisible {
display: none;
}
/* Enforce wordpress and similar emoji/smileys aren't sized to be full-width,
* see bug 1399616 for context. */
.moz-reader-content img.wp-smiley,
.moz-reader-content img.emoji {
display: inline-block;
border-width: 0;
/* height: auto is implied from .moz-reader-content * rule. */
width: 1em;
margin: 0 .07em;
padding: 0;
}
.reader-show-element {
display: initial;
}</style><body class="moz-reader-content content-width6 reader-show-element sans-serif container line-height4 dark" style="display: block; padding: 24px;"><h1 class=reader-title>ik ben Meneer K. <br></h1><div id=readability-page-1 class=page><section><figure data-element-id=cca35b6d-a49f-4239-8893-b61ad18c7453><figcaption><span><br></span></figcaption><p>Joris van Casteren<br>VK 28 maart 2022</p>In oktober verscheen er een nietsvermoedende monteur bij meneer K. aan de deur. Systematisch ging hij die maand in het complex aan de Opheusdenhof, tegenover station Amsterdam Holendrecht, de woningen langs om bij de bewoners een halofoon te installeren.
</figure><p data-element-id=9581-759a-89bf-360c-e2b0-a41f-a37a-80b3>
Met zo’n apparaat kun je zien en horen wie er beneden aan de centrale voordeur staat, zodat er minder ongenode gasten binnensluipen. De corporatie had de huurders per brief op de hoogte gesteld.
<p data-element-id=a4e8-f79f-b233-cd7d-3d7f-65df-a7b0-5fe6>
Op de galerij voor de woning van meneer K. hoopte zich een hoeveelheid vuilniszakken en dozen met onduidelijke troep op. De monteur drukte op de bel, die niet leek te functioneren, en klopte toen een paar keer aan.
<p data-element-id=0b32-6e18-8a31-25bc-da50-7973-c7ee-0e4e>
Een vreemd gerommel klonk, het leek van achter uit de woning te komen. Iets bewoog zich kruipend in de richting van de monteur. Achter de voordeur richtte het zich op, met veel geknisper en gekraak.
<p data-element-id=9e13-5946-70f3-56ca-a960-d388-a423-741a>
Meerdere sloten werden ontgrendeld, gerinkel van kettingen. De deur ging op een kier, een duizelingwekkende ammoniakgeur sloeg de monteur in het gezicht. De kier verwijdde zich en een langgerekte, graatmagere gestalte kwam tevoorschijn, slechts gehuld in een bermuda.
<p data-element-id=6efa-5ea1-482f-5249-3f64-554f-8780-0238>
De gestalte, nauwelijks nog een mens, droeg een mijnwerkershelm met lamp op het hoofd. Achter hem rees een aangekoekte wal op van kleding, karton en wegwerpartikelen.
<p data-element-id=a7e1-574d-14e6-8d19-5cb9-9e8d-2e88-607e>
De monteur stamelde iets over de werking van de halofoon en waar die ongeveer bevestigd moest worden. De gestalte opende de deur wat verder, de wal bood deinend weerstand, lege statiegeldflessen rolden de galerij op. Aan zijn langnagelige voeten schoot ongedierte weg, geschrokken van het daglicht.
<p data-element-id=857d-e86b-095f-a759-27d8-43c6-dec8-3e33>
Vrij coherent maakte hij duidelijk geen behoefte te hebben aan een halofoon. Sowieso kon zo’n apparaat niet worden opgehangen want zijn muren waren anders dan gewone muren. De deur ging dicht, binnen vond een kleine aardverschuiving plaats. Het wezen verdween, langzaam trok het zich terug.
<p data-element-id=a13a-be14-bce8-9f50-04d1-a472-0a5b-5bdd>
*
<p data-element-id=e23a-62e6-5cbd-ce37-dbf5-d4f0-02a2-d43b>
In 1976 is meneer K. er komen wonen, samen met zijn ouders. Het complex aan de Opheusdenhof was net gereed, ze waren een van de eerste bewoners. Hij was 25, broers of zussen had hij niet.
<p data-element-id=5e08-4b2f-3d4c-108b-2164-9b24-5760-a5fa>
De ouders van meneer K. leerden elkaar voor de oorlog in Amsterdam kennen. In de Nieuwmarktbuurt openden ze een verfwinkel die nauwelijks rendeerde. In 1951, na de geboorte van hun zoon, deden ze de nering noodgedwongen van de hand.
<p data-element-id=b1fb-9e37-b209-79c6-0e88-267d-52f4-c2a3>
Ze besloten te emigreren, zoals honderdduizenden Nederlanders in die tijd. Aangemoedigd door de overheid, vanwege de woningnood en het geboorteoverschot. Premier Drees en koningin Juliana zeiden dat een deel van het volk bereid moest zijn ‘de toekomst elders te beproeven’.
<p data-element-id=c894-f257-d800-cb72-902f-54ad-3157-5f19>
De ouders van meneer K. kozen voor Nieuw-Zeeland. In de kranten werd druk geadverteerd voor dat land, arbeidsbureaus organiseerden voorlichtingsavonden waarbij films van het spectaculaire landschap werden vertoond.
<p data-element-id=aa78-2187-df01-7bdd-895c-d685-8a63-7a3a>
In Nieuw-Zeeland bestond geen oorlogsleed, woningnood of armoede. Van een eventuele Derde Wereldoorlog had je er niet zo gauw last. In 1955 voeren ze met het stoomschip Groote Beer van Rotterdam naar Auckland.
<p data-element-id=de9a-efc0-1150-1a01-5482-3d12-eac5-1249>
De vader van meneer K. vond pas na lang zoeken een betrekking, in de mijnbouw. Hij werd ondergronds opzichter in het mijngebied ten zuiden van de hoofdstad waar ijzererts werd gewonnen. Niet het soort baan dat hem op de voorlichtingsavonden was voorgespiegeld.
<p data-element-id=dde9-25dc-0546-f180-94df-c681-149e-221a>
Meneer K. ging in Auckland naar school, hij leerde vloeiend Engels spreken. Zijn ouders bleven in het Hollands met hem converseren. Hij kon het ook, al was het met een zwaar accent.
<p data-element-id=b6af-cd22-77cb-c964-baab-b1bc-bfe9-eb65>
Hij was goed in wiskunde en hield van techniek, aan een technische universiteit studeerde hij micro-elektronica. Zijn moeder zat alleen thuis, heimwee kwelde haar. Ze schreef lange brieven aan haar behoeftige moeder die in Nederland was achtergebleven.
<p data-element-id=9945-a154-e014-7f23-2e66-1a83-86fc-774b>
Zeer tegen de zin van meneer K. werd een ingrijpend besluit genomen. Vanwege de heimwee en het vervelende werk keerde het gezin terug naar Nederland, waar de werkgelegenheid was aangetrokken en de leefomstandigheden waren verbeterd. Twintig jaar waren verstreken toen ze opnieuw aanmonsterden voor een enkele reis in tegenovergestelde richting.
<p data-element-id=0e3b-5279-83ec-4d7f-ee7c-3554-12b5-1e85>
*
<p data-element-id=664c-6dd0-51e7-060e-defa-35fa-1bd3-f35d>
In het complex aan de pas opgeleverde Opheusdenhof viel het gezin uit de toon. De meeste bewoners waren pasgetrouwde stellen met jonge kinderen, Bijlmeridealisten die de krappe Amsterdamse binnenstad inruilden voor een op de toekomst gerichte omgeving.
<p data-element-id=9a38-63b9-d8cf-166a-2de8-79fa-5650-2ac1>
Het gezin van meneer K. was niet alleen ouder maar ook erg anders, de culturele verschuivingen die zich in West-Europa hadden voltrokken, leken volkomen aan hen voorbij te zijn gegaan. Ze droegen ouderwetse kleding en smeerden nog pommade in het haar. Meneer K. was een lange staak, zijn ouders bol en klein.
<p data-element-id=8627-64f1-631d-3985-f04e-2a7d-3f8b-531a>
De vader van meneer K. werd aangenomen bij een bedrijfje dat op de Amsterdamse beurs in effecten handelde. ’s Ochtends stapte hij met een door zijn vrouw gevuld broodtrommeltje op het fonkelnieuwe station op de metro. Meneer K. zelf werd aangenomen bij Medtronics, een fabrikant van pacemakers, gevestigd op Schiphol.
<p data-element-id=dbe1-1802-e806-b6e9-7ac9-fb93-898e-3001>
Meneer K.’s moeder bezocht haar moeder regelmatig maar kwam toen die overleed weer in haar eentje thuis te zitten. Ze stortte zich fanatiek op het huishouden, geen woning in het complex was zo netjes en schoon.
<p data-element-id=7f87-cc89-12c6-9ac8-d0af-5dfd-3a55-c33e>
Nooit kwam er iemand bij hen op bezoek, de ouders van meneer K. hadden volgens aan het stadsarchief ontleende gegevens geen broers of zussen. Andere familieleden zijn evenmin te vinden. Uit de gegevens blijkt tevens dat de vader van meneer K.’s vader, sigarenmaker van beroep, een groot deel van zijn leven doorbracht op de psychiatrische afdeling van het Amsterdamse Buitengasthuisziekenhuis.
<p data-element-id=beb8-a749-f8b5-5ff2-d0d3-92cc-ddb9-3cf2>
Na een aantal hectische jaren aan de effectenbeurs, waarbij hij goed verdiende, liep de vader van meneer K. eveneens geestelijke averij op. Van de ene op de andere dag nam hij de metro niet meer. Tegen een buurvrouw zei hij dat de dokters hem vergiftigden en wees op zijn haar dat in één nacht grijs zou zijn geworden. In 1986 overleed hij in een verpleeghuis.
<p data-element-id=5948-be7d-2d08-2280-8b5d-2817-0512-fa77>
Na de dood van zijn vader vernam meneer K. dat Medtronics het filiaal op Schiphol naar Limburg wilde verplaatsen. Meneer K. was furieus en weigerde mee te gaan. Na jaren procederen nam hij, een zenuwinzinking nabij, genoegen met een afkoopsom.
<p data-element-id=89d5-45aa-7519-ff66-ae61-6734-2573-c59f>
Zo kwam hij thuis te zitten met zijn manisch poetsende moeder, die door buurtkinderen vanwege haar kromgroeiende rug voor heks werd uitgemaakt. Alleen met de vriendelijke mevrouw van twee deuren verder spraken ze heel af en toe. Meneer K. zei tegen haar dat hij Nieuw-Zeeland miste. Hij had er een vriendin gehad, een geluk dat hem in Nederland nooit ten deel zou vallen.
<p data-element-id=cefa-02c7-ed2a-4880-82d4-d8cd-02ef-756e>
*
<p data-element-id=d4e3-1a0c-4bb1-6f7a-2078-36db-3109-d0a7>
Met zijn moeder maakte meneer K. uitjes. Ze hadden doorlopende treinabonnementen en reisden het hele land door. Ouwehands Dierenpark in Rhenen was favoriet, ze kwamen er minstens eenmaal per week. Ze kenden er de dieren en de dieren hen.
<p data-element-id=13a5-c282-a17d-a63e-3f5b-b276-159b-e8d5>
Tijdens de uitjes werden meteen boodschappen gedaan. De buurvrouw zag hen op een keer met tassen vol levensmiddelen uit de trein stappen. ‘De sla is in Oldenzaal vele malen goedkoper dan hier’, zei meneer K.’s moeder toen.
<p data-element-id=f9c1-c2dd-ad84-f5e7-f669-7297-b5d5-ea16>
Op een ochtend in 2007 liep meneer K. ontzet over de galerij, zijn moeder lag dood in haar bed. ‘Ze zegt niks meer tegen me’, zei hij tegen de buren die zich over hem ontfermden.
<p data-element-id=bd1b-0ed6-6fc4-684c-a728-a0cd-6041-6ada>
Meneer K. leek het verlies redelijk te boven te komen. Elke ochtend om 8 uur controleerde hij zijn brievenbus, hij scheen in goeden doen. Wel viel het de buurvrouw op dat hij de kleren van zijn vader droeg, ouderwetse pantalons die niet eens tot aan zijn enkels kwamen.
<p data-element-id=b407-1932-8e89-ece6-bf9c-b298-378e-5d47>
Ook al was hij in z’n eentje, de uitjes bleef hij maken. Tegen de buurvrouw zei hij dat de dieren in Rhenen zijn moeder misten, hij kon ze niet in de steek laten. Hij had een moderne camera gekocht, daarmee legde hij zijn excursies nauwkeurig vast.
<p data-element-id=7ff5-9b6b-0fcd-9b26-408f-2613-851b-e31f>
Na een paar jaar begon meneer K. te verslonzen. De scheiding in zijn haar verdween, lange lokken hingen op zijn schouders. Hij had ineens een baard, zijn tanden zagen geel.
<p data-element-id=7a2c-3086-3c28-8125-dd41-c1a7-7f4a-bde1>
De buurvrouw vroeg waarom hij niet meer naar de kapper ging. ‘Ik kan niet zitten’, zei hij toen. Daarom bleef hij in de trein ook altijd staan. De kalmerende medicijnen die hem waren voorgeschreven toen hij procedures voerde tegen de pacemakerfabrikant kreeg hij op recept, eens per jaar kwam hij met een grote zak bij de apotheek vandaan. Naar de dokter ging hij niet, zij is ook nooit bij hem gekomen. Zonder mobiele telefoon of mailadres was hij moeilijk te bereiken.
<p data-element-id=9b34-a086-18d5-265a-83d2-da14-ee28-aa71>
Het verval vond geleidelijk plaats. Opeens was het normaal dat meneer K. voorwerpen van straat haalde en dat hij bij de Vomar alleen nog maar yoghurt kocht. Tientallen soorten, in allerlei smaken.
<p data-element-id=7147-1059-6110-2408-f00c-52db-7734-6298>
De buurvrouw zag hem in december voor het laatst, in het trappenhuis. Meneer K. droeg een viezig petje, de gele tanden waren zwart of verdwenen. Hij zei dat hij al een hele poos niet meer de trein in mocht, hij snapte niet waarom, in Rhenen zouden de dieren hem missen.
<p data-element-id=d01f-241a-3f9e-d2fa-41ae-fb96-4aa8-e494>
*
<p data-element-id=2d44-8ea9-1dc3-6710-e101-5c6e-6ead-87a5>
De halofoonmonteur stelde de woningcorporatie op de hoogte van de ontmoeting met het wezen met de mijnwerkershelm. Een gespecialiseerde medewerker van de corporatie werd ingeschakeld.
<p data-element-id=b01a-f7cb-b683-a237-48e5-fa04-f06e-3215>
Omdat deze medewerker draalde, verscheen pas eind januari een afvaardiging van Hygiënisch Woning Toezicht van de GGD Amsterdam bij meneer K. aan de deur. Geen gehoor. Daarop kwam de procedure in een stroomversnelling, ook omdat de troep voor de deur ondanks aanmaningen van de wijkbeheerder niet werd verwijderd en zich bovendien veel post in de brievenbus leek te bevinden.
<p data-element-id=a570-401b-ff38-d8b3-6fcc-ff2e-94a4-d76a>
Dinsdag 8 maart, rond lunchtijd, braken agenten de deur open. Ze wilden naar binnen maar dat ging niet. Speciale troepen waren nodig, mannen met maskers in beschermende pakken.
<p data-element-id=b6dc-6cea-a9ba-7dd1-d0ca-1649-740a-781e>
In de deinende afvalmuur vonden ze een opening die met een heel gangenstelsel in verbinding bleek te staan. Kruipend werd de tot mijn omgetoverde woning verkend, ratten en muizen schoten alle kanten op. Helemaal achterin bevond zich een slaapkamer waar een instorting had plaatsgevonden. Bedolven onder systematisch geordende yoghurtverpakkingen, andere vuilnis en een van levenssappen doordrenkt matras werd een lichaam opgedolven.
<p data-element-id=9794-831f-374e-03cb-af7f-3c71-81cc-0c88>
Het lichaam kon er niet uit. Een vrachtwagen met een enorme container verscheen onder de galerij aan de Opheusdenhof. Pas om elf uur ’s avonds was er voldoende puin over de balustrade geworpen om het lichaam af te voeren. Contouren van het oorspronkelijke, door de moeder van meneer K. zorgvuldig onderhouden meubilair kwamen tevoorschijn, onder meer een antieke kast met authentiek Maori-houtsnijwerk.
<p data-element-id=4e55-a14a-090f-bfd0-2756-ef76-0b54-d10f>
Het lichaam verkeerde in vergevorderde staat van ontbinding, identificatie aan de hand van foto’s was onmogelijk. In de mond zaten geen tanden meer, bovendien was meneer K. al een eeuwigheid niet meer bij de tandarts geweest. Dna-materiaal kon worden afgenomen maar er is geen familielid om het mee te vergelijken.
<p data-element-id=b07f-21f0-1579-7985-9c77-8a9f-e2b3-9c0b>
*
<p data-element-id=2608-39da-ee5c-2995-1fba-6478-8d5e-069d>
Op dinsdag 22 maart begraaf ik om 10 uur ’s ochtends een anoniem persoon. Met de dichter van dienst, twee betrokken medewerksters van de woningcorporatie en de uitvaartleider van de begrafenisonderneming die het lichaam bij het gerechtelijk laboratorium ophaalde en eenvoudig heeft gekist.
<p data-element-id=a05a-3f98-f86c-03da-54bb-a389-f1e1-c912>
Tijdens de dienst in de aula heb ik muziek van de Nieuw-Zeelandse componisten Douglas Lilburn en David Farquhar laten spelen, en de <i>Miner’s Hymn </i>van Alexander McCall Smith.
<div data-element-id=3d6d1864-a40f-42ee-a643-a4eea5263e89>Glück auf
<p data-element-id=ae38-42b4-8678-8306-f216-3514-79a7-8d42><br>Hoe kalm, N.N., wel was de dood<br>daar in de mijn, die bovengronds door<br>jou was opgedolven om vredig in te<br>blijven? Heb je Haar gezien, de helpster<br>in de nood der kompels? Barbara<br>gehoord? Gevoeld hoe Zij jouw handen<br>stuurde bij het bouwen aan bewaring<br>van je eenzaamheid?
</p>
<p data-element-id=eab1-d7ae-d7ba-1d87-3ccc-0b76-7a2c-1194>
Onder, boven, thuis en wereld, buiten,<br>binnen − alles steeds weer omgekeerd.<br>Vind het maar eens vreemd een ondergronds<br>refugium te willen bovengraven: de zon gaat<br>heden onder in het Oosten. Schuilplaatstijd.
</p>
<p data-element-id=1fcc-b297-5f95-46d3-0657-6c5e-eba5-5eb1>
Onbekende lotgenoot: Glück auf! Daal<br>maar eindelijk veilig op. Als Zij ergens<br>is voor jou, dan is dat ergens hier.
</p>
<p data-element-id=9870-5b09-6c97-2282-6abe-f937-4bee-344a>
<i>Atte Jongstra schreef dit gedicht speciaal voor de gestorvene en las het bij de uitvaart voor.</i>
</p>
</div></section></div><script data-template-shadow-root>(() => { document.currentScript.remove(); const processNode = node => { node.querySelectorAll("template[shadowmode]").forEach(element=>{ let shadowRoot = getShadowRoot(element.parentElement); if (!shadowRoot) { try { shadowRoot = element.parentElement.attachShadow({mode:element.getAttribute("shadowmode"),delegatesFocus:Boolean(element.getAttribute("delegatesfocus"))}); shadowRoot.innerHTML = element.innerHTML; element.remove(); } catch (error) {} if (shadowRoot) { processNode(shadowRoot); } } }) }; const FORBIDDEN_TAG_NAMES = ["a","area","audio","base","br","col","command","embed","hr","img","iframe","input","keygen","link","meta","param","source","track","video","wbr"]; const NOTE_TAGNAME = "single-file-note"; const NOTE_CLASS = "note"; const NOTE_ANCHORED_CLASS = "note-anchored"; const NOTE_SELECTED_CLASS = "note-selected"; const NOTE_MOVING_CLASS = "note-moving"; const NOTE_MASK_MOVING_CLASS = "note-mask-moving"; const MASK_CLASS = "single-file-mask"; const HIGHLIGHT_CLASS = "single-file-highlight"; const NOTES_WEB_STYLESHEET = ".note { all: initial; display: flex; flex-direction: column; height: 150px; width: 150px; position: absolute; top: 10px; left: 10px; border: 1px solid rgb(191, 191, 191); z-index: 2147483646; box-shadow: 3px 3px 3px rgba(33, 33, 33, .7); min-height: 100px; min-width: 100px; } .note-selected { z-index: 2147483647; } .note-hidden { display: none; } .note-collapsed { min-height: 30px; max-height: 30px; overflow: hidden; } .note textarea { all: initial; white-space: break-spaces; font-family: Arial, Helvetica, sans-serif; font-size: 14px; padding: 3px; height: 100%; border: 1px solid transparent; resize: none; } .note textarea:focus { border: 1px dotted rgb(160, 160, 160); } .note header { all: initial; min-height: 30px; cursor: grab; user-select: none; } .note .note-remove { all: initial; position: absolute; right: 0px; top: 2px; padding: 5px; opacity: .5; cursor: pointer; user-select: none; width: 16px; height: 16px; } .note .note-anchor { all: initial; position: absolute; left: 0px; top: 2px; padding: 5px; opacity: .25; cursor: pointer; width: 16px; height: 16px; } .note .note-resize { all: initial; position: absolute; bottom: -5px; right: -5px; height: 15px; width: 15px; cursor: nwse-resize; user-select: none; } .note .note-remove:hover { opacity: 1; } .note .note-anchor:hover { opacity: .5; } .note-anchored .note-anchor { opacity: .5; } .note-anchored .note-anchor:hover { opacity: 1; } .note-moving { opacity: .75; box-shadow: 6px 6px 3px rgba(33, 33, 33, .7); } .note-moving * { cursor: grabbing; } .note-yellow header { background-color: #f5f545; } .note-yellow textarea { background-color: #ffff7c; } .note-pink header { background-color: #ffa59f; } .note-pink textarea { background-color: #ffbbb6; } .note-blue header { background-color: #84c8ff; } .note-blue textarea { background-color: #95d0ff; } .note-green header { background-color: #93ef8d; } .note-green textarea { background-color: #9cff95; }"; const MASK_WEB_STYLESHEET = ".note-mask { all: initial; position: fixed; z-index: 2147483645; pointer-events: none; background-color: transparent; transition: background-color 125ms; } .note-mask-moving.note-yellow { background-color: rgba(255, 255, 124, .3); } .note-mask-moving.note-pink { background-color: rgba(255, 187, 182, .3); } .note-mask-moving.note-blue { background-color: rgba(149, 208, 255, .3); } .note-mask-moving.note-green { background-color: rgba(156, 255, 149, .3); } .page-mask { all: initial; position: fixed; top: 0; left: 0; width: 0; height: 0; z-index: 2147483646; } .page-mask-active { width: 100vw; height: 100vh; }"; const NOTE_HEADER_HEIGHT = 25; const PAGE_MASK_ACTIVE_CLASS = "page-mask-active"; const REMOVED_CONTENT_CLASS = "single-file-removed"; const reflowNotes = function reflowNotes() { document.querySelectorAll(NOTE_TAGNAME).forEach(containerElement => { const noteElement = containerElement.shadowRoot.querySelector("." + NOTE_CLASS); const noteBoundingRect = noteElement.getBoundingClientRect(); const anchorElement = getAnchorElement(containerElement); const anchorBoundingRect = anchorElement.getBoundingClientRect(); const maxX = anchorBoundingRect.x + Math.max(0, anchorBoundingRect.width - noteBoundingRect.width); const minX = anchorBoundingRect.x; const maxY = anchorBoundingRect.y + Math.max(0, anchorBoundingRect.height - NOTE_HEADER_HEIGHT); const minY = anchorBoundingRect.y; let left = parseInt(noteElement.style.getPropertyValue("left")); let top = parseInt(noteElement.style.getPropertyValue("top")); if (noteBoundingRect.x > maxX) { left -= noteBoundingRect.x - maxX; } if (noteBoundingRect.x < minX) { left += minX - noteBoundingRect.x; } if (noteBoundingRect.y > maxY) { top -= noteBoundingRect.y - maxY; } if (noteBoundingRect.y < minY) { top += minY - noteBoundingRect.y; } noteElement.style.setProperty("position", "absolute"); noteElement.style.setProperty("left", left + "px"); noteElement.style.setProperty("top", top + "px"); }); }; const addNoteRef = function addNoteRef(anchorElement, noteId) { const noteRefs = getNoteRefs(anchorElement); noteRefs.push(noteId); setNoteRefs(anchorElement, noteRefs); }; const deleteNoteRef = function deleteNoteRef(containerElement, noteId) { const anchorElement = getAnchorElement(containerElement); const noteRefs = getNoteRefs(anchorElement).filter(noteRefs => noteRefs != noteId); if (noteRefs.length) { setNoteRefs(anchorElement, noteRefs); } else { delete anchorElement.dataset.singleFileNoteRefs; } }; const getNoteRefs = function getNoteRefs(anchorElement) { return JSON.parse("[" + (anchorElement.dataset.singleFileNoteRefs || "") + "]"); }; const setNoteRefs = function setNoteRefs(anchorElement, noteRefs) { anchorElement.dataset.singleFileNoteRefs = noteRefs.toString(); }; const getAnchorElement = function getAnchorElement(containerElement) { return document.querySelector("[data-single-file-note-refs^=" + JSON.stringify(containerElement.dataset.noteId) + "], [data-single-file-note-refs$=" + JSON.stringify(containerElement.dataset.noteId) + "], [data-single-file-note-refs*=" + JSON.stringify("," + containerElement.dataset.noteId + ",") + "]") || document.documentElement; }; const getMaskElement = function getMaskElement(className, containerClassName) { let maskElement = document.documentElement.querySelector("." + className); if (!maskElement) { maskElement = document.createElement("div"); const maskContainerElement = document.createElement("div"); if (containerClassName) { maskContainerElement.classList.add(containerClassName); } maskContainerElement.classList.add(MASK_CLASS); const firstNote = document.querySelector(NOTE_TAGNAME); if (firstNote && firstNote.parentElement == document.documentElement) { document.documentElement.insertBefore(maskContainerElement, firstNote); } else { document.documentElement.appendChild(maskContainerElement); } maskElement.classList.add(className); const maskShadow = maskContainerElement.attachShadow({ mode: "open" }); maskShadow.appendChild(getStyleElement(MASK_WEB_STYLESHEET)); maskShadow.appendChild(maskElement); return maskElement; } }; const getStyleElement = function getStyleElement(stylesheet) { const linkElement = document.createElement("style"); linkElement.textContent = stylesheet; return linkElement; }; const attachNoteListeners = function attachNoteListeners(containerElement, editable = false) { const SELECT_PX_THRESHOLD = 4; const COLLAPSING_NOTE_DELAY = 750; const noteShadow = containerElement.shadowRoot; const noteElement = noteShadow.childNodes[1]; const headerElement = noteShadow.querySelector("header"); const mainElement = noteShadow.querySelector("textarea"); const noteId = containerElement.dataset.noteId; const resizeElement = noteShadow.querySelector(".note-resize"); const anchorIconElement = noteShadow.querySelector(".note-anchor"); const removeNoteElement = noteShadow.querySelector(".note-remove"); mainElement.readOnly = !editable; if (!editable) { anchorIconElement.style.setProperty("display", "none", "important"); } else { anchorIconElement.style.removeProperty("display"); } headerElement.ontouchstart = headerElement.onmousedown = event => { if (event.target == headerElement) { collapseNoteTimeout = setTimeout(() => { noteElement.classList.toggle("note-collapsed"); hideMaskNote(); }, COLLAPSING_NOTE_DELAY); event.preventDefault(); const position = getPosition(event); const clientX = position.clientX; const clientY = position.clientY; const boundingRect = noteElement.getBoundingClientRect(); const deltaX = clientX - boundingRect.left; const deltaY = clientY - boundingRect.top; maskPageElement.classList.add(PAGE_MASK_ACTIVE_CLASS); document.documentElement.style.setProperty("user-select", "none", "important"); anchorElement = getAnchorElement(containerElement); displayMaskNote(); selectNote(noteElement); moveNote(event, deltaX, deltaY); movingNoteMode = { event, deltaX, deltaY }; document.documentElement.ontouchmove = document.documentElement.onmousemove = event => { clearTimeout(collapseNoteTimeout); if (!movingNoteMode) { movingNoteMode = { deltaX, deltaY }; } movingNoteMode.event = event; moveNote(event, deltaX, deltaY); }; } }; resizeElement.ontouchstart = resizeElement.onmousedown = event => { event.preventDefault(); resizingNoteMode = true; selectNote(noteElement); maskPageElement.classList.add(PAGE_MASK_ACTIVE_CLASS); document.documentElement.style.setProperty("user-select", "none", "important"); document.documentElement.ontouchmove = document.documentElement.onmousemove = event => { event.preventDefault(); const { clientX, clientY } = getPosition(event); const boundingRectNote = noteElement.getBoundingClientRect(); noteElement.style.width = clientX - boundingRectNote.left + "px"; noteElement.style.height = clientY - boundingRectNote.top + "px"; }; }; anchorIconElement.ontouchend = anchorIconElement.onclick = event => { event.preventDefault(); noteElement.classList.toggle(NOTE_ANCHORED_CLASS); if (!noteElement.classList.contains(NOTE_ANCHORED_CLASS)) { deleteNoteRef(containerElement, noteId); addNoteRef(document.documentElement, noteId); } onUpdate(false); }; removeNoteElement.ontouchend = removeNoteElement.onclick = event => { event.preventDefault(); deleteNoteRef(containerElement, noteId); containerElement.remove(); }; noteElement.onmousedown = () => { selectNote(noteElement); }; function moveNote(event, deltaX, deltaY) { event.preventDefault(); const { clientX, clientY } = getPosition(event); noteElement.classList.add(NOTE_MOVING_CLASS); if (editable) { if (noteElement.classList.contains(NOTE_ANCHORED_CLASS)) { deleteNoteRef(containerElement, noteId); anchorElement = getTarget(clientX, clientY) || document.documentElement; addNoteRef(anchorElement, noteId); } else { anchorElement = document.documentElement; } } document.documentElement.insertBefore(containerElement, maskPageElement.getRootNode().host); noteElement.style.setProperty("left", (clientX - deltaX) + "px"); noteElement.style.setProperty("top", (clientY - deltaY) + "px"); noteElement.style.setProperty("position", "fixed"); displayMaskNote(); } function displayMaskNote() { if (anchorElement == document.documentElement || anchorElement == document.documentElement) { hideMaskNote(); } else { const boundingRectAnchor = anchorElement.getBoundingClientRect(); maskNoteElement.classList.add(NOTE_MASK_MOVING_CLASS); if (selectedNote) { maskNoteElement.classList.add(selectedNote.dataset.color); } maskNoteElement.style.setProperty("top", (boundingRectAnchor.y - 3) + "px"); maskNoteElement.style.setProperty("left", (boundingRectAnchor.x - 3) + "px"); maskNoteElement.style.setProperty("width", (boundingRectAnchor.width + 3) + "px"); maskNoteElement.style.setProperty("height", (boundingRectAnchor.height + 3) + "px"); } } function hideMaskNote() { maskNoteElement.classList.remove(NOTE_MASK_MOVING_CLASS); if (selectedNote) { maskNoteElement.classList.remove(selectedNote.dataset.color); } } function selectNote(noteElement) { if (selectedNote) { selectedNote.classList.remove(NOTE_SELECTED_CLASS); maskNoteElement.classList.remove(selectedNote.dataset.color); } noteElement.classList.add(NOTE_SELECTED_CLASS); noteElement.classList.add(noteElement.dataset.color); selectedNote = noteElement; } function getTarget(clientX, clientY) { const targets = Array.from(document.elementsFromPoint(clientX, clientY)).filter(element => element.matches("html *:not(" + NOTE_TAGNAME + "):not(." + MASK_CLASS + ")")); if (!targets.includes(document.documentElement)) { targets.push(document.documentElement); } let newTarget, target = targets[0], boundingRect = target.getBoundingClientRect(); newTarget = determineTargetElement("floor", target, clientX - boundingRect.left, getMatchedParents(target, "left")); if (newTarget == target) { newTarget = determineTargetElement("ceil", target, boundingRect.left + boundingRect.width - clientX, getMatchedParents(target, "right")); } if (newTarget == target) { newTarget = determineTargetElement("floor", target, clientY - boundingRect.top, getMatchedParents(target, "top")); } if (newTarget == target) { newTarget = determineTargetElement("ceil", target, boundingRect.top + boundingRect.height - clientY, getMatchedParents(target, "bottom")); } target = newTarget; while (boundingRect = target && target.getBoundingClientRect(), boundingRect && boundingRect.width <= SELECT_PX_THRESHOLD && boundingRect.height <= SELECT_PX_THRESHOLD) { target = target.parentElement; } return target; } function getMatchedParents(target, property) { let element = target, matchedParent, parents = []; do { const boundingRect = element.getBoundingClientRect(); if (element.parentElement && !element.parentElement.tagName.toLowerCase() != NOTE_TAGNAME && !element.classList.contains(MASK_CLASS)) { const parentBoundingRect = element.parentElement.getBoundingClientRect(); matchedParent = Math.abs(parentBoundingRect[property] - boundingRect[property]) <= SELECT_PX_THRESHOLD; if (matchedParent) { if (element.parentElement.clientWidth > SELECT_PX_THRESHOLD && element.parentElement.clientHeight > SELECT_PX_THRESHOLD && ((element.parentElement.clientWidth - element.clientWidth > SELECT_PX_THRESHOLD) || (element.parentElement.clientHeight - element.clientHeight > SELECT_PX_THRESHOLD))) { parents.push(element.parentElement); } element = element.parentElement; } } else { matchedParent = false; } } while (matchedParent && element); return parents; } function determineTargetElement(roundingMethod, target, widthDistance, parents) { if (Math[roundingMethod](widthDistance / SELECT_PX_THRESHOLD) <= parents.length) { target = parents[parents.length - Math[roundingMethod](widthDistance / SELECT_PX_THRESHOLD) - 1]; } return target; } }; const anchorNote = function anchorNote(event, noteElement, deltaX, deltaY) { event.preventDefault(); const { clientX, clientY } = getPosition(event); document.documentElement.style.removeProperty("user-select"); noteElement.classList.remove(NOTE_MOVING_CLASS); maskNoteElement.classList.remove(NOTE_MASK_MOVING_CLASS); maskPageElement.classList.remove(PAGE_MASK_ACTIVE_CLASS); maskNoteElement.classList.remove(noteElement.dataset.color); const headerElement = noteElement.querySelector("header"); headerElement.ontouchmove = document.documentElement.onmousemove = null; let currentElement = anchorElement; let positionedElement; while (currentElement.parentElement && !positionedElement) { if (!FORBIDDEN_TAG_NAMES.includes(currentElement.tagName.toLowerCase())) { const currentElementStyle = getComputedStyle(currentElement); if (currentElementStyle.position != "static") { positionedElement = currentElement; } } currentElement = currentElement.parentElement; } if (!positionedElement) { positionedElement = document.documentElement; } const containerElement = noteElement.getRootNode().host; if (positionedElement == document.documentElement) { const firstMaskElement = document.querySelector("." + MASK_CLASS); firstMaskElement.parentElement.insertBefore(containerElement, firstMaskElement); } else { positionedElement.appendChild(containerElement); } const boundingRectPositionedElement = positionedElement.getBoundingClientRect(); const stylePositionedElement = window.getComputedStyle(positionedElement); const borderX = parseInt(stylePositionedElement.getPropertyValue("border-left-width")); const borderY = parseInt(stylePositionedElement.getPropertyValue("border-top-width")); noteElement.style.setProperty("position", "absolute"); noteElement.style.setProperty("left", (clientX - boundingRectPositionedElement.x - deltaX - borderX) + "px"); noteElement.style.setProperty("top", (clientY - boundingRectPositionedElement.y - deltaY - borderY) + "px"); }; const getPosition = function getPosition(event) { if (event.touches && event.touches.length) { const touch = event.touches[0]; return touch; } else { return event; } }; const onMouseUp = function onMouseUp(event) { if (highlightSelectionMode) { highlightSelection(); onUpdate(false); } if (removeHighlightMode) { let element = event.target, done; while (element && !done) { if (element.classList.contains(HIGHLIGHT_CLASS)) { document.querySelectorAll("." + HIGHLIGHT_CLASS + "[data-singlefile-highlight-id=" + JSON.stringify(element.dataset.singlefileHighlightId) + "]").forEach(highlightedElement => { resetHighlightedElement(highlightedElement); onUpdate(false); }); done = true; } element = element.parentElement; } } if (resizingNoteMode) { resizingNoteMode = false; document.documentElement.style.removeProperty("user-select"); maskPageElement.classList.remove(PAGE_MASK_ACTIVE_CLASS); document.documentElement.ontouchmove = document.documentElement.onmousemove = null; onUpdate(false); } if (movingNoteMode) { anchorNote(movingNoteMode.event || event, selectedNote, movingNoteMode.deltaX, movingNoteMode.deltaY); movingNoteMode = null; document.documentElement.ontouchmove = document.documentElement.onmousemove = null; onUpdate(false); } if (collapseNoteTimeout) { clearTimeout(collapseNoteTimeout); collapseNoteTimeout = null; } if ((cuttingMode || cuttingOuterMode) && cuttingPath) { if (event.ctrlKey) { const element = cuttingPath[cuttingPathIndex]; element.classList.toggle(cuttingMode ? CUT_SELECTED_CLASS : CUT_OUTER_SELECTED_CLASS); } else { validateCutElement(event.shiftKey); } } }; const getShadowRoot = function getShadowRoot(element) { const chrome = window.chrome; if (element.openOrClosedShadowRoot) { return element.openOrClosedShadowRoot; } else if (chrome && chrome.dom && chrome.dom.openOrClosedShadowRoot) { try { return chrome.dom.openOrClosedShadowRoot(element); } catch (error) { return element.shadowRoot; } } else { return element.shadowRoot; } }; const maskNoteElement = getMaskElement("note-mask"); const maskPageElement = getMaskElement("page-mask", "single-file-page-mask"); let selectedNote, highlightSelectionMode, removeHighlightMode, resizingNoteMode, movingNoteMode, collapseNoteTimeout, cuttingMode, cuttingOuterMode; window.onresize = reflowNotes; window.onUpdate = () => {}; document.documentElement.onmouseup = document.documentElement.ontouchend = onMouseUp; window.addEventListener("DOMContentLoaded", () => { processNode(document); reflowNotes(); document.querySelectorAll("single-file-note").forEach(noteElement => attachNoteListeners(noteElement)); }); })()</script><style>.single-file-highlight-yellow, .single-file-highlight-yellow-mode ::selection { background-color: #ffff7c !important; color: black !important; } .single-file-highlight-pink, .single-file-highlight-pink-mode ::selection { background-color: #ffbbb6 !important; color: black !important; } .single-file-highlight-blue, .single-file-highlight-blue-mode ::selection { background-color: #95d0ff !important; color: black !important; } .single-file-highlight-green, .single-file-highlight-green-mode ::selection { background-color: #93ef8d !important; color: black !important; } span.single-file-highlight-yellow, span.single-file-highlight-pink, span.single-file-highlight-blue, span.single-file-highlight-green { display: inline !important; } .single-file-highlight-hidden { background-color: inherit !important; color: inherit !important; } .single-file-mask { all: initial; display: contents !important; } .single-file-mask.single-file-page-mask { opacity: .99 !important; } single-file-note { all: initial !important; display: contents !important; } .single-file-cut-hover, .single-file-cut-outer-hover, .single-file-cut-selected, .single-file-cut-outer-selected { transition: outline-width 125ms !important; outline-offset: -4px !important; outline-width: 4px !important; } .single-file-cut-hover, .single-file-cut-outer-hover { outline-style: dotted !important; } .single-file-cut-selected, .single-file-cut-outer-selected { outline-style: dashed !important; } .single-file-cut-hover, .single-file-cut-selected { outline-color: red !important; } .single-file-cut-outer-hover, .single-file-cut-outer-selected { outline-color: green !important; } .single-file-cut-mode, .single-file-cut-mode * { pointer-events: auto !important; } .single-file-cut-hover, .single-file-cut-outer-hover, .single-file-remove-highlights-mode .single-file-highlight:hover { cursor: crosshair !important; } .single-file-removed { display: none !important; float: none !important; position: static !important; visibility: collapse !important; }</style>