Technical changes

This commit makes the following changes:
- Adds infrastructure to automatically generate a PDF
- Updates the style of the document to match the Chapter Code of Regulation
- Simplifies the layout of the bylaws.org file
This commit is contained in:
Reily Siegel 2022-12-03 21:29:24 -05:00
parent f018748bcb
commit 095982ef17
Signed by untrusted user: 1114
GPG Key ID: 508A5AD0A50F88AF
7 changed files with 1002 additions and 906 deletions

View File

@ -1,4 +1,4 @@
;;; Directory Local Variables
;;; For more information see (info "(emacs) Directory Variables")
((org-mode . ((org-list-allow-alphabetical . t))))
((org-mode . ((eval . (load-file "local.el")))))

23
.drone.yml Normal file
View File

@ -0,0 +1,23 @@
kind: pipeline
name: ccr
type: docker
steps:
- name: generate-pdf
image: git.axpdsp.org/parliamentarian/bylaw-builder
commands:
- "make"
- "echo $DRONE_TAG > title"
- name: publish
image: plugins/gitea-release
settings:
base_url: https://git.axpdsp.org
api_key:
from_secret: api_key
files:
- bylaws.pdf
title: title
trigger:
event:
- tag

3
Makefile Normal file
View File

@ -0,0 +1,3 @@
all: pdf clean
pdf: ; emacs bylaws.org --batch -l local.el -f org-latex-export-to-pdf
clean: ; rm bylaws.tex

7
README.org Normal file
View File

@ -0,0 +1,7 @@
#+TITLE: Bylaws
* Generating PDFs
A PDF can be generated using the following command:
#+begin_src bash
docker run --rm -v $PWD:/data -w /data git.axpdsp.org/parliamentarian/bylaw-builder make
#+end_src

30
bylaws.cls Normal file
View File

@ -0,0 +1,30 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{bylaws}[]
\usepackage{titlepic}
\titlepic{\includegraphics[width=250]{Coat-of-Arms-Color.png}}
\LoadClass[12pt]{report}
\usepackage{geometry}[margin=1in]
\renewcommand{\itemize}{\enumerate}
\renewcommand{\thechapter}{Article \Roman{chapter}}
\renewcommand{\thesection}{\thechapter\ §\ \arabic{section}}
\renewcommand{\labelenumi}{(\alph{enumi})}
\renewcommand{\labelenumii}{(\arabic{enumii})}
\renewcommand{\labelenumiii}{(\Alph{enumiii})}
\renewcommand{\labelenumiv}{(\roman{enumiv})}
\renewcommand{\theenumi}{\thesection\labelenumi}
\renewcommand{\theenumii}{\labelenumii}
\renewcommand{\theenumiii}{\labelenumiii}
\renewcommand{\theenumiv}{\labelenumiv}
\usepackage{titletoc}
\renewcommand{\chaptername}{}
\renewcommand\numberline[1]{}
\usepackage{titlesec}
\titleformat{\chapter}[display]{\Huge\bfseries}
{Article \Roman{chapter}}{8pt}{\Huge\bfseries}
\titleformat{\section}[block]{\Large\bfseries}{§
\arabic{section}}{8pt}{\Large\bfseries}

File diff suppressed because it is too large Load Diff

25
local.el Normal file
View File

@ -0,0 +1,25 @@
(require 'ox-latex)
(setq-local
org-latex-classes
'(("bylaws"
"\\documentclass{bylaws}"
("\\chapter{%s}" . "\\chapter*{%s}")
("\\section{%s}" . "\\section*{%s}"))))
(setq org-latex-hyperref-template "
\\hypersetup{\n pdfauthor={%a},\n pdftitle={%t},\n pdfkeywords={%k},
pdfsubject={%d},\n pdfcreator={%c},\n pdflang={%L},\n colorlinks=true}\n")
(local-set-key
(kbd "C-c t")
(lambda nil
(interactive)
(save-match-data
(let ((string (buffer-string))
(pos 0)
(tag 0))
(while (string-match "<<tag:\\([0-9]+\\)>>" string pos)
(setq tag (max tag
(string-to-number (match-string 1 string)))
pos (match-end 0)))
(insert "<<tag:" (number-to-string (1+ tag)) ">>")))))