Skip to content

Commit

Permalink
quick-minutes:1.1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Lypsilonx committed Oct 30, 2024
1 parent a8b1d1b commit e41939b
Show file tree
Hide file tree
Showing 8 changed files with 1,568 additions and 0 deletions.
21 changes: 21 additions & 0 deletions packages/preview/quick-minutes/1.1.1/LICENSE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 Katharina Thöle, Lyx Rothböck

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
96 changes: 96 additions & 0 deletions packages/preview/quick-minutes/1.1.1/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# Quick Minutes

With Quick Minutes you can record any meeting event by just typing it out. No function calls needed!

## Usage

### Import & Initialisation
```typ
#import "@preview/quick-minutes:1.1.1": *
#show: minutes.with(
chairperson: "Name 1",
secretary: "Name 2",
date: auto,
body-name: "Organisation",
event-name: "Event",
present: (
"Name 1",
"Name 2",
"Name 3",
"Name 4",
)
)
...
```

[Commands](#commands)\
[Formats](#formats)

### Parameters

| | name | explaination | default | type |
|---|---|---|---|---|
| required |
||
|| body-name | Name of the body holding the recorded meeting | `none` | `string`
|| event-name | Name of the meeting | `none` | `string`
|| date | Date of the meeting (`auto` for current date, datetime for formatted date) | `none` | `string, auto, datetime`
|| present | List with names of people present at the meeting | `()` | list
|| chairperson | Name of the person chairing the meeting<br>Can be a `list` of people | `none` | `string`, `list(string)`
|| secretary | Name of the person taking minutes<br>Can be a `list` of people | `none` | `string`, `list(string)`
| optional |
||
|| awareness | Name of the person responsible for awareness<br>Can be a `list` of people | `none` | `string`, `list(string)`
|| translation | Name of the person responsible for translating<br>Can be a `list` of people | `none` | `string`, `list(string)`
|| cosigner | Position of the Person signing the protocol, should they differ from the chairperson. | `none` | `string`
|| cosigner-name | Name of the person signing the protocol, should they differ from the chairperson. | `none` | `string`
| customisation |
||
|| logo | Logo of the body holding the meeting | `none` | `image`
|| custom-name-format | Formatting of names in the document | <pre>(first-name, last-name, numbered) => [<br>&nbsp;#if (numbered) [#first-name #last-name] else [<br>&nbsp;&nbsp;#if (last-name != none) [#last-name, ]#first-name]<br>]</pre> | `function(string)`
|| custom-name-style | Style of names in the document | <pre>(name) => [name] | `function(string)`
|| item-numbering | Numbering of items. Reverts to `DEFAULT_ITEM_NUMBERING` if `none`. | `none` | `function(..int)`
|| time-format | Datetime format `string` for times taken. Reverts to `DEFAULT_TIME_FORMAT` if `none`. | `none` | `string`
|| date-format | Datetime format `string` for the date of the event. Reverts to `DEFAULT_DATE_FORMAT` if `none`.| `none` | `string`
|| timestamp-margin | Size of gutter between timestamps and text | `10pt` | `length`<br>(static (pt, cm ...) recommended)
|| line-numbering | `none` for no line numbering, `int` for every xth line numbered | `5` | `int`
|| fancy-decisions | Draws a diagram underneath decisions | `false` | `bool`
|| fancy-dialogue | Splits dialogue up into paragraphs | `false` | `bool`
|| hole-mark | Draws a mark for the alignment of a hole punch | `true` | `bool`
|| separator-lines | Draws lines next to the titles | `true` | `bool`
|| signing | Do people have to sign this document? | `true` | `bool`
|| title-page | Should the actual protocol start after a `pagebreak`? | `false` | `bool`
|| number-present | Should the number of people present be shown? | `false` | `bool`
|| show-arrival-time | Should the time of arrival be schown in the list of people present? | `true` | `bool`
|| locale | language of the document | `"en"`| `string`
|| translation-overrides | [Translation](lang.json) Overrides | `(:)` | dictionary
|| custom-royalty-connectors | Additional `list` of surname beginnings like "von".<br>Already recognises "von", "von der" & "de" | `()` | `list`
| debug |
||
|| display-all-warnings | Shows all warnings directly beneath their occurence | `false` | `bool`
|| hide-warnings | Hides all warnings | `false` | `bool`
|| warning-color | Color warnings are displayed in | `red` | `color`
|| enable-help-text | Should a help/debug text with state info be shown? | `false` | `bool`

### Commands

| name | format | description |
|---|---|---|
Join | <pre>+(\<time>/)?\<name><br>++(\<time>/)?\<name> | Marks the arrival of someone<br>+: Come back from pause etc.<br>++: Arrive at event<br><br>_Time is optional_
Leave | <pre>-(\<time>/)?\<name><br>--(\<time>/)?\<name> | Marks the departure of someone.<br>-: Leave into pause etc.<br>--: Leave event<br><br>_Time is optional_
Time | <pre>\<time>/\<text> | Time the following text
Mark Name | <pre>/\<name> | Marks following name
Vote | <pre>!(\<time>/)?\<text>/\<vote>/\<vote>... | Vote on something (described in text)<br><br>/\<vote> can be repeated as many times as needed (min. 2)<br>3 unnamed & uncolored votes will result in a "For" (green), "Against" (red), "Abstain" (blue) vote<br><br>If you want to use `/` inside of a label or the text, you can use `-/` to escape into a normal `/`<br><br>_Time is optional_
Dialogue | <pre>\<name>: \<text> | Marks that someone is speaking<br><br>Can be escaped with a `-` (`<name>-:`) to avoid restructuring
End | <pre>/\<time> | End of the meeting |

### Formats

| name | format | example |
|---|---|---|
\<vote> | <pre>\<label>(\|\<color>)?\<count> | `First Party\|green42`<br>`Third choice22`
\<time> | 1-4 numbers | `1312` -> 01:12 pm<br>`650` -> 06:50 pm<br>`21`-> last timed hour:21 (pm/am)<br>`4`-> last timed hour:04 (pm/am)
\<name> | Name in various formats | `Last Name, First Name`<br>`First Name Last Name`<br>`First Name`<br>`Last Name`<br>`First Name L`<br>`F Last Name`<br>`FL`<br><br>Last name can also start with a royalty connector like "de" or "von"<br><br>`Name 1`,`Name 2` will render with the number after the name, but the number is handled as a last name.<br><br>If you just want your name formatted by `custom-name-format` you can escape the restructuring process with a `-` (`/-<name>`)
110 changes: 110 additions & 0 deletions packages/preview/quick-minutes/1.1.1/lang.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
{
"DEFAULT_ITEM_NUMBERING": {
"en": "1.a.i:",
"de": "1.a.i:"
},
"ITEM": {
"en": "Item",
"de": "TOP"
},
"SINCE": {
"en": "since",
"de": "ab"
},
"DURING_EVENT": {
"en": "during the event",
"de": "später dazugekommen"
},
"DEFAULT_TIME_FORMAT": {
"en": "[hour repr:12]:[minute] [period case:lower]",
"de": "[hour]:[minute] Uhr"
},
"DEFAULT_DATE_FORMAT": {
"en": "[year]-[month]-[day]",
"de": "[day].[month].[year]"
},
"CHAIR": {
"en": "Chairperson",
"de": "Sitzungsvorsitz"
},
"PROTOCOL": {
"en": "Secretary",
"de": "Protokoll"
},
"AWARENESS": {
"en": "Awareness",
"de": "Awareness"
},
"TRANSLATION": {
"en": "Translation",
"de": "Übersetzung"
},
"PRESENT": {
"en": "Present",
"de": "Anwesend"
},
"PRESENT_COUNT": {
"en": "Count present",
"de": "Anzahl Anwesender"
},
"START": {
"en": "Start of meeting",
"de": "Beginn der Sitzung"
},
"END": {
"en": "End of meeting",
"de": "Ende der Sitzung"
},
"SCHEDULE": {
"en": "Schedule",
"de": "Tagesordnung"
},
"DECISION": {
"en": "Vote",
"de": "Abstimmung"
},
"YES": {
"en": "For",
"de": "Dafür"
},
"NO": {
"en": "Against",
"de": "Dagegen"
},
"ABST": {
"en": "Abstain",
"de": "Enthaltung"
},
"JOIN": {
"en": "comes back: ([0] / [1]) present",
"de": "kommt zurück: ([0] / [1]) Anwesend"
},
"JOIN_LONG": {
"en": "arrives at the meeting: ([0] / [1]) present",
"de": "meldet sich an: ([0] / [1]) Anwesend"
},
"LEAVE": {
"en": "leaves: ([0] / [1]) present",
"de": "geht kurz: ([0] / [1]) Anwesend"
},
"LEAVE_LONG": {
"en": "leaves the meeting: ([0] / [1]) present",
"de": "verlässt die Sitzung-: ([0] / [1]) Anwesend"
},
"SIGNATURE_PRE": {
"en": "This protocol is hereby approved",
"de": "Dieses Protokoll wird hiermit genehmigt"
},
"SIGNATURE": {
"en": "Signature",
"de": "Unterschrift"
},
"PLACE_DATE": {
"en": "Place, Date",
"de": "Ort, Datum"
},
"PAGE": {
"en": "Page [0] of [1]",
"de": "Seite [0] von [1]"
}
}
143 changes: 143 additions & 0 deletions packages/preview/quick-minutes/1.1.1/name-test.typ
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
#import "@preview/quick-minutes:1.1.1": *

#show: minutes.with(
locale: "de",
chairperson: "Doppelter, Vor Name",
secretary: "Doppelter Nach, Name",
date: auto,
present: (
"Einzelname",
"Doppelter, Vor Name",
"Doppelter Nach, Name",
"Doppelter Vor, Und Nachname",
"Gleicher, Vorname",
"Anderer, Vorname",
"Selber Nachname",
"Noch Ein Nachname",
"Adels von der Titel",
"Nummerierter 1",
"Nummerierter 2",
)
)

/Einzelname

/E

#line()

/Doppelter, Vor Name

/Vor Name

/Vor Name Doppelter

/Vor Name D

/V Doppelter

/Doppelter

/VD

#line()

/Doppelter Nach, Name

/Name

/Name Doppelter Nach

/Name D

/N Doppelter Nach

/Doppelter Nach

/ND

#line()

/Doppelter Vor, Und Nachname

/Und Nachname

/Und Nachname Doppelter Vor

/Und Nachname D

/U Doppelter Vor

/Doppelter Vor

/UD

#pagebreak()

/Gleicher

/Anderer

/Vorname

/Vorname G

/Vorname A

/VG

/VA

#line()

/Selber

/Noch Ein

/Nachname

/S Nachname

/N Nachname

/SN

/NN

#pagebreak()

/Adels

/von der Titel

/A von der Titel

/Adels von der Titel

/Adels T

/von der Titel, Adels

/AT

#line()

/Nummerierter 1

/Nummerierter 2

/Nummerierter

/N 1

/N 2

/N1

/N2

#line()

/-Name

/-Escaped
Loading

0 comments on commit e41939b

Please sign in to comment.