4 releases
0.3.3 | May 5, 2024 |
---|---|
0.2.3 | May 3, 2024 |
0.2.2 | May 1, 2024 |
0.2.1 | May 1, 2024 |
#2017 in Command line utilities
138 downloads per month
37KB
590 lines
momi
This project is a simple tool to help you create a new Minutes of Meeting (MoM) document. It will create a new text file with the metadata of the meeting and a template for the MoM.
Features
- Create a new MoM document
- Add metadata to the document(see below for the list of metadata)
- Add a template for the MoM
- Save the document to a specified name and location
Installation
Prerequisites
How to Install
cargo install momi
Usage
Windows
momi.exe [options] <filename>
Mac and Linux
./momi [options] <filename>
Options
-o, --overwrite
Overwrite the file if it already exists-v, --verbose
-a, --author <AUTHOR>
The author of the document-p, --open
Open all files after creating them-e, --enrich
Add additional metadata to the document-h, --help
Print help-V, --version
Print version
Additional Options
--create-config
Create a default configuration file
Example
momi.exe -a "John Doe" "Meeting with the client 1.md"
And the file Meeting with the client 1.md
contains the following content:
# Meeting with the client 1
created: 2024-04-30 04:58:44
author: John Doe
Configuration
The configuration file is located at config.json
in the same directory as the executable.
It can hold the following settings:
author
: The default author of the documentextension
: The default extension of the documentheader
: The default header of the documentfooter
: The default footer of the documentrich
: The custom metadata that can be added to the document
Example
In config.json
:
{
"author": "John Doe",
"extension": "txt",
"header": "--------header--------",
"footer": "--------footer--------",
"rich": {
"extra_metadata": [
"location",
"attendees",
"meeting chair",
"agenda"
]
}
}
This json file will set the default values for metadata:
- The author of the document will be "John Doe"
- The extension of the document will be
txt
- The header of the document will be "--------header--------"
- The footer of the document will be "--------footer--------"
- The extra metadata labels that can be added to the document are
location
,attendees
,meeting chair
, andagenda
- These labels are optional and can be added to the document with the
-e
option
- These labels are optional and can be added to the document with the
As a result of the above configuration, the following bash command will create a file with the following content:
momi.exe "Meeting with the client 1"
In the file Meeting with the client 1.txt
:
Meeting with the client 1
created: 2024-04-30 05:01:39
author: John Doe
--------header--------
--------footer--------
If -e
or --enrich
option is provided, the program will ask for the extra metadata labels and values to be added to the document.
momi.exe -e "Meeting with the client 1"
Meeting with the client 1
created: 2024-04-30 05:01:39
author: John Doe
location:
attendees:
meeting chair:
agenda:
--------header--------
--------footer--------
If -o
or --overwrite
options are provided on the command line,
the configuration file is overridden by the command line options.
Supported Metadata
created
: The date and time the document was createdauthor
: The author of the document
Supported Extensions
These are the extensions that the program can automatically add to the filename as the title of the document:
.txt
: Text file.md
: Markdown file
How to determine which metadata is written to the document?
Order of Precedence
- CLI Option
- Configuration File
- Nothing or Default Value
The program will write the metadata to the document if the author is provided as an CLI option.
If the author is not provided, the program will use the default author from the configuration file.
If the author is not provided in the configuration file, the program will write the current user's name as the author($USER
).
If the author is provided as an option at the same time as the configuration file, the program will use the author provided as an option and ignore the author in the configuration file.
The rest of the metadata will be written to the document by same rules as the author.
How to Build
Prerequisites
Steps
- Clone the repository
- Open a terminal in the project directory
- Run the following command:
cargo build --release
- The executable will be located at
target/release/momi
- You can copy the executable to a directory in your PATH(optional)
You can also run the executable from the project directory with the following command:
cargo run -- [options] <filename>
Not Implemented Yet But Planned
See Todo.md for the list of features that are planned but not implemented yet.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Dependencies
~3–12MB
~125K SLoC