From 2f2a4324be92831bde4a79825db71d3bdfa95f27 Mon Sep 17 00:00:00 2001 From: tnichols217 <62992267+tnichols217@users.noreply.github.com> Date: Thu, 27 Feb 2025 00:33:39 -0500 Subject: [PATCH] add glossary shortcodes --- build.nix | 2 + flake.nix | 4 + src/_variables.yml | 1 + src/acronyms.yaml | 20 +++++ src/articles/article1.qmd | 28 +++---- src/glossary.py | 52 ++++++++++++ src/glossary.qmd | 172 -------------------------------------- src/glossary.yaml | 150 +++++++++++++++++++++++++++++++++ 8 files changed, 243 insertions(+), 186 deletions(-) create mode 100644 src/_variables.yml create mode 100644 src/acronyms.yaml create mode 100644 src/glossary.py delete mode 100755 src/glossary.qmd create mode 100644 src/glossary.yaml diff --git a/build.nix b/build.nix index dda5e66..112ff8b 100755 --- a/build.nix +++ b/build.nix @@ -8,6 +8,8 @@ stdenv.mkDerivation { nativeBuildInputs = buildenv; buildPhase = '' + python glossary.py + cp branding/_brand-color.yml ./_brand.yml export HOME=$(pwd) quarto render --no-cache diff --git a/flake.nix b/flake.nix index cddc9d9..7e03b09 100755 --- a/flake.nix +++ b/flake.nix @@ -34,6 +34,10 @@ texworks texstudio ghostscript + (pkgs.python3.withPackages (pythonPackages: with pythonPackages; [ + pip + pyyaml + ])) ]; in { devShells = rec { diff --git a/src/_variables.yml b/src/_variables.yml new file mode 100644 index 0000000..b1465aa --- /dev/null +++ b/src/_variables.yml @@ -0,0 +1 @@ +version: 0.0.1 diff --git a/src/acronyms.yaml b/src/acronyms.yaml new file mode 100644 index 0000000..3ac7f02 --- /dev/null +++ b/src/acronyms.yaml @@ -0,0 +1,20 @@ +- term: CAB + definition: Chapter Advisory Board +- term: CCC + definition: Committee Chair Committee +- term: CWRU + definition: Case Western Reserve University +- term: EC + definition: Executive Council +- term: GPA + definition: Grade Point Average +- term: IBL + definition: International Bylaws +- term: IFC + definition: Interfraternity Congress +- term: IHQ + definition: International Headquarters +- term: NIC + definition: North American Interfraternity Conference +- term: SMARRT + definition: Students Meeting About Risk and Responsibility Training diff --git a/src/articles/article1.qmd b/src/articles/article1.qmd index e4ef043..cee6920 100755 --- a/src/articles/article1.qmd +++ b/src/articles/article1.qmd @@ -2,32 +2,32 @@ ## Bylaws as Pertaining to the International Fraternity -1. The Bylaws of Beta Nu Chapter of Theta Chi Fraternity are adopted as provided for in the International Bylaws ([IBL](glossary.qmd#sec-IBL)) of Theta Chi Fraternity (Article V, Section 1). -1. The bylaws of this chapter will be superseded by the [IBL](glossary.qmd#sec-IBL) of Theta Chi Fraternity. +1. The Bylaws of Beta Nu Chapter of Theta Chi Fraternity are adopted as provided for in the International Bylaws {{< var acronyms.ibl >}} of Theta Chi Fraternity (Article V, Section 1). +1. The bylaws of this chapter will be superseded by the {{< var acronyms.ibl >}} of Theta Chi Fraternity. ## Amendments 1. All proposed amendments to these Bylaws will specify in the motion that they are amendments. 1. A proposed Amendment may not be voted on unless it has been brought up at least one chapter meeting before or has been available for inspection for at least six days. -1. A proposed amendment must receive a [supermajority](glossary.qmd#sec-supermajority) vote for ratification. +1. A proposed amendment must receive a {{< var glossary.supermajority >}} vote for ratification. ## Suspension -1. Portions of the bylaws may be suspended by [supermajority](glossary.qmd#sec-supermajority) vote of the chapter. +1. Portions of the bylaws may be suspended by {{< var glossary.supermajority >}} vote of the chapter. 1. Motions to suspend a portion of the bylaws must contain: a. To whom the suspension applies. a. The time period during which the suspension applies. a. The portion to be suspended. -1. The Executive Council ([EC](glossary.qmd#sec-EC)) may issue an [Executive Edict](glossary.qmd#sec-executive-edict) by [absolute majority](glossary.qmd#sec-absolute-majority) vote in the case of an emergency. - a. The [Executive Edict](glossary.qmd#sec-executive-edict) will be proposed to the chapter at the next chapter meeting with [quorum](glossary.qmd#sec-quorum) by the Vice President. - a. The [Executive Edict](glossary.qmd#sec-executive-edict) must be approved by the chapter by a [supermajority](glossary.qmd#sec-supermajority) vote in order for the [Executive Edict](glossary.qmd#sec-executive-edict) to remain in effect after the chapter in which it was voted upon. +1. The Executive Council ({{< var acronyms.ec >}}) may issue an {{< var glossary.executive-edict >}} by {{< var glossary.absolute-majority >}} vote in the case of an emergency. + a. The {{< var glossary.executive-edict >}} will be proposed to the chapter at the next chapter meeting with {{< var glossary.quorum >}} by the Vice President. + a. The {{< var glossary.executive-edict >}} must be approved by the chapter by a {{< var glossary.supermajority >}} vote in order for the {{< var glossary.executive-edict >}} to remain in effect after the chapter in which it was voted upon. ## Interpretation -1. [EC](glossary.qmd#sec-EC) will have the power to interpret these Bylaws by an [absolute majority](glossary.qmd#sec-absolute-majority) vote. 2. Any brother may bring [EC](glossary.qmd#sec-EC) Bylaw Interpretation [grievances](glossary.qmd#sec-grievance), in writing, to [EC](glossary.qmd#sec-EC). - a. All [grievances](glossary.qmd#sec-grievance) brought to [EC](glossary.qmd#sec-EC) will, at all times, be confidential. - a. The results of the [grievances](glossary.qmd#sec-grievances) will be announced to the chapter at the next chapter meeting. - i. [EC](glossary.qmd#sec-EC) interpretation is subject to overrule by a [supermajority](glossary.qmd#sec-supermajority) vote of the active chapter. A. Voting to overrule an [EC](glossary.qmd#sec-EC) interpretation of these Bylaws will be done by ballot. +1. {{< var acronyms.ec >}} will have the power to interpret these Bylaws by an {{< var glossary.absolute-majority >}} vote. 2. Any brother may bring {{< var acronyms.ec >}} Bylaw Interpretation {{< var glossary.grievance >}}s, in writing, to {{< var acronyms.ec >}}. + a. All {{< var glossary.grievance >}}s brought to {{< var acronyms.ec >}} will, at all times, be confidential. + a. The results of the {{< var glossary.grievance >}}s will be announced to the chapter at the next chapter meeting. + i. {{< var acronyms.ec >}} interpretation is subject to overrule by a {{< var glossary.supermajority >}} vote of the active chapter. A. Voting to overrule an {{< var acronyms.ec >}} interpretation of these Bylaws will be done by ballot. ## Glossary @@ -39,8 +39,8 @@ 1. This document will have the following appendices: - a. [EC](glossary.qmd#sec-EC) Interpretations - i. Will contain a record of [EC](glossary.qmd#sec-EC) interpretations of the local bylaws. + a. {{< var acronyms.ec >}} Interpretations + i. Will contain a record of {{< var acronyms.ec >}} interpretations of the local bylaws. i. Interpretations that refer to deprecated parts of the local bylaws may be removed at the discretion of the Vice President. i. Items may be added to this appendix by the Vice President. @@ -56,4 +56,4 @@ i. Permanent legislation that is revoked or amended will be removed or changed in this appendix by the Vice President. 1. Appendices may be amended or removed by the chapter in the same manner as amending the bylaws. - a. Any amendment that is not approved by the chapter by [simple majority](glossary.qmd#sec-simple-majority) will be removed from its appendix. + a. Any amendment that is not approved by the chapter by {{< var glossary.simple-majority >}} will be removed from its appendix. diff --git a/src/glossary.py b/src/glossary.py new file mode 100644 index 0000000..1eb179d --- /dev/null +++ b/src/glossary.py @@ -0,0 +1,52 @@ +import glob +from typing import TypedDict +import yaml + +class Item(TypedDict): + term: str + definition: str + +Glossary = list[Item] + +def load_glossary(file_path: str) -> Glossary: + glossary = [] + with open(file_path) as stream: + try: + glossary: Glossary = yaml.safe_load(stream) + except yaml.YAMLError as exc: + print(exc) + return glossary + +def get_sec_name(item: Item) -> str: + sec_name = "-".join("".join([i for i in item['term'] if i.isalpha() or i == " "]).split(" ")).lower() + sec_name += "" + + return sec_name + +def generate_glossary(glossary: Glossary, acronyms: Glossary) -> str: + glossary_str = "# Glossary\n\n" + glossary_str += "\n".join(f"## {item['term']} {"{#sec-"}{get_sec_name(item)}{"}"}\n\n{item['definition']}" for item in glossary) + glossary_str += "\n# Acronyms\n\n" + glossary_str += "\n".join(f"## {item['term']} {"{#sec-"}{get_sec_name(item)}{"}"}\n\n{item['definition']}\n" for item in acronyms) + + return glossary_str + +def generate_env(glossary: Glossary, acronyms: Glossary) -> str: + gloss = {} + acron = {} + for item in glossary: + gloss[get_sec_name(item)] = f"[{item['term']}](glossary.qmd#sec-{get_sec_name(item)})" + + for item in acronyms: + acron[get_sec_name(item)] = f"[{item['term']}](glossary.qmd#sec-{get_sec_name(item)})" + + return yaml.dump({"glossary": gloss, "acronyms": acron}) + +glossary = load_glossary("glossary.yaml") +acronyms = load_glossary("acronyms.yaml") + +with open("glossary.qmd", "w") as f: + _ = f.write(generate_glossary(glossary, acronyms)) + +with open("_variables.yml", "a") as f: + _ = f.write(generate_env(glossary, acronyms)) diff --git a/src/glossary.qmd b/src/glossary.qmd deleted file mode 100755 index 9a9b24f..0000000 --- a/src/glossary.qmd +++ /dev/null @@ -1,172 +0,0 @@ -# Glossary - -## Absolute Majority {#sec-absolute-majority} - -A vote of strictly greater than ½ of the entire voting body, counting all brothers, including those not present and including those without voting rights. - -## Absolute Supermajority {#sec-absolute-supermajority} - -A vote of strictly greater than ⅔ of the entire voting body, counting all brothers, including those not present and including those without voting rights. - -## Academic Probation {#sec-academic-probation} - -See Article X, Section A, Item 2b. This is a restorative measure, not a punitive measure. - -## Attend {#sec-attend} - -A brother attends an event if he fulfills the attendance requirements for that event. Attendance requirements are defined at the discretion of the organizer of the event, with a suggested attendance portion being ¾ of the event's total run time. - -## Ballot {#sec-ballot} - -A secret vote as defined in Article IV, Section B, Item 2. - -## Chapter Advisor {#sec-chapter-advisor} - -For the purposes of these bylaws, a Chapter Advisor is any alumnus member of the chapter who serves on the Chapter Advisory Board (CAB). - -## Community Standards {#sec-community-standards} - -The list of requirements set forth by the Greek Life Office at Case Western Reserve University (CWRU) which is to be completed every calendar year, due finally in December. - -## Deferment {#sec-deferment} - -A payment plan approved by Executive Council (EC) based on a request for deferment and the recommendations of the Treasurer for a brother's debt. - -## Executive Edict {#sec-executive-edict} - -Legislation implemented in a time of emergency by a supermajority vote of EC. See Article II, Section B, Item 4. - -## Financial Probation {#sec-financial-probation} - -See Article VI, Section E, Item 3. - -## Grade Improvement Plan {#sec-grade-improvement-plan} - -A plan made by a brother on Academic Probation with help from the Scholarship Chair to improve his grades. - -## Grievance {#sec-grievance} - -A request submitted to EC for clarification of the intention of the bylaws. See Article I, Section D, Item 2. - -## Informal Dress {#sec-informal-dress} - -Any attire that would be reasonably agreed upon to be non-offensive. This consists of, at the very least, socks or closed-toes shoes, a shirt or upper body covering of some kind, and short/pants or a lower body covering of some kind. Shirts with graphics on them are acceptable only insofar as the graphics on them are acceptable. When in doubt, the chair of the current meeting has sole discretion over what is permissible unless stated otherwise in the bylaws or other rules governing the meeting. - -## No Contest Plea {#sec-no-contest-plea} - -The Accused attests to the truth of the accusation, but believes there are mitigating circumstances surrounding the accusation which exculpate him. - -## Not Responsible {#sec-not-responsible} - -A ruling that states that the Accused is not culpable for the accusation against him. - -## Not Responsible Plea {#sec-not-responsible-plea} - -The Accused denies culpability for the accusation. - -## Official Chapter Event {#sec-official-chapter-event} - -An event that all brothers must attend. - -## Plurality {#sec-plurality} - -The number of votes cast for a candidate who receives more than any other (this does not necessarily require an absolute majority). - -## Probation {#sec-probation} - -A brother on probation cannot attend social events and loses his voting rights. - -## Quorum {#sec-quorum} - -One more than half of the active chapter or the body described. - -## Request for Deferment {#sec-request-for-deferment} - -A form that includes how much money a brother wishes to defer, the reason a deferment is needed, and a payment plan for the amount deferred. - -## Responsible {#sec-responsible} - -A ruling that states that the Accused is culpable for the accusation against him. - -## Responsible Plea {#sec-responsible-plea} - -The Accused admits that he is rightfully accused and agrees to all sanctions given. - -## Roster Number {#sec-roster-number} - -For the purposes of these bylaws, a brother's roster number starts as the median of the actual roster numbers of his New Member Class. - -## Rush Period {#sec-rush-period} - -The period of time starting at the beginning of a fall or spring academic semester and ending at the end of the pledging ceremony that same semester. - -## Safety Margin {#sec-safety-margin} - -A sum of money built into the budget for the chapter which is set aside in case of unexpected expenses. **Scholarship Plan**\ -The semesterly legislation created by the Scholarship Chair which is to include scholarship goals for the chapter and means of reaching those goals. - -## Simple Majority {#sec-simple-majority} - -A vote that, in order to succeed, requires affirmative votes from strictly more than ½ of brothers present and eligible to vote, provided a quorum is present. - -## Social Event {#sec-social-event} - -Open and closed parties sponsored by the fraternity and any other event given this designation by EC excluding house meals and Rush events. Examples: Mixers, some Greek Week Events, and Formals. - -## Special Event Detail {#sec-special-event-detail} - -An official chapter event declared by the Detail Manager with a stated objective such as cleaning the house before inspections or a Rush event. The chapter must be given at least twenty-four hours notice of such a session and excuses for the session will be approved by EC. - -## Squatter's Rights {#sec-squatter-rights} - -The second highest priority given to a brother when deciding housing assignments. A brother has squatter's rights for a room if he is living in that room during the semester in which room assignments are made. - -## Staggard {#sec-staggard} - -A brother who is staggard loses squatter's rights and has 100 added to his roster number. This effect stacks with itself. - -## Supermajority {#sec-supermajority} - -A vote that, in order to succeed, requires affirmative votes from strictly more than ⅔ of brothers present and eligible to vote, provided a quorum is present. - -# Acronyms - -## CAB {#sec-CAB} - -Chapter Advisory Board - -## CCC {#sec-CCC} - -Committee Chair Committee - -## CWRU {#sec-CWRU} - -Case Western Reserve University - -## EC {#sec-EC} - -Executive Council - -## GPA {#sec-GPA} - -Grade Point Average - -## IBL {#sec-IBL} - -International Bylaws - -## IFC {#sec-IFC} - -Interfraternity Congress - -## IHQ {#sec-IHQ} - -International Headquarters - -## NIC {#sec-NIC} - -North American Interfraternity Conference - -## SMARRT {#sec-SMARRT} - -Students Meeting About Risk and Responsibility Training diff --git a/src/glossary.yaml b/src/glossary.yaml new file mode 100644 index 0000000..7cc51c6 --- /dev/null +++ b/src/glossary.yaml @@ -0,0 +1,150 @@ +- term: Absolute Majority + definition: > + A vote of strictly greater than 50% of the entire voting body, + counting all brothers, including those not present and including + those without voting rights. +- term: Absolute Supermajority + definition: > + A vote of strictly greater than 75% of the entire voting body, + counting all brothers, including those not present and including + those without voting rights. +- term: Academic Probation + definition: > + See Article X, Section A, Item 2b. This is a restorative measure, + not a punitive measure. +- term: Attend + definition: > + A brother attends an event if he fulfills the attendance + requirements for that event. Attendance requirements are defined + at the discretion of the organizer of the event, with a suggested + attendance portion being ¾ of the event's total run time. +- term: Ballot + definition: > + A secret vote as defined in Article IV, Section B, Item 2. +- term: Chapter Advisor + definition: > + For the purposes of these bylaws, a Chapter Advisor is any + alumnus member of the chapter who serves on the Chapter Advisory + Board (CAB). +- term: Community Standards + definition: > + The list of requirements set forth by the Greek Life Office at + Case Western Reserve University (CWRU) which is to be completed + every calendar year, due finally in December. +- term: Deferment + definition: > + A payment plan approved by Executive Council (EC) based on a + request for deferment and the recommendations of the Treasurer + for a brother's debt. +- term: Executive Edict + definition: > + Legislation implemented in a time of emergency by a supermajority + vote of EC. See Article II, Section B, Item 4. +- term: Financial Probation + definition: > + See Article VI, Section E, Item 3. +- term: Grade Improvement Plan + definition: > + A plan made by a brother on Academic Probation with help from the + Scholarship Chair to improve his grades. +- term: Grievance + definition: > + A request submitted to EC for clarification of the intention of + the bylaws. See Article I, Section D, Item 2. +- term: Informal Dress + definition: > + Any attire that would be reasonably agreed upon to be + non-offensive. This consists of, at the very least, socks or + closed-toes shoes, a shirt or upper body covering of some kind, and + short/pants or a lower body covering of some kind. Shirts with + graphics on them are acceptable only insofar as the graphics on + them are acceptable. When in doubt, the chair of the current meeting + has sole discretion over what is permissible unless stated otherwise + in the bylaws or other rules governing the meeting. +- term: No Contest Plea + definition: > + The Accused attests to the truth of the accusation, but believes + there are mitigating circumstances surrounding the accusation which + exculpate him. +- term: Not Responsible + definition: > + A ruling that states that the Accused is not culpable for the + accusation against him. +- term: Not Responsible Plea + definition: > + The Accused denies culpability for the accusation. +- term: Official Chapter Event + definition: > + An event that all brothers must attend. +- term: Plurality + definition: > + The number of votes cast for a candidate who receives more than any + other (this does not necessarily require an absolute majority). +- term: Probation + definition: > + A brother on probation cannot attend social events and loses his + voting rights. +- term: Quorum + definition: > + One more than half of the active chapter or the body described. +- term: Request for Deferment + definition: > + A form that includes how much money a brother wishes to defer, the + reason a deferment is needed, and a payment plan for the amount + deferred. +- term: Responsible + definition: > + A ruling that states that the Accused is culpable for the accusation + against him. +- term: Responsible Plea + definition: > + The Accused admits that he is rightfully accused and agrees to all + sanctions given. +- term: Roster Number + definition: > + For the purposes of these bylaws, a brother's roster number starts as + the median of the actual roster numbers of his New Member Class. +- term: Rush Period + definition: > + The period of time starting at the beginning of a fall or spring + academic semester and ending at the end of the pledging ceremony that + same semester. +- term: Safety Margin + definition: > + A sum of money built into the budget for the chapter which is set + aside in case of unexpected expenses. +- term: Scholarship Plan + definition: > + The semesterly legislation created by the Scholarship Chair which is + to include scholarship goals for the chapter and means of reaching + those goals. +- term: Simple Majority + definition: > + A vote that, in order to succeed, requires affirmative votes from + strictly more than ½ of brothers present and eligible to vote, + provided a quorum is present. +- term: Social Event + definition: > + Open and closed parties sponsored by the fraternity and any other event + given this designation by EC excluding house meals and Rush events. + Examples: Mixers, some Greek Week Events, and Formals. +- term: Special Event Detail + definition: > + An official chapter event declared by the Detail Manager with a stated + objective such as cleaning the house before inspections or a Rush event. + The chapter must be given at least twenty-four hours notice of such a + session and excuses for the session will be approved by EC. +- term: Squatter's Rights + definition: > + The second highest priority given to a brother when deciding housing + assignments. A brother has squatter's rights for a room if he is living + in that room during the semester in which room assignments are made. +- term: Staggard + definition: > + A brother who is staggard loses squatter's rights and has 100 added to + his roster number. This effect stacks with itself. +- term: Supermajority + definition: > + A vote that, in order to succeed, requires affirmative votes from + strictly more than ⅔ of brothers present and eligible to vote, provided + a quorum is present.