From f2f9090d16a2ee777fd85e407b62886cc0f74b59 Mon Sep 17 00:00:00 2001 From: Anthony Correa Date: Tue, 20 Jan 2026 12:57:26 -0600 Subject: [PATCH] implement mkdocs, remove pandoc --- README.md | 70 +------------------------------------- assets/cmba-favicon.png | Bin 0 -> 44904 bytes docs/index.md | 3 ++ mkdocs/mkdocs.yml | 37 ++++++++++++++++++++ mkdocs/requirements.txt | 2 ++ mkdocs/styles/extra.css | 10 ++++++ tools/build.sh | 15 ++++++++ tools/shift-numbering.lua | 20 ----------- 8 files changed, 68 insertions(+), 89 deletions(-) create mode 100644 assets/cmba-favicon.png create mode 100644 docs/index.md create mode 100644 mkdocs/mkdocs.yml create mode 100644 mkdocs/requirements.txt create mode 100644 mkdocs/styles/extra.css create mode 100755 tools/build.sh delete mode 100644 tools/shift-numbering.lua diff --git a/README.md b/README.md index 77ad8b7..63a4322 100644 --- a/README.md +++ b/README.md @@ -1,95 +1,27 @@

- +

# CMBA Constitution and Bylaws The Constitution and Bylaws for the baseball league known as the [Chicago Metropolitan Baseball Association (CMBA)](#about-the-cmba). -The compiled, published text can be found in the following formats: -- [PDF](build/cmba-bylaws.pdf) -- [HTML](build/cmba-bylaws.html) -- [ePUB](build/cmba-bylaws.epub) - The source text for this document can be found in Markdown format in [src/cmba-bylaws.md](src/cmba-bylaws.md). ## Building from source ### Requirements -Building from source requires: -- [Pandoc](https://pandoc.org) -- [GNU Make](https://www.gnu.org/software/make/) - ### Steps -1. Download the latest release or clone the repo: -``` -git clone https://github.com/anthonyscorrea/cmba-bylaws.git -``` -2. Navigate to the root directory: -``` -cd cmba-bylaws-master -``` -3. Publish into desired format: -``` -make {format} -``` -were `{format}` is one of the below: - - All [default]: `make all` or `make` - - PDF: `make pdf` - - html: `make html` - - epub: `make epub` -5. Built files will be in the `build/` directory - -## Markdown formatting - -- `#` or `h1` is used for either "Constitution" or "Bylaws". They are not numbered, necessitating an `{.unnumbered}` class. - - Note: to get the numbering to match existing convention, a [Lua filter](https://github.com/jgm/pandoc/issues/5071#issuecomment-856918980) was required, see [jgm/pandoc#5701](https://github.com/jgm/pandoc/issues/5071) -- `##` or `h2` is used for sections -- `###` or `h3` is used for subsections - -## Metadata - -Metadata is stored in the `metadata.yml` file. ## Project history The constitution and bylaws were modernized in 2021, using Google Docs. This project brings that effort into Git and Github. Previous commits show a generated plain-text history of the changes prior to this project (thanks to [gitdriver](https://github.com/larsks/gitdriver)), with the first being the version from 2016. ## Spell-checking -Spell-checking is performed on the pre-commit via [.spell-check/git-spell-check](.spell-check/git-spell-check) (courtesy of [mprpic/git-spell-check](https://github.com/mprpic/git-spell-check)) - -You can manually run spell-checking of all markdown files by running the script (requires [aspell](http://aspell.net)): - -```console -./.spell-check/spell-check -``` - -Should you want to bypass the pre-commit hook (though not recommended), you can commit with -```console -git commit --no-verify". -``` ## GitHub Pages -The html output can be hosted on GitHub Pages. Currently the site is hosted at the branch [gh-pages](https://github.com/anthonyscorrea/cmba-bylaws/tree/gh-pages). To update this page, you should: - -1. First build from the main branch and build html -```console -git clone https://github.com/anthonyscorrea/cmba-bylaws.git -make html -``` -2. Then clone the gh-pages branch and replace `index.html` with the updated page. -```console -git clone https://github.com/anthonyscorrea/cmba-bylaws.git --branch gh-pages cmba-bylaws-gh-pages -cp ../cmba-bylaws/build/cmba-bylaws.html ./cmba-bylaws-gh-pages/index.html -git push origin -``` - -## To-Do -- [X] Spell Checking -- [ ] Remove dependence on make, verify Windows support - ## About the CMBA This baseball league known as the [Chicago Metropolitan Baseball Association (CMBA)](http://cmbabaseball.com) has been formed for the purpose of providing the finest amateur baseball league in the State of Illinois and Midwest; a league where an up and coming young prospect for professional baseball may play and develop; where the talented veteran player can enjoy playing among the best competition; and bring friendship and sportsmanship to the Association. diff --git a/assets/cmba-favicon.png b/assets/cmba-favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c2455d2761da58e33364acc6fb7539a7903de992 GIT binary patch literal 44904 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%0A#Ko<4x} zQeV77{pXt$IAy8^;c?$$;UM~qlQ>~guKGCF{6i_eU*r!P`?TFhZo(NoYJEeRH#xUU8l{Xd*fL*4iXz;%;o?-( zP4W6`-N(t+@^+R+=00pATFJFF*?JJ#1Qd^#Ip34d_#c^oHBU9ql&UYT&0(@jL0<9M zhtEH7;?r+1-?Ck%=fHwJn9>CLSErkI@W>x^`C>G!zACZv%*_qLufdjdlHATk zKb*6${qm-+gSg2{0Gy=g3jMZ8QBl_@wzlSXh(-YSydn@%UGmfDg&b*f@HM(M8Y~TC z{8_YGnYFf=%Xc625K>>q&>+mD-*_avQRzwn=z-wo7sx>+*x_j#j&@0mx5I>5j0LH& z&l|0=%ayoJxj-lTRfL`}fn(xxnKUc*BELNB_Yaa<%mr>cOhES->YCUk(=m+9{5^?k}Eoei|gpQEX$G^n1lJ ziB0(s}2ZJ+xy(eyQjOizBGvR88$oy*gG^|7LHA-_X#5_jBpf zi8Fj4qj2L#PFp1#|MMGe(mi_4X zmyDj8e`hnxXK+HLkLl8#v*T-cqb?a8Zd9!8aibKoLNc-g2#e)11P;AlrYTv>Q#WGpNhcBsq@Yh~`5{&^n zZij-7Ul+4;kmU?cWH6?=khzO}+@V6P(W14(F1e%3*wT4fx1!lJ`wKZp;e9C~JTx_u zT|QnqbYb7Zs?jZ1)2z^~R9(?B(|$9rlt8iBS^E*esNGu)Rp&i2lq>G|-Jc7yHidN{ zxhNEf{d3F?MfB<&az~|5fKmAx@w$+Y(i*oYs*bkoAT#XIU`^Xxa$pVxHzCi|YGv81 zdvVPDO_lmLZ>HvH4nEygCo+YTz_a(seM_16O*$pWt2w&4sw$8(nF*f&%cBRX>aic1 zWoX_t&98Hkl)^zTdhQ?xbTf^9BB4RUnhvAQx)%lULs6ZOI}r;0hizvz8U+Q)g=(Jn z27cdGo{85}$h)4gtl$0TtTClbIxtI-!)+;ga+KEH@Z}+tmQ3g$Qh3T>lr;T;QrE}a z0yiCvHg$fzdlQe>yRsXQ!k6kbT@QCGKc|oY)wuAlc)25`gv=SoA3OM?1+Hq8WJ+!% zP_Pw~v^}A%=M^l0zB9&`;uB?RqHw(maP><*gEvi1MOECx2ZIh-)mHZaltuf*2O%XY zV(s}Dw=9s06hQ)AQZX;r!f?5Q)I|mTJ^=)>V%e$XFa0kPs$KlTx6Fb<8TdOt2F~mB z>RL4ohVj%8{4kZ@2k~=-8fl*bU;Y$roO@@zP3L(&7{+d0xxY8mMIQD@bFcIoy{4GS zc?dy=c}1QAu6c)E7QO9((;?9PL}8yOFBCB7jtaI!H~=4f4QNw@*-Pnfk^b;W2w3|n zABq^OY)Pvp1T-_l!&hPi0xS8H^j>RWzr{VPqZD=aDxYF+ydzXG?-a1YFy%yxB+J5N zV24r~Xz1TFrPd`uoMzDo=R)!ml0I)wF_#<-*mt2q%k4i?GaCTdE=RH6|JA&ft?+dfZ$aqSuK7F3r9!JQ96nj{oaUC6zZ`92fsf$f`Vl{H`-Tt2! zKyI=Yt6y^8!a6kG{*5ZbPKFrd-2Y9Czwo;DdrN=T{4gz2P=) zkd`BTve-9IYm^?0^$-|A%_Es~bm#sY!%(tOeqs7sIDi|=Jn@^^x!E-Tv;=Enk%^NVJub>E>e5yRbDN*kUdb#L=iL(fLK@@x$x!pngQQGn-{1R)KDgWT= zXE$E)Si6CqwZex5TQ2G6St&)q3^IFL5o$hA{@Q~X5IPV2&3QUfqGVm%;Sh#$c#BiQ z>s<<5`d^@bryq`6nHXH{xmll!zDkO>E>sk$;c zr!LVFglYzxO4nyV-Ih8;A)%%=IVw)@lFq3+qPp8}79PHbJ|SWO+Y+?*f?3WjEc}i* zlGtG?PVFAqf2bV8Z7QZ-2O?wrTnbGcol00J_lgBWv^a@X!0~G3Qsl35AFb@l2N>4lb#?&qZMCfD05tM*4qYcD#zrU2-Y zhinx;kn1wpH0H7}=7kBqYJ~~D^0v1_yv!s`ub1r;E2_y_T}1;Pcf6&m`WBRmo3N!v9bp^SK_RFJPNT;;>KXq-inF50*DGAmVE>}+ZKE&Ie{ zTeWc?UH0^VYTX(JqJ` zFqtV(deV{oPQcK75tSNVt`$6KWTrJPG% z_{9p)$r@X0TDX}u!wdXhPeyzVqR|Luwsgm6R*gio+e~FX-^f6LyeG{vMD#(h5}7PS zzdj6>l+ld&tt{a>H)5d0IW4&UfV%w7dQ9o-hZ0vwj?;A;Bn{gKEET^0b z8vLTtCGjFF4{<@&cga+$F#*eKZR8FVJ9jgxbCt7$v!@CQYSmur4~c%2X?bC2fwct- z=?cG@qbF |Km|l*=&IXjBICCnpO3JRKv5%rUPbyH<80!6FIg_7B$g-4Jn5)WEQs z^9Et8??b}DbI98dNv>FBT!P^+5$*h2N+tEs18Pwb>K+ ze!u_m>-of!>^(9=S!INb#M8>&B-z>7BFcK&duEUDjFLUFh3pX7n~>~HHor%&_wV)k ze*D$#=62I{oyT>Zb3f8H0GiBM=>7 zVnYLdYTG*XP+Yo83ZEGfTcZD7MERNrgW|rF;D^`oz0Z-zNIOB{bKe=>h?w~Jdf1&p zp}{vh^q`(UySdhDz_D;Kbm|If%rW;r1l4Kp$yTa6-V{}L)Oo}$VLSDR`VAOQ5jnmh z1nQoPYl|mqR&I^PIG9T35y!vJLutr7SpPCy`!HJ>P<%)W8uLmR2z4}gU%&P1Ob{2w z{_Pg3ymQmTq9MxFj2^^R=^yJeoY8O8tYFdQ08Lym7VuUm+LBwdG=E64Xw;_O#g5 zFL_;~d29A^i0|ImlIlSA{*U+2*LJ3X(9_Z041DGj$0dVgcg}sw=Rf26|NC~}9@e=i z$o9T^#QJ*R&#S^p8e;zHU*GI2Wh=bjF@Rv=BG!8JCG(XUNK~4yL*B9A> z<@AK9VSxmYeXE~Ye}QIqFx5K|t_42;5R1z{Q_L)8bWKB+BwlB>LTGx58G4BBtD)^+ zVZO>eROME&6xn>;Ij_`scQX~TAeeb~LAwCj;3*JeY0!Ut;#~WC4{8Xn^{14CKpnYD z_h<}~VDCrX!8Dd0ZvVO5_u-lepE8SPWj2aRE>*{$+!eahz|R&eh8f%5{Q%;Tep|=g z`lXadx+~dW%<(D0q`oe?d*tflbo%Awk-o$AOw>+b9vzcl*uDgWcbhz`D-1 zrojDju8*#69}4-3Uf<_qX3z15Z_onhzl(*YLowMt__kHbU;P@LF1+7y@2vp0d7&g+ zl2b)ucOX$yJ#6e6no;%YGJVPCt|15S(*0|PQ|tx zyLgY`|7M@2L@lA{A##0)X#<#=USY+3ntpsoufWw`<9UI zacq_;w*m-IB(jnkp7TZJN?ZD=H{>`-uQe3xI3(wC;$k!fg0<@h-* z0+@CzOzxl21g|kP>in>$+qdG{`=EkCGDP zEx(EF)=Os6-}aXi2YuVa zukrsMlqDS)Zr0P|&~(ZsZ$^jcY12@`fv2ceIxZ&nbC%$EodZ%W{>-Ax@fE2V71Cw%}AQJgocSMMW- z-_CM>d!9lRbzkZN70x36R!eG0`IWw*rn*hm()q}toCgEX1wKD31a;Vz#hzG@a*h$` zYd>qZv8lF9;eKDCyn+cjgtces9b285B7c?cUZA}aseFTJZbDZdC@PZvfriOYaT#Ac z0-632t9(d;NT$7`WSWaaVteC;)f+XQv`c_mYAGHCz`;Ab=Q2aF$}_8jS9#n7!vu8a zM`iAK(}EvR8w`@@45_hq_)947l-D1)EpP4j`Hssj=X3!8mAH8?mmtwfx&d?|g7J*( z|Gi^K#yAaH_4-bUdWhy7JJYBkU}~B|B6HI8gq}O`FWv>j+Y&en>72m9q=Q!)3OU}a z(}Ofu-#SHK8DBK{KwbCSD)*|1iTyM0_u-fX5zlDeAci{>M}LZWRLYp17HrlYOdU+4 z>QVJKwfZM3@y><708$~Bc4H*Ou!C>sEH#dmiinf`;SGpkQXm+J9RolHFWs+CeE2V^ z%3wd_(7ja3H-7%@z8qL5D^*Z`Ae!j$gNOsfKA`5AY?&8Qq8su@!3=Y6{xc*4%k;gT z{rStmW55wtl{OM6i?izxMnm7%KVLisbaxon8NC^x9zIE6(dhs$3nndi1W`)v{ec*G z>UszoIn>Z&KmS!#+9$zlf=ScHCr#U%*h~|?P&E^M{axw_KL7pQ*`9wf&Ku?P8NF^x zNV6(>%@CWXu30XO%kRQYPTC69gaah_@c?_KFhQ3!q{87Bg*IfSO=pXR1f0>X!r8rF z#%Vsx3+Isvo{~u7kT^{;wng6jKh6a*ltRPB){Zajx9@-3{F9hP{Wkdgq`y+HmvPt5 z)u8+-A^IK2mi4WTxZM`X;5GiA4UA$fw9iY?I2FY&A@K&5Qw2G{=)@^!G~U8GhqQ-y z;11DhE_Lu4!VVllGl<{bzfN~-_B&a(coS`Vm8v1Fw zwer6|zgYa>SN1>-+b>#sIh+w`$(TCt2~_VByvhC~afg~)?^iF`I(gp*_hk=}gY2Qe z=yN|!l)zvpyN>n8Ge%qkonGGKh~xDryB{k*$h?-OcMX3I-lku3qR-wu@`0&7ab#}t zp@2MJ(XH9J5w+dLfykRuDg4p6sUUNB@v%Q?7L3|M} zeoGBi+YH&i_G{Ot`ACdf#x25x!;#i`B7bZHVjUb}v5}o5qgVWWs~R(coMCY>zs$WU z9Eu46q*e)B-7{(>oVUQWPG4 zI2XB+58E`fKVMnwF@yY^A6$v!$hM%otoqQd zn!7n{PW_vE;omm!T(6vizi$Zur3Q9D1@7Tk4g;EAjNWo}=E1Iy)bR7ojE>g5zc z9hL4Ucu*^DEejs$UTBpD&=bYVL2&H#Gvg@voW!RTurH^s!8A%|v1IcSo9PlxRWRaO zcuA_rn^QxbB*{BdkJ7fbnP!J9P_avT7GISa6e+e)Z;z^^w(j>bxh!SNAy7zDx#UNF zsqt5GtA5)%c3$XI{9!6#%zrd2WZe^ru$5b=A6y34Uk(AZmbKqd|G>~#uD?cBq5ba<>MAc=|9TB3t;UuYw8!CWI%Sq?3k;Y+KaEn05x0 z3jzZ@7G*$@s1b0 zs=B`x_j}hx?E$qm3T;7*ZyE8phsGW0SWue61 z_Y@sY@#Ho~!dqmX&%By+$mt;qhp zCNSioctcp@)clHSziHOjvIH zIc~;UsCC-VO1Vxo#soMLD4~br2L~x!RB3=ph+f;v+mfn=Rb-)-8D;t>_$~N{BLn|y zgD94LF_d`fwWg*Xx%;(QC&MlF0of`Rb~&U61H_a8D6Nvi4h)Ec#(NbS&lZa~bCv_7 z8B{I2jO~9H^?h698GK^nZH#m$AEa>i&R}JI%Sji~2KpvUBj6oEB`}boNYTJ^jRSt} z=*xJl$`1^*QJ`%5mwtR!D)t+&H`l%qTk)u$*R%Cs#L?M<@x!ln`Pwte5Ye4_-N$OG z2!|#fL1j8dD;je;7?hAnd3?!w!P%6ZJO7L+RsqRr!o|5Q_ostT`Kt#FKp*gq!&mV% zr7S+2gbIR`8~#(6Y$Q-A0UyMEzhho`133AY@gQ1U6_BY9eM%OY-cDUMPmUeuWnY_8 zBOpT4KS-C=Y#CN2G^Yte$M}1-9{dc<5q~wqyca_TQu*Y5`Agu+I~e`dOXL3SwS$v` zb7BUOv4aCA84|B)7CG- zZXMjUV26Ork@e7$)j8_cqqFB=;#Tu%0Y)C`RY5+fJf~mZQ-EuS$%|jA{Xe)9nTXvo zx7nrnRVOtiNp z=vkm5>1E@JWcD!vxe5ghoSw^713Vvm#rDd49EOmAwyD%KbB1;M^ z<2Igp15jfSWJU_NAg!cArBVkLCVH5Y=NxTML%(<;=W#*}vM+wNvC}`AJ2>cm2oNPL z(&vXF#ex)L`e#Ownn9LDF?H%8soI@AV0Cww#w^>>wsh&oFS*Q6YD-OxYhO>ReX}m- z`MrVC`tu`w%LOMH%?~nR@prp|DITiYweONnD|m$weY+*H9B+G-Zt(IO9}M1x$iPIv z+j*I2%jtVV>GUhA)XA%yYYDAh>$~eNtB>}wYqG`-tMqToue7Y${3(k#s4wt6y0j;( zF*s}MfIrMSJ+NpiiY9I(0kJaCPWeM0(PhsONV4OS(pfZ*uPldi)cwhA@d8r|w;$`Y zvTGt-wt((#Bc2I0qYi9pDkXg(^kjq*44V7XL<6VE3hu;$0@M&yMu(+OjYPxYeW4~u z0$QC}IEC3oOY623nZ&!Ogo(i#w?M?Or!<%Dj%!rEpoB?9d5<{vkW{CYTvmfTFQljl z{*&&h*XDN$V&@6-F6sdWuI@*!oo~j$UmwZx)=}Pvx~Y& zovm|9IbD){;*PJKpktMX5AxYwTV6WbW#im~MXBrJh-{yCl8{cp(p{fgz?g;<@cq$Z zWeLS1ejSP9-R_PUWq&5;*`DcRo9ynMPFXv|4Rub?-R#Vf*+u8i20lDb5*vm~DoQ|` zgO-Utj2+bkH^ot{qB4Q4qIOh#9#M*@`_$SmP!22!bHgbZufz*SP^Y$~+AB-L(=ryf zzZ3qB4AsTH6KaU1{NvLKlhx}kBn98*SYvraHCn9J4O%{452fgU` z-viJyY$I6N&?4C%ndgzCKExS4nZI}Umn1y)LECPmc<;xSJ+IMfUgixa#MMX?p7C?YQ$9-k} z+w>VLWplVZIg2xC|EE{^>^rhP8=@U^B@#`q+ti+rtWJPXf_4jMbj~e4pPbOh*yM=d zo1h05%?+SKD7$uxs}LmAT?ZWr!m_JK0cavZ#?nLYYtg8+s*HAOCWHqwKk56Bu#K9& z-t$HeQlmrnhO-W-QbMioueo|yjVo8ZYOJz)`b(U6cYmv1yDa=oPeEA)0%hyvX86ft zx#x%S4ZHJq;Vx3n)!f6W^G!jSs&VYCLH%OKX4|Y9TZHn`l}tz1T!rBdY83z83X?*A zWEqYgFpAn?>hcgSP|SFaR^9%@&PG6@r4rR<{Aj1rmANfy=YkCEjXjw5z0zIo$Q;2A z4SbuJQ!Hg3m6neKE+9QrcS1jk4$s1b!U5y|z+EKs&V zuOaB&1iNGJvW9zGNjRx(-(8)av42y9{|x7`ApK(zqSWZ@bW5Kc`}`_C+RW}bi?USp4trdI=?~>r4~k`& z+`RICi*p*81(oRSx!a?RT`{>FgC1}cO>PP?alQx$cd3!5Cl=1?7?g$rKjEB$jHI@y z6+ig%?hfGHX8z({05Ki4%AMkkopL{ROw4!lyovDL)}svCkl7?g-Gm0yWddLw z>TGBM6QJaBw9aQy*N7%q;iN)k4sZ~9?||^eaI)2Kmls`#_@RyQlx=@ej0EgtBWjR2 z?6t7bYpn6CO(ddHe6gPbtE78pSRRw)xUcoL%ceNV^Tl(q?l1xX(S z`zU+9l)HI;df8c0JjR&0-xCmwfN??wQY6xQjRn?KYTW2gmm)_9P?2l7`l;x{B;KzF zUmnUYCJQ{w3VM;@uP{6o!ZgCyVRJW9%E`pM1#?ux43>Z$l_&@}tG;VcEO+CTl_V{p zlZF5*gGpE`P9)Cy`9ZQk7BmchX_+tNd zJ2g5=<+q~&g6U=yO@{C10KXC1i>-1GA+WozG9NV}B4=5sM6ujdzK;L`W?+5kNumc| zV$4^3#0w~7vW=7ucO>?r9H|;T4sfA3u%?QS`mN;cdH2_XMONqXO;(+V{Ra*4oITh% z|0mQ5YyfhLoY>&Qq|a$sCY)hkBOj;yp!wmB&`5`lTMh}aHPuVsGM<^!K_VEn_^Y@< zt*qVTP6f7}8FQw@^^@-4uZs=wM)f+MeH>*^nf^M8Pjht(wrt!WzX8^%kT3s%T~W6- zme86iqKDoD!QoJciOi+lMOT@->gZ;$?{~WQFg~A~Cuj+05l+GV% zylZpzJ9tWWiQrRK7ZJ|xjYZ%?m4Y=Nno0I>~Y)~@Twl>dsIi^7hv<- zs`d1aqOxh%A6%uBf;jEJ>c zKQY`IWQgO-SXl=LJ-`;l2Ui6sKD%gAjPc=#)ang>R}wawMk;bO)8Oaxe=&@{@S(jo zF>nzUnB`jl`Z3Z`&uBU)MHME`W56on$xSC= z1jP<1l;mdCmnd>>ht~mZ@?TXXSTlwrL7w-&5jvL&LJcotLlUOZEQ}}`{FdPK&hq4U z#X&{s=f~ll(LN{bTJoEWJA=bb7zVEn5Zu24g$i3aF58y%60yoW&c7EJI8{`s2+*BI zD4(CdpBOoUjcJ+M|BSJ!V;K(iQ|vwL0c9oISn2{psA+Bg^m}r*RbOCa(_mz49+op{ z%ALkYoZ6W4BGD;_gLvR>N#o;J-_N}(GYiQ*-Fp}td6smxF%~Lc=>;2dgQtyGoX=Zd z9(=M2RdYO7ddLgnG^*!n%Wojhy3MwT0z_{+(c$T{IC>e()?hZY z=;GLUvnn!b{F~7jv4drwX_2QVnm^5hcnI*BG&~==y!}wi#PZnIwpOgmf~GfEg{J^# zhE@_Qw9|~01`s=DwBir3EGOSq2vxI(@t*drP-pm(qb{?q11FVu;7+^q198}bEz5QF z7*A4nQ>QxMNln~cUwM3b7Qgob{HzP%!6{K@fBd22bKU5uJFU=kHG@QBcRoxI~N~T7OgC$@RQ9 zS1;A%NxSO+mkBBtU%06!a=N`Gs>L+$b?S*>pb9e!zL`X{K(ORf?!&y&&p{=w|3f5a zIUwPyKy43J89QCClO3sb;aLs7W^O{hT4peM_h>a;4Y@v}Q~Tuy zQ`eKer1o~q8tuPzo951hnPFrzaVz62cf#hgR4OA|M~{@qmupu;U_Y`s&fQ7%rakmR z`L2R24zY%CAFr?5FQc!nzZA92r+x*xmPAkpi4$UOPq{un=>G&OYfY$-K=mfo+TEyL z{*5H)VdJ{rq{y_o^x?DI4nB%hj)kDCkdBs*>4}xA(n)59vEa^wGR?*IaWVj@+xWms9)mJU)LgNNN+ByXWhm}6!gHW zOy%L*dOdm8*Q>V-Gy=!or%if_jeIb0T^HE<&Cz0IoWQeBB!#99yIA>rIx0~@dH(ee z&8Am$@BO)}^X3EhUj7RGnpUFlSL6m*H?wjKxeEt;kLRxmXz+Oh629~JbQs^1P5Jh0 zLwf2a%>(amxN~!rky6JkT<+mL1ldw(mr`ru?EfX?(DA*kGC8mL5%bkDJeCzkc3RrQ zcPk;QKnBz%^ihZYxnfXk}xWuoo%2@xO~CIv~a01L8C?mu^{i;L7+ ztLfLF{JhnTWztEOQ6*l*zDeme;Nci5e^i&YP^P%>u-~|diPftAbV=B9>sXxVZ<=KA zyPc$k ztlNOi3k~!hCTcCB89i~(w6I)NXkMx3Z6yd-72_t_qaSnGjktz0c^~psH=SCc93|-8 zOn_akKi^J0PQEuj?KgD z2O#0Ck{P$9P|3NLbKhdr_@%;1HU>s^DrxN_Qe133jV>%<>^dlOGyH!W)dXqgV|<3e zUQ_6#A5$|ZsIE7MRc4@VxUuP?P@WRR<$8Rb<7}~)Rm)jKUR+FOZ+CKFIAY64Sh$Hg z;_(VQY?TGuV&?&zFTBpCsmdzX;`q4Oh^TPImp$Dl&L?AFDRi6s(0n$)8$e|I=FDi~ zCJmj>cTxVm^BN1-I8h^`7M9HN`ycukEh5l-Px0Gj5!;Oxwk9;WI`}B^sktR1Vzbza zxARPU_fQS>?&K^i5<&4XnQXY*f6HAbNdqmLqsi+!dITu42t0cDmdiINafMNfUEpx% zV%D>7w|l8ctD(AE*l&Dl*Obs*m(>=>U5BgxQ-T=c!pgRxUZMPuL;JG=#Y~P98uj@O zECKeyL7Z)Bw?USWWu}`UTF?3+6?9Ur}ekIWyD3!u}#2Lk|UxHvYvF~L8sFwS?YACjv ziyh{@J!TlHOkN0{)-DX6B^N?z}CJCYCGVx;SzOX8^8YOL~wCTr%013xEW<} fFTelqV_)O3Cl5wzU`~Ak(2s(ws!WNLiU0ox#R!90 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..586f560 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,3 @@ +# CMBA Rulebooks + +Use the navigation to view the documents. diff --git a/mkdocs/mkdocs.yml b/mkdocs/mkdocs.yml new file mode 100644 index 0000000..4bc51d0 --- /dev/null +++ b/mkdocs/mkdocs.yml @@ -0,0 +1,37 @@ +site_name: CMBA Rulebook +docs_dir: ../docs + +# Prevent accidental publishing of repo/CI/dev clutter +theme: + name: material + palette: + scheme: default + primary: blue + accent: red + features: + - navigation.instant + - navigation.tracking + - navigation.top + - toc.integrate + - search.highlight + - search.suggest +extra_css: + - mkdocs/styles/extra.css +markdown_extensions: + - toc: + permalink: true + - admonition: + # - tables +nav: + - Home: index.md + - 01-constitution.md + - 02-bylaws.md + - 03-playing-rules.md + +plugins: + - search + - offline + - enumerate-headings: + toc_depth: 2 + exclude: + - index.md \ No newline at end of file diff --git a/mkdocs/requirements.txt b/mkdocs/requirements.txt new file mode 100644 index 0000000..bd08198 --- /dev/null +++ b/mkdocs/requirements.txt @@ -0,0 +1,2 @@ +mkdocs-enumerate-headings-plugin==0.6 +mkdocs-material==9.7 \ No newline at end of file diff --git a/mkdocs/styles/extra.css b/mkdocs/styles/extra.css new file mode 100644 index 0000000..4c08ea0 --- /dev/null +++ b/mkdocs/styles/extra.css @@ -0,0 +1,10 @@ +@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap'); +@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&display=swap'); + +:root { + --md-text-font: "Merriweather" +} + +.md-nav__title { + font-family: "Nunito Sans"; +} \ No newline at end of file diff --git a/tools/build.sh b/tools/build.sh new file mode 100755 index 0000000..b6b7917 --- /dev/null +++ b/tools/build.sh @@ -0,0 +1,15 @@ +#!/bin/bash +set -euo pipefail + +MKDOCS_STRICT="${MKDOCS_STRICT:-true}" +TMPDIR="${RUNNER_TEMP:-$TMPDIR}" +OUTPUT_DIR="${OUTPUT_DIR:-${TMPDIR}/dist/}" +# OFFLINE="${OFFLINE:-false}" # This doesn't seem to do anything, set by mkdocs.yml +MKDOCS_CONFIG="${MKDOCS_CONFIG:-mkdocs/mkdocs.yml}" + +STRICT_FLAG="" +if [ "${MKDOCS_STRICT}" = "true" ]; then + STRICT_FLAG="--strict" +fi + +mkdocs build ${STRICT_FLAG} -f $MKDOCS_CONFIG -d $OUTPUT_DIR \ No newline at end of file diff --git a/tools/shift-numbering.lua b/tools/shift-numbering.lua deleted file mode 100644 index 5007535..0000000 --- a/tools/shift-numbering.lua +++ /dev/null @@ -1,20 +0,0 @@ --- Based on https://github.com/jgm/pandoc/issues/5071#issuecomment-856918980 --- For LaTeX documents, shift all headings down by one. --- Make Level 1 unnumbered, or remove it if it contains the "hidden" class. (`# Title {.hidden}`) -function Header(el) - if el.level == 1 then - --check for hidden class. (Why didn't pandoc make this a set? `{class_name = true}`) - for i, v in ipairs(el.classes) do - if v == "hidden" then - --The empty list means remove the element - return {} - end - end - -- this may mean that there are two unnumbered classes, but that doesn't matter. - el.classes[#el.classes + 1] = "unnumbered" - else - -- all headings > 1 are shifted down so that you don't end up with 0.x.y headings. - el.level = el.level - 1 - end - return el -end \ No newline at end of file