1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-28 01:10:51 +01:00

Merge branch 'master' of github.com:perdedora/vichan into update_twig

This commit is contained in:
fowr 2023-04-21 00:05:20 -03:00
commit 87f99715c9
7 changed files with 531 additions and 2 deletions

View File

@ -34,6 +34,8 @@ vichan is a fork of (now defunc'd) [Tinyboard](http://github.com/savetheinternet
a great imageboard package, actively building on it and adding a lot of features and other a great imageboard package, actively building on it and adding a lot of features and other
improvements. improvements.
![](static/doc/timeline.svg)
### Maintainer timeline ### Maintainer timeline
1. Development Commission lead by [@basedgentoo](https://github.com/basedgentoo), [@kuz-sysadmin](https://github.com/kuz-sysadmin), and [@RealAngeleno](https://github.com/RealAngeleno). (2023 - ) 1. Development Commission lead by [@basedgentoo](https://github.com/basedgentoo), [@kuz-sysadmin](https://github.com/kuz-sysadmin), and [@RealAngeleno](https://github.com/RealAngeleno). (2023 - )
2. [@h00j](https://github.com/h00j) (2021 - ???) 2. [@h00j](https://github.com/h00j) (2021 - ???)

View File

@ -61,6 +61,7 @@ function mod_login($redirect = false) {
} }
function mod_confirm($request) { function mod_confirm($request) {
global $config;
mod_page(_('Confirm action'), $config['file_mod_confim'], array('request' => $request, 'token' => make_secure_link_token($request))); mod_page(_('Confirm action'), $config['file_mod_confim'], array('request' => $request, 'token' => make_secure_link_token($request)));
} }

9
static/doc/Makefile Normal file
View File

@ -0,0 +1,9 @@
%.png: *.gv
dot -Tpng $< -v -o $@
%.svg: *.gv
dot -Tsvg $< -v -o $@
.PHONY: all
all:
make timeline.svg timeline.png

88
static/doc/timeline.gv Normal file
View File

@ -0,0 +1,88 @@
digraph {
graph [ranksep=1,
overlap=false];
fontname="sans-serif";
subgraph main {
edge [fontname="sans-serif", fontsize=8];
node [fontname="sans-serif",
shape=box,
style="rounded,filled"
];
fourchan [label=<Proprietary 4chan.org software<BR/><B><FONT POINT-SIZE="9">(@moot&nbsp;<I>et al.</I>)</FONT></B><BR/>>];
fourchan -> fourchon [xlabel=<inspired&nbsp;>, style=dotted, penwidth=2, color=darkred];
fourchon [label=<Proprietary 4chon.net fork<BR/><B><FONT POINT-SIZE="9">(@savetheinternet)</FONT></B><BR/>20092014>];
fourchon -> tb [penwidth=2, color=darkred];
tb [label=<Tinyboard<BR/><B><FONT POINT-SIZE="9">(@savetheinternet)</FONT></B><BR/>20102014>];
tb -> fourchon;
ponychan [label=<Proprietary ponychan.net fork<BR/><B><FONT POINT-SIZE="9">(???)</FONT></B><BR/>20122015 (as MLPchan)<BR/>2015>];
tb -> ponychan;
wiz [label=<Proprietary Wizardchan fork<BR/><B><FONT POINT-SIZE="9">(@mrpacific)</FONT></B><BR/>20112012>];
tb -> wiz;
wizk [label=<Production Wizardchan fork<BR/><B><FONT POINT-SIZE="9">(@copypaste)</FONT></B><BR/>20122013>];
wiz -> wizk;
wizk -> tb;
wizk -> vichan;
vichan -> wizk;
wizana [label=<Proprietary Wizardchan fork №2<BR/><B><FONT POINT-SIZE="9">(@anachronos)</FONT></B><BR/>2013≈2016>];
wizk -> wizana;
wizchan [label=<Proprietary wizchan fork<BR/><B><FONT POINT-SIZE="9">(too many to count)</FONT></B><BR/>2016>];
wizana -> wizchan;
vichan [color=gold,
label=<vichan<BR/><B><FONT POINT-SIZE="9">(@czaks)</FONT></B><BR/>2012>];
vichannet [label=<Production vichan.net software<BR/><B><FONT POINT-SIZE="9">(Polish-language imageboard)<BR/>(@czaks)</FONT></B><BR/>2012>];
tb -> vichannet [penwidth=2, color=darkred];
vichan -> tb;
vichan -> vichannet;
leftypol [label=<leftypol.org<BR/><B><FONT POINT-SIZE="9">(@discomrade&nbsp;<I>et al.</I>)</FONT></B><BR/>≈2016>];
vichan -> leftypol;
inf [label=<infinity<BR/><B><FONT POINT-SIZE="9">(@copypaste /<BR/>★コピペ)</FONT></B><BR/>20132017>];
vichan -> inf;
infco [label=<Production 8chan.co fork<BR/><B><FONT POINT-SIZE="9">(@copypaste /<BR/>★コピペ)</FONT></B><BR/>20132016>];
vichan -> infco;
lc [label=<lainchan<BR/><B><FONT POINT-SIZE="9">(@appleman1234)</FONT></B><BR/>2016>];
vichan -> lc;
npf [label=<NPFchan<BR/><B><FONT POINT-SIZE="9">(@fallenPineapple)</FONT></B><BR/>20172019>];
vichan -> npf;
kuz [label=<Proprietary KolymaNET fork<BR/><B><FONT POINT-SIZE="9">(@kuz)</FONT></B><BR/>d/b/a soyjak.party<BR/>≈2020>];
vichan -> kuz;
vichannet -> vichan [color=darkred, penwidth=2];
leftypol -> vichan [style=dashed];
inf -> tb [style=dotted];
inf -> vichan;
infpl [label=<Production 8ch.pl fork<BR/><B><FONT POINT-SIZE="9">(@czaks)</FONT></B><BR/>20142016>];
inf -> infpl;
oib [label=<OpenIB<BR/><B><FONT POINT-SIZE="9">(@kormiku)</FONT></B><BR/>≈20172019>];
inf -> oib;
infco -> vichan [rank=min];
infco -> inf;
infpl -> vichan [style=dotted];
infpl -> inf;
e8ch [label=<Proprietary 8chan software<BR/><B><FONT POINT-SIZE="9">(@kormiku)</FONT></B><BR/>≈20172019>];
oib -> e8ch;
e8kun [label=<Proprietary 8kun software<BR/>≈2019≈2022&nbsp;<B><FONT POINT-SIZE="9">(@kormiku)</FONT></B><BR/>2022&nbsp;<B><FONT POINT-SIZE="9">(Jim Watkins)</FONT></B>>];
e8ch -> e8kun;
kuz -> vichan;
}
subgraph B {
subgraph title {
TITLE [fontname="sans-serif",
fontsize=16,
label=<<FONT POINT-SIZE="24"><FONT FACE="monospace">vichan</FONT>&nbsp;Timeline</FONT><BR/>…as of 20230329>,
shape=box,
width=10];
}
subgraph sig {
graph [rank=sink];
SIG [label=<<FONT FACE="serif">by ★コピペ</FONT>>,
labelloc=b,
shape=none];
}
{
TITLE -> fourchan -> fourchon -> tb -> vichan -> infco -> kuz -> SIG [arrowhead=0,
penwidth=0,
weight=max];
}
}
}
// vim: ts=2 sw=2 et

BIN
static/doc/timeline.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

429
static/doc/timeline.svg Normal file
View File

@ -0,0 +1,429 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 7.1.0 (0)
-->
<!-- Pages: 1 -->
<svg width="1118pt" height="1367pt"
viewBox="0.00 0.00 1117.50 1367.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1363)">
<polygon fill="white" stroke="none" points="-4,4 -4,-1363 1113.5,-1363 1113.5,4 -4,4"/>
<!-- fourchan -->
<g id="node1" class="node">
<title>fourchan</title>
<path fill="lightgrey" stroke="black" d="M511,-1239C511,-1239 325,-1239 325,-1239 319,-1239 313,-1233 313,-1227 313,-1227 313,-1215 313,-1215 313,-1209 319,-1203 325,-1203 325,-1203 511,-1203 511,-1203 517,-1203 523,-1209 523,-1215 523,-1215 523,-1227 523,-1227 523,-1233 517,-1239 511,-1239"/>
<text text-anchor="start" x="321" y="-1222.3" font-family="sans-serif" font-size="14.00">Proprietary 4chan.org software</text>
<text text-anchor="start" x="386.5" y="-1212.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@moot </text>
<text text-anchor="start" x="423.5" y="-1212.3" font-family="sans-serif" font-weight="bold" font-style="italic" font-size="9.00">et al.</text>
<text text-anchor="start" x="445.5" y="-1212.3" font-family="sans-serif" font-weight="bold" font-size="9.00">)</text>
</g>
<!-- fourchon -->
<g id="node2" class="node">
<title>fourchon</title>
<path fill="lightgrey" stroke="black" d="M497,-1131C497,-1131 339,-1131 339,-1131 333,-1131 327,-1125 327,-1119 327,-1119 327,-1098 327,-1098 327,-1092 333,-1086 339,-1086 339,-1086 497,-1086 497,-1086 503,-1086 509,-1092 509,-1098 509,-1098 509,-1119 509,-1119 509,-1125 503,-1131 497,-1131"/>
<text text-anchor="start" x="335" y="-1116.8" font-family="sans-serif" font-size="14.00">Proprietary 4chon.net fork</text>
<text text-anchor="start" x="376.5" y="-1106.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@savetheinternet)</text>
<text text-anchor="start" x="380.5" y="-1093.8" font-family="sans-serif" font-size="14.00">20092014</text>
</g>
<!-- fourchan&#45;&gt;fourchon -->
<g id="edge1" class="edge">
<title>fourchan&#45;&gt;fourchon</title>
<path fill="none" stroke="darkred" stroke-width="2" stroke-dasharray="1,5" d="M412.94,-1202.73C411.23,-1187.05 410.82,-1163.45 411.7,-1143.92"/>
<polygon fill="darkred" stroke="darkred" stroke-width="2" points="415.17,-1144.42 412.31,-1134.22 408.19,-1143.98 415.17,-1144.42"/>
<text text-anchor="start" x="379.25" y="-1169.58" font-family="sans-serif" font-size="8.00">inspired </text>
</g>
<!-- fourchan&#45;&gt;fourchon -->
<g id="edge35" class="edge">
<title>fourchan&#45;&gt;fourchon</title>
<path fill="none" stroke="black" stroke-width="0" d="M423.06,-1202.73C425.16,-1183.43 425.3,-1152.14 423.49,-1131.2"/>
</g>
<!-- tb -->
<g id="node3" class="node">
<title>tb</title>
<path fill="lightgrey" stroke="black" d="M455.5,-1014C455.5,-1014 380.5,-1014 380.5,-1014 374.5,-1014 368.5,-1008 368.5,-1002 368.5,-1002 368.5,-981 368.5,-981 368.5,-975 374.5,-969 380.5,-969 380.5,-969 455.5,-969 455.5,-969 461.5,-969 467.5,-975 467.5,-981 467.5,-981 467.5,-1002 467.5,-1002 467.5,-1008 461.5,-1014 455.5,-1014"/>
<text text-anchor="start" x="386" y="-999.8" font-family="sans-serif" font-size="14.00">Tinyboard</text>
<text text-anchor="start" x="376.5" y="-989.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@savetheinternet)</text>
<text text-anchor="start" x="380.5" y="-976.8" font-family="sans-serif" font-size="14.00">20102014</text>
</g>
<!-- fourchon&#45;&gt;tb -->
<g id="edge2" class="edge">
<title>fourchon&#45;&gt;tb</title>
<path fill="none" stroke="darkred" stroke-width="2" d="M407.13,-1085.6C404.29,-1069.05 403.75,-1046.02 405.51,-1027.01"/>
<polygon fill="darkred" stroke="darkred" stroke-width="2" points="408.95,-1027.69 406.76,-1017.32 402.01,-1026.79 408.95,-1027.69"/>
</g>
<!-- fourchon&#45;&gt;tb -->
<g id="edge36" class="edge">
<title>fourchon&#45;&gt;tb</title>
<path fill="none" stroke="black" stroke-width="0" d="M428.87,-1085.6C432.38,-1065.14 432.38,-1034.76 428.86,-1014.32"/>
</g>
<!-- tb&#45;&gt;fourchon -->
<g id="edge3" class="edge">
<title>tb&#45;&gt;fourchon</title>
<path fill="none" stroke="black" d="M418,-1014.32C418,-1031.24 418,-1054.99 418,-1074.27"/>
<polygon fill="black" stroke="black" points="414.5,-1074.09 418,-1084.09 421.5,-1074.09 414.5,-1074.09"/>
</g>
<!-- ponychan -->
<g id="node4" class="node">
<title>ponychan</title>
<path fill="lightgrey" stroke="black" d="M292.5,-897C292.5,-897 113.5,-897 113.5,-897 107.5,-897 101.5,-891 101.5,-885 101.5,-885 101.5,-850 101.5,-850 101.5,-844 107.5,-838 113.5,-838 113.5,-838 292.5,-838 292.5,-838 298.5,-838 304.5,-844 304.5,-850 304.5,-850 304.5,-885 304.5,-885 304.5,-891 298.5,-897 292.5,-897"/>
<text text-anchor="start" x="109.5" y="-882.8" font-family="sans-serif" font-size="14.00">Proprietary ponychan.net fork</text>
<text text-anchor="start" x="193" y="-872.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(???)</text>
<text text-anchor="start" x="122.5" y="-859.8" font-family="sans-serif" font-size="14.00">20122015 (as MLPchan)</text>
<text text-anchor="start" x="182" y="-845.8" font-family="sans-serif" font-size="14.00">2015</text>
</g>
<!-- tb&#45;&gt;ponychan -->
<g id="edge4" class="edge">
<title>tb&#45;&gt;ponychan</title>
<path fill="none" stroke="black" d="M379.56,-968.69C347.41,-950.44 300.96,-924.09 263.77,-902.98"/>
<polygon fill="black" stroke="black" points="265.78,-900.1 255.36,-898.21 262.33,-906.19 265.78,-900.1"/>
</g>
<!-- wiz -->
<g id="node5" class="node">
<title>wiz</title>
<path fill="lightgrey" stroke="black" d="M262.5,-766C262.5,-766 93.5,-766 93.5,-766 87.5,-766 81.5,-760 81.5,-754 81.5,-754 81.5,-733 81.5,-733 81.5,-727 87.5,-721 93.5,-721 93.5,-721 262.5,-721 262.5,-721 268.5,-721 274.5,-727 274.5,-733 274.5,-733 274.5,-754 274.5,-754 274.5,-760 268.5,-766 262.5,-766"/>
<text text-anchor="start" x="89.5" y="-751.8" font-family="sans-serif" font-size="14.00">Proprietary Wizardchan fork</text>
<text text-anchor="start" x="150.5" y="-741.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@mrpacific)</text>
<text text-anchor="start" x="140.5" y="-728.8" font-family="sans-serif" font-size="14.00">20112012</text>
</g>
<!-- tb&#45;&gt;wiz -->
<g id="edge5" class="edge">
<title>tb&#45;&gt;wiz</title>
<path fill="none" stroke="black" d="M403.64,-968.72C377.51,-929.24 323.9,-848.93 313,-838 287.45,-812.38 254.05,-789.18 226.87,-772.3"/>
<polygon fill="black" stroke="black" points="228.81,-769.39 218.45,-767.16 225.17,-775.36 228.81,-769.39"/>
</g>
<!-- vichan -->
<g id="node7" class="node">
<title>vichan</title>
<path fill="gold" stroke="gold" d="M578,-766C578,-766 544,-766 544,-766 538,-766 532,-760 532,-754 532,-754 532,-733 532,-733 532,-727 538,-721 544,-721 544,-721 578,-721 578,-721 584,-721 590,-727 590,-733 590,-733 590,-754 590,-754 590,-760 584,-766 578,-766"/>
<text text-anchor="start" x="540" y="-751.8" font-family="sans-serif" font-size="14.00">vichan</text>
<text text-anchor="start" x="541.5" y="-741.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="540" y="-728.8" font-family="sans-serif" font-size="14.00">2012</text>
</g>
<!-- tb&#45;&gt;vichan -->
<g id="edge37" class="edge">
<title>tb&#45;&gt;vichan</title>
<path fill="none" stroke="black" stroke-width="0" d="M411.49,-968.66C408.54,-937.5 412.44,-879.45 437,-838 459.23,-800.48 502.44,-771.65 531.71,-756.46"/>
</g>
<!-- vichannet -->
<g id="node10" class="node">
<title>vichannet</title>
<path fill="lightgrey" stroke="black" d="M655,-894.5C655,-894.5 467,-894.5 467,-894.5 461,-894.5 455,-888.5 455,-882.5 455,-882.5 455,-852.5 455,-852.5 455,-846.5 461,-840.5 467,-840.5 467,-840.5 655,-840.5 655,-840.5 661,-840.5 667,-846.5 667,-852.5 667,-852.5 667,-882.5 667,-882.5 667,-888.5 661,-894.5 655,-894.5"/>
<text text-anchor="start" x="463" y="-880.3" font-family="sans-serif" font-size="14.00">Production vichan.net software</text>
<text text-anchor="start" x="496" y="-870.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(Polish&#45;language imageboard)</text>
<text text-anchor="start" x="541.5" y="-861.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="540" y="-848.3" font-family="sans-serif" font-size="14.00">2012</text>
</g>
<!-- tb&#45;&gt;vichannet -->
<g id="edge12" class="edge">
<title>tb&#45;&gt;vichannet</title>
<path fill="none" stroke="darkred" stroke-width="2" d="M443.57,-968.69C464.89,-950.5 495.66,-924.24 520.36,-903.17"/>
<polygon fill="darkred" stroke="darkred" stroke-width="2" points="522.54,-905.91 527.88,-896.76 518,-900.58 522.54,-905.91"/>
</g>
<!-- wizk -->
<g id="node6" class="node">
<title>wizk</title>
<path fill="lightgrey" stroke="black" d="M192.5,-644.5C192.5,-644.5 25.5,-644.5 25.5,-644.5 19.5,-644.5 13.5,-638.5 13.5,-632.5 13.5,-632.5 13.5,-611.5 13.5,-611.5 13.5,-605.5 19.5,-599.5 25.5,-599.5 25.5,-599.5 192.5,-599.5 192.5,-599.5 198.5,-599.5 204.5,-605.5 204.5,-611.5 204.5,-611.5 204.5,-632.5 204.5,-632.5 204.5,-638.5 198.5,-644.5 192.5,-644.5"/>
<text text-anchor="start" x="21.5" y="-630.3" font-family="sans-serif" font-size="14.00">Production Wizardchan fork</text>
<text text-anchor="start" x="80" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste)</text>
<text text-anchor="start" x="71.5" y="-607.3" font-family="sans-serif" font-size="14.00">20122013</text>
</g>
<!-- wiz&#45;&gt;wizk -->
<g id="edge6" class="edge">
<title>wiz&#45;&gt;wizk</title>
<path fill="none" stroke="black" d="M165.34,-720.58C154.69,-702.14 139.33,-675.52 127.33,-654.74"/>
<polygon fill="black" stroke="black" points="130.36,-653 122.33,-646.09 124.3,-656.5 130.36,-653"/>
</g>
<!-- wizk&#45;&gt;tb -->
<g id="edge7" class="edge">
<title>wizk&#45;&gt;tb</title>
<path fill="none" stroke="black" d="M164.73,-644.82C201.69,-661.43 249.39,-687.19 283,-721 352.23,-790.64 392.51,-902.99 409.07,-958.02"/>
<polygon fill="black" stroke="black" points="405.65,-958.79 411.83,-967.4 412.37,-956.82 405.65,-958.79"/>
</g>
<!-- wizk&#45;&gt;vichan -->
<g id="edge8" class="edge">
<title>wizk&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M197.39,-644.95C295.12,-670.22 448.2,-710.79 520.6,-730.7"/>
<polygon fill="black" stroke="black" points="519.47,-734.02 530.04,-733.31 521.34,-727.27 519.47,-734.02"/>
</g>
<!-- wizana -->
<g id="node8" class="node">
<title>wizana</title>
<path fill="lightgrey" stroke="black" d="M206,-516C206,-516 12,-516 12,-516 6,-516 0,-510 0,-504 0,-504 0,-483 0,-483 0,-477 6,-471 12,-471 12,-471 206,-471 206,-471 212,-471 218,-477 218,-483 218,-483 218,-504 218,-504 218,-510 212,-516 206,-516"/>
<text text-anchor="start" x="8" y="-501.8" font-family="sans-serif" font-size="14.00">Proprietary Wizardchan fork №2</text>
<text text-anchor="start" x="77" y="-491.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@anachronos)</text>
<text text-anchor="start" x="67.5" y="-478.8" font-family="sans-serif" font-size="14.00">2013≈2016</text>
</g>
<!-- wizk&#45;&gt;wizana -->
<g id="edge10" class="edge">
<title>wizk&#45;&gt;wizana</title>
<path fill="none" stroke="black" d="M109,-599.25C109,-579.61 109,-550.41 109,-527.83"/>
<polygon fill="black" stroke="black" points="112.5,-527.9 109,-517.9 105.5,-527.9 112.5,-527.9"/>
</g>
<!-- vichan&#45;&gt;tb -->
<g id="edge13" class="edge">
<title>vichan&#45;&gt;tb</title>
<path fill="none" stroke="black" d="M531.7,-764.74C507.21,-781.06 473.69,-806.45 455,-838 433.13,-874.92 427.64,-925 424.44,-957.53"/>
<polygon fill="black" stroke="black" points="420.98,-956.86 423.48,-967.15 427.95,-957.55 420.98,-956.86"/>
</g>
<!-- vichan&#45;&gt;wizk -->
<g id="edge9" class="edge">
<title>vichan&#45;&gt;wizk</title>
<path fill="none" stroke="black" d="M531.72,-735.65C465.16,-718.99 300.79,-675.74 197.7,-647.93"/>
<polygon fill="black" stroke="black" points="198.71,-644.58 188.14,-645.35 196.88,-651.34 198.71,-644.58"/>
</g>
<!-- vichan&#45;&gt;vichannet -->
<g id="edge14" class="edge">
<title>vichan&#45;&gt;vichannet</title>
<path fill="none" stroke="black" d="M566.33,-766.44C567.81,-783.69 568.13,-808.15 567.3,-828.56"/>
<polygon fill="black" stroke="black" points="563.81,-828.34 566.76,-838.52 570.8,-828.72 563.81,-828.34"/>
</g>
<!-- leftypol -->
<g id="node11" class="node">
<title>leftypol</title>
<path fill="lightgrey" stroke="black" d="M602,-644.5C602,-644.5 520,-644.5 520,-644.5 514,-644.5 508,-638.5 508,-632.5 508,-632.5 508,-611.5 508,-611.5 508,-605.5 514,-599.5 520,-599.5 520,-599.5 602,-599.5 602,-599.5 608,-599.5 614,-605.5 614,-611.5 614,-611.5 614,-632.5 614,-632.5 614,-638.5 608,-644.5 602,-644.5"/>
<text text-anchor="start" x="525.5" y="-630.3" font-family="sans-serif" font-size="14.00">leftypol.org</text>
<text text-anchor="start" x="516" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@discomrade </text>
<text text-anchor="start" x="580" y="-620.3" font-family="sans-serif" font-weight="bold" font-style="italic" font-size="9.00">et al.</text>
<text text-anchor="start" x="602" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">)</text>
<text text-anchor="start" x="536" y="-607.3" font-family="sans-serif" font-size="14.00">≈2016</text>
</g>
<!-- vichan&#45;&gt;leftypol -->
<g id="edge15" class="edge">
<title>vichan&#45;&gt;leftypol</title>
<path fill="none" stroke="black" d="M555.64,-720.58C554.09,-702.56 553.84,-676.73 554.88,-656.17"/>
<polygon fill="black" stroke="black" points="558.37,-656.5 555.55,-646.29 551.38,-656.03 558.37,-656.5"/>
</g>
<!-- inf -->
<g id="node12" class="node">
<title>inf</title>
<path fill="lightgrey" stroke="black" d="M941.5,-520.5C941.5,-520.5 874.5,-520.5 874.5,-520.5 868.5,-520.5 862.5,-514.5 862.5,-508.5 862.5,-508.5 862.5,-478.5 862.5,-478.5 862.5,-472.5 868.5,-466.5 874.5,-466.5 874.5,-466.5 941.5,-466.5 941.5,-466.5 947.5,-466.5 953.5,-472.5 953.5,-478.5 953.5,-478.5 953.5,-508.5 953.5,-508.5 953.5,-514.5 947.5,-520.5 941.5,-520.5"/>
<text text-anchor="start" x="885.5" y="-506.3" font-family="sans-serif" font-size="14.00">infinity</text>
<text text-anchor="start" x="877" y="-496.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste /</text>
<text text-anchor="start" x="888.5" y="-487.3" font-family="sans-serif" font-weight="bold" font-size="9.00">★コピペ)</text>
<text text-anchor="start" x="870.5" y="-474.3" font-family="sans-serif" font-size="14.00">20132017</text>
</g>
<!-- vichan&#45;&gt;inf -->
<g id="edge16" class="edge">
<title>vichan&#45;&gt;inf</title>
<path fill="none" stroke="black" d="M590.41,-740.54C646.2,-735.39 767.43,-716.7 839,-649 871.87,-617.91 886.99,-566.73 895.86,-531.87"/>
<polygon fill="black" stroke="black" points="899.25,-532.74 898.28,-522.19 892.46,-531.04 899.25,-532.74"/>
</g>
<!-- infco -->
<g id="node13" class="node">
<title>infco</title>
<path fill="lightgrey" stroke="black" d="M793.5,-649C793.5,-649 644.5,-649 644.5,-649 638.5,-649 632.5,-643 632.5,-637 632.5,-637 632.5,-607 632.5,-607 632.5,-601 638.5,-595 644.5,-595 644.5,-595 793.5,-595 793.5,-595 799.5,-595 805.5,-601 805.5,-607 805.5,-607 805.5,-637 805.5,-637 805.5,-643 799.5,-649 793.5,-649"/>
<text text-anchor="start" x="640.5" y="-634.8" font-family="sans-serif" font-size="14.00">Production 8chan.co fork</text>
<text text-anchor="start" x="688" y="-624.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste /</text>
<text text-anchor="start" x="699.5" y="-615.8" font-family="sans-serif" font-weight="bold" font-size="9.00">★コピペ)</text>
<text text-anchor="start" x="681.5" y="-602.8" font-family="sans-serif" font-size="14.00">20132016</text>
</g>
<!-- vichan&#45;&gt;infco -->
<g id="edge17" class="edge">
<title>vichan&#45;&gt;infco</title>
<path fill="none" stroke="black" d="M579.25,-720.58C600.09,-702.46 633.98,-676.46 663.36,-655.85"/>
<polygon fill="black" stroke="black" points="665.25,-658.8 671.47,-650.23 661.26,-653.05 665.25,-658.8"/>
</g>
<!-- vichan&#45;&gt;infco -->
<g id="edge38" class="edge">
<title>vichan&#45;&gt;infco</title>
<path fill="none" stroke="black" stroke-width="0" d="M590.36,-727.37C620.99,-707.77 667.26,-673.3 695.56,-649.36"/>
</g>
<!-- lc -->
<g id="node14" class="node">
<title>lc</title>
<path fill="lightgrey" stroke="black" d="M305.5,-644.5C305.5,-644.5 234.5,-644.5 234.5,-644.5 228.5,-644.5 222.5,-638.5 222.5,-632.5 222.5,-632.5 222.5,-611.5 222.5,-611.5 222.5,-605.5 228.5,-599.5 234.5,-599.5 234.5,-599.5 305.5,-599.5 305.5,-599.5 311.5,-599.5 317.5,-605.5 317.5,-611.5 317.5,-611.5 317.5,-632.5 317.5,-632.5 317.5,-638.5 311.5,-644.5 305.5,-644.5"/>
<text text-anchor="start" x="242.5" y="-630.3" font-family="sans-serif" font-size="14.00">lainchan</text>
<text text-anchor="start" x="230.5" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@appleman1234)</text>
<text text-anchor="start" x="249" y="-607.3" font-family="sans-serif" font-size="14.00">2016</text>
</g>
<!-- vichan&#45;&gt;lc -->
<g id="edge18" class="edge">
<title>vichan&#45;&gt;lc</title>
<path fill="none" stroke="black" d="M531.63,-731.28C488.94,-714.87 407.08,-682.97 327.68,-649.22"/>
<polygon fill="black" stroke="black" points="329.47,-646.18 318.9,-645.47 326.73,-652.61 329.47,-646.18"/>
</g>
<!-- npf -->
<g id="node15" class="node">
<title>npf</title>
<path fill="lightgrey" stroke="black" d="M422,-644.5C422,-644.5 348,-644.5 348,-644.5 342,-644.5 336,-638.5 336,-632.5 336,-632.5 336,-611.5 336,-611.5 336,-605.5 342,-599.5 348,-599.5 348,-599.5 422,-599.5 422,-599.5 428,-599.5 434,-605.5 434,-611.5 434,-611.5 434,-632.5 434,-632.5 434,-638.5 428,-644.5 422,-644.5"/>
<text text-anchor="start" x="356.5" y="-630.3" font-family="sans-serif" font-size="14.00">NPFchan</text>
<text text-anchor="start" x="344" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@fallenPineapple)</text>
<text text-anchor="start" x="347.5" y="-607.3" font-family="sans-serif" font-size="14.00">20172019</text>
</g>
<!-- vichan&#45;&gt;npf -->
<g id="edge19" class="edge">
<title>vichan&#45;&gt;npf</title>
<path fill="none" stroke="black" d="M531.54,-722.5C502.77,-702.97 458.73,-673.06 426.44,-651.13"/>
<polygon fill="black" stroke="black" points="428.73,-648.46 418.49,-645.74 424.8,-654.25 428.73,-648.46"/>
</g>
<!-- kuz -->
<g id="node16" class="node">
<title>kuz</title>
<path fill="lightgrey" stroke="black" d="M554,-523C554,-523 388,-523 388,-523 382,-523 376,-517 376,-511 376,-511 376,-476 376,-476 376,-470 382,-464 388,-464 388,-464 554,-464 554,-464 560,-464 566,-470 566,-476 566,-476 566,-511 566,-511 566,-517 560,-523 554,-523"/>
<text text-anchor="start" x="384" y="-508.8" font-family="sans-serif" font-size="14.00">Proprietary KolymaNET fork</text>
<text text-anchor="start" x="456" y="-498.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kuz)</text>
<text text-anchor="start" x="413.5" y="-485.8" font-family="sans-serif" font-size="14.00">d/b/a soyjak.party</text>
<text text-anchor="start" x="446" y="-471.8" font-family="sans-serif" font-size="14.00">≈2020</text>
</g>
<!-- vichan&#45;&gt;kuz -->
<g id="edge20" class="edge">
<title>vichan&#45;&gt;kuz</title>
<path fill="none" stroke="black" d="M535.37,-720.53C519.54,-702.45 500.68,-675.56 490,-649 475.05,-611.83 468.04,-566.43 466.48,-534.49"/>
<polygon fill="black" stroke="black" points="469.99,-534.77 466.19,-524.88 462.99,-534.98 469.99,-534.77"/>
</g>
<!-- wizchan -->
<g id="node9" class="node">
<title>wizchan</title>
<path fill="lightgrey" stroke="black" d="M181.5,-392C181.5,-392 36.5,-392 36.5,-392 30.5,-392 24.5,-386 24.5,-380 24.5,-380 24.5,-359 24.5,-359 24.5,-353 30.5,-347 36.5,-347 36.5,-347 181.5,-347 181.5,-347 187.5,-347 193.5,-353 193.5,-359 193.5,-359 193.5,-380 193.5,-380 193.5,-386 187.5,-392 181.5,-392"/>
<text text-anchor="start" x="32.5" y="-377.8" font-family="sans-serif" font-size="14.00">Proprietary wizchan fork</text>
<text text-anchor="start" x="67" y="-367.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(too many to count)</text>
<text text-anchor="start" x="88" y="-354.8" font-family="sans-serif" font-size="14.00">2016</text>
</g>
<!-- wizana&#45;&gt;wizchan -->
<g id="edge11" class="edge">
<title>wizana&#45;&gt;wizchan</title>
<path fill="none" stroke="black" d="M109,-470.69C109,-452.04 109,-424.91 109,-403.59"/>
<polygon fill="black" stroke="black" points="112.5,-403.64 109,-393.64 105.5,-403.64 112.5,-403.64"/>
</g>
<!-- vichannet&#45;&gt;vichan -->
<g id="edge21" class="edge">
<title>vichannet&#45;&gt;vichan</title>
<path fill="none" stroke="darkred" stroke-width="2" d="M555.32,-840.03C554.08,-822.23 553.92,-798.6 554.84,-779.29"/>
<polygon fill="darkred" stroke="darkred" stroke-width="2" points="558.32,-779.66 555.48,-769.46 551.34,-779.21 558.32,-779.66"/>
</g>
<!-- leftypol&#45;&gt;vichan -->
<g id="edge22" class="edge">
<title>leftypol&#45;&gt;vichan</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M566.35,-644.78C567.91,-662.76 568.16,-688.58 567.13,-709.17"/>
<polygon fill="black" stroke="black" points="563.64,-708.86 566.46,-719.07 570.62,-709.33 563.64,-708.86"/>
</g>
<!-- inf&#45;&gt;tb -->
<g id="edge23" class="edge">
<title>inf&#45;&gt;tb</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M909.06,-520.87C909.36,-552.64 906.67,-606.98 888,-649 829.14,-781.52 795.22,-814.46 676,-897 615.35,-938.99 533.69,-964.39 478.62,-977.91"/>
<polygon fill="black" stroke="black" points="478.01,-974.45 469.1,-980.18 479.64,-981.26 478.01,-974.45"/>
</g>
<!-- inf&#45;&gt;vichan -->
<g id="edge24" class="edge">
<title>inf&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M910.89,-520.72C908.19,-554.9 893.58,-614.39 857,-649 785.65,-716.5 664.94,-735.28 601.86,-740.5"/>
<polygon fill="black" stroke="black" points="601.63,-737 591.92,-741.23 602.15,-743.98 601.63,-737"/>
</g>
<!-- infpl -->
<g id="node17" class="node">
<title>infpl</title>
<path fill="lightgrey" stroke="black" d="M936.5,-392C936.5,-392 805.5,-392 805.5,-392 799.5,-392 793.5,-386 793.5,-380 793.5,-380 793.5,-359 793.5,-359 793.5,-353 799.5,-347 805.5,-347 805.5,-347 936.5,-347 936.5,-347 942.5,-347 948.5,-353 948.5,-359 948.5,-359 948.5,-380 948.5,-380 948.5,-386 942.5,-392 936.5,-392"/>
<text text-anchor="start" x="801.5" y="-377.8" font-family="sans-serif" font-size="14.00">Production 8ch.pl fork</text>
<text text-anchor="start" x="851.5" y="-367.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="833.5" y="-354.8" font-family="sans-serif" font-size="14.00">20142016</text>
</g>
<!-- inf&#45;&gt;infpl -->
<g id="edge25" class="edge">
<title>inf&#45;&gt;infpl</title>
<path fill="none" stroke="black" d="M894.29,-466.03C887.46,-447.72 879.9,-423.22 874.96,-403.62"/>
<polygon fill="black" stroke="black" points="878.38,-402.84 872.67,-393.91 871.56,-404.45 878.38,-402.84"/>
</g>
<!-- oib -->
<g id="node18" class="node">
<title>oib</title>
<path fill="lightgrey" stroke="black" d="M1053.5,-392C1053.5,-392 978.5,-392 978.5,-392 972.5,-392 966.5,-386 966.5,-380 966.5,-380 966.5,-359 966.5,-359 966.5,-353 972.5,-347 978.5,-347 978.5,-347 1053.5,-347 1053.5,-347 1059.5,-347 1065.5,-353 1065.5,-359 1065.5,-359 1065.5,-380 1065.5,-380 1065.5,-386 1059.5,-392 1053.5,-392"/>
<text text-anchor="start" x="991.5" y="-377.8" font-family="sans-serif" font-size="14.00">OpenIB</text>
<text text-anchor="start" x="991" y="-367.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kormiku)</text>
<text text-anchor="start" x="974.5" y="-354.8" font-family="sans-serif" font-size="14.00">≈20172019</text>
</g>
<!-- inf&#45;&gt;oib -->
<g id="edge26" class="edge">
<title>inf&#45;&gt;oib</title>
<path fill="none" stroke="black" d="M931.43,-466.03C948.4,-446.86 971.38,-420.91 989.1,-400.89"/>
<polygon fill="black" stroke="black" points="991.57,-403.38 995.58,-393.57 986.33,-398.74 991.57,-403.38"/>
</g>
<!-- infco&#45;&gt;vichan -->
<g id="edge27" class="edge">
<title>infco&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M684.14,-649.37C658.97,-668.4 625,-694.09 599.12,-713.67"/>
<polygon fill="black" stroke="black" points="597.05,-710.85 591.19,-719.67 601.27,-716.43 597.05,-710.85"/>
</g>
<!-- infco&#45;&gt;inf -->
<g id="edge28" class="edge">
<title>infco&#45;&gt;inf</title>
<path fill="none" stroke="black" d="M758.16,-594.79C787.46,-575.18 827.71,-548.24 859.12,-527.21"/>
<polygon fill="black" stroke="black" points="860.94,-530.21 867.31,-521.74 857.05,-524.39 860.94,-530.21"/>
</g>
<!-- infco&#45;&gt;kuz -->
<g id="edge39" class="edge">
<title>infco&#45;&gt;kuz</title>
<path fill="none" stroke="black" stroke-width="0" d="M667.31,-594.64C626.57,-573.85 569.82,-544.91 527.81,-523.48"/>
</g>
<!-- kuz&#45;&gt;vichan -->
<g id="edge33" class="edge">
<title>kuz&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M479.33,-523.37C484.44,-555.15 491.22,-607.27 508,-649 517.01,-671.41 531.85,-694.06 543.72,-711.44"/>
<polygon fill="black" stroke="black" points="540.56,-713.02 549.1,-719.28 546.33,-709.06 540.56,-713.02"/>
</g>
<!-- SIG -->
<g id="node22" class="node">
<title>SIG</title>
<text text-anchor="start" x="433.5" y="-2.8" font-family="serif" font-size="14.00">by ★コピペ</text>
</g>
<!-- kuz&#45;&gt;SIG -->
<g id="edge40" class="edge">
<title>kuz&#45;&gt;SIG</title>
<path fill="none" stroke="black" stroke-width="0" d="M471,-463.59C471,-374.44 471,-105.57 471,-35.73"/>
</g>
<!-- infpl&#45;&gt;vichan -->
<g id="edge29" class="edge">
<title>infpl&#45;&gt;vichan</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M866.9,-392.37C854.7,-457.19 819.24,-644.05 815,-649 760.35,-712.81 658.15,-733.09 601.47,-739.53"/>
<polygon fill="black" stroke="black" points="601.19,-736.04 591.6,-740.54 601.91,-743 601.19,-736.04"/>
</g>
<!-- infpl&#45;&gt;inf -->
<g id="edge30" class="edge">
<title>infpl&#45;&gt;inf</title>
<path fill="none" stroke="black" d="M882.98,-392.44C889.76,-409.85 897.58,-434.6 902.94,-455.13"/>
<polygon fill="black" stroke="black" points="899.48,-455.7 905.29,-464.56 906.27,-454.01 899.48,-455.7"/>
</g>
<!-- e8ch -->
<g id="node19" class="node">
<title>e8ch</title>
<path fill="lightgrey" stroke="black" d="M1097.5,-275C1097.5,-275 934.5,-275 934.5,-275 928.5,-275 922.5,-269 922.5,-263 922.5,-263 922.5,-242 922.5,-242 922.5,-236 928.5,-230 934.5,-230 934.5,-230 1097.5,-230 1097.5,-230 1103.5,-230 1109.5,-236 1109.5,-242 1109.5,-242 1109.5,-263 1109.5,-263 1109.5,-269 1103.5,-275 1097.5,-275"/>
<text text-anchor="start" x="930.5" y="-260.8" font-family="sans-serif" font-size="14.00">Proprietary 8chan software</text>
<text text-anchor="start" x="991" y="-250.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kormiku)</text>
<text text-anchor="start" x="974.5" y="-237.8" font-family="sans-serif" font-size="14.00">≈20172019</text>
</g>
<!-- oib&#45;&gt;e8ch -->
<g id="edge31" class="edge">
<title>oib&#45;&gt;e8ch</title>
<path fill="none" stroke="black" d="M1016,-346.6C1016,-329.65 1016,-305.91 1016,-286.64"/>
<polygon fill="black" stroke="black" points="1019.5,-286.83 1016,-276.83 1012.5,-286.83 1019.5,-286.83"/>
</g>
<!-- e8kun -->
<g id="node20" class="node">
<title>e8kun</title>
<path fill="lightgrey" stroke="black" d="M1094,-158C1094,-158 938,-158 938,-158 932,-158 926,-152 926,-146 926,-146 926,-120 926,-120 926,-114 932,-108 938,-108 938,-108 1094,-108 1094,-108 1100,-108 1106,-114 1106,-120 1106,-120 1106,-146 1106,-146 1106,-152 1100,-158 1094,-158"/>
<text text-anchor="start" x="934" y="-143.8" font-family="sans-serif" font-size="14.00">Proprietary 8kun software</text>
<text text-anchor="start" x="944" y="-129.8" font-family="sans-serif" font-size="14.00">≈2019≈2022 </text>
<text text-anchor="start" x="1038" y="-129.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kormiku)</text>
<text text-anchor="start" x="964" y="-115.8" font-family="sans-serif" font-size="14.00">2022 </text>
<text text-anchor="start" x="1009" y="-115.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(Jim Watkins)</text>
</g>
<!-- e8ch&#45;&gt;e8kun -->
<g id="edge32" class="edge">
<title>e8ch&#45;&gt;e8kun</title>
<path fill="none" stroke="black" d="M1016,-229.67C1016,-212.78 1016,-189.03 1016,-169.42"/>
<polygon fill="black" stroke="black" points="1019.5,-169.65 1016,-159.65 1012.5,-169.65 1019.5,-169.65"/>
</g>
<!-- TITLE -->
<g id="node21" class="node">
<title>TITLE</title>
<polygon fill="none" stroke="black" points="778,-1359 58,-1359 58,-1311 778,-1311 778,-1359"/>
<text text-anchor="start" x="325" y="-1336.8" font-family="monospace" font-size="24.00">vichan</text>
<text text-anchor="start" x="411" y="-1336.8" font-family="sans-serif" font-size="24.00"> Timeline</text>
<text text-anchor="start" x="353.5" y="-1319.2" font-family="sans-serif" font-size="16.00">…as of 20230329</text>
</g>
<!-- TITLE&#45;&gt;fourchan -->
<g id="edge34" class="edge">
<title>TITLE&#45;&gt;fourchan</title>
<path fill="none" stroke="black" stroke-width="0" d="M418,-1310.52C418,-1289.23 418,-1258.33 418,-1239.23"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -2,6 +2,6 @@
<p class="unimportant" style="margin-top:20px;text-align:center;">- Tinyboard + <p class="unimportant" style="margin-top:20px;text-align:center;">- Tinyboard +
<a href="https://github.com/vichan-devel/vichan">vichan</a> {{ config.version }} - <a href="https://github.com/vichan-devel/vichan">vichan</a> {{ config.version }} -
<br>Tinyboard Copyright &copy; 2010-2014 Tinyboard Development Group <br>Tinyboard Copyright &copy; 2010-2014 Tinyboard Development Group
<br><a href="https://github.com/vichan-devel/vichan">vichan</a> Copyright &copy; 2012-2022 vichan-devel</p> <br><a href="https://github.com/vichan-devel/vichan">vichan</a> Copyright &copy; 2012-2023 vichan-devel</p>
{% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %} {% for footer in config.footer %}<p class="unimportant" style="text-align:center;">{{ footer }}</p>{% endfor %}
</footer> </footer>