writing projects.
Project description
# Newpro
A script to create a boilerplate for text projects.
## Introduction
This script will create a directory containing files for writing projects in
my workflow. I don't know if anyone else will benefit from this, but there's no
harm in sharing. My workflow involves writing in markdown, and generating a pdf
and word document using [pandoc][]. The making process is controlled by a
makefile.
[pandoc]: https://pandoc.org/
## Installation
Install from PyPi:
```bash
sudo pip3 install newpro
```
Alternatively install from the working github repository:
```bash
git clone https://github.com/awesmubarak/newpro
cd newpro
sudo python setup.py install
```
Full disclosure, I've only tested this on Linux. It _should_ also work on macOS
and windows, but don't take my word for it.
## Usage
The script is interactive, so there's no fancy magic required. This section
will walk through every section anyway.
**Running the script**
Change into the directory you want the project in and run `newpro`.
**Author name**
Normally, you'll be presented with a prompt for the author's name (typically
your own). This step is tedious and can be skipped by creating a text file
located at `~/.config/newpro.txt`. Enter only your name into this file. This
will skip the author prompt.
**Project title**
This is the proper title of your project. No explaining to do here.
**Project name**
This is the _name_ of your project. This should be a short identifier as it
will be used as the directory path and the base for all file names. For example
entering `example` will create `example.md` as your main markdown file.
**Bibliography**
If you choose to include a bibliography file will be created. This includes an
example bibtex entry. For more information see this [biblatex tutorial][].
[biblatex tutorial]: https://www.latex-tutorial.com/tutorials/bibtex/
**License**
I like using the [CC-BY-SA][] license in my work. This will temporary license
text at the bottom. This text won't have any metadata and a todo comment will
also be created.
[CC-BY-SA]: https://creativecommons.org/licenses/by-sa/4.0/
## Example
A typical run might look as follows:
% newpro
Project title: Project title
Project name: name
Create a bibliography (y/N)? y
Include CC-BY-SA license (y/N)? y
Creating the following structure:
%tree
.
└── name
├── Makefile
├── name.bib
└── name.md
1 directory, 3 files
**Makefile**
```Makefile
name: name.md
pandoc name.md --from markdown --output name.pdf --bibliography name.bib
pandoc name.md --from markdown --to docx --output name.docx --bibliography name.bib
```
**name.bib**
```bibtex
/* @misc{ CHANGEME, */
/* author = "CHANGEME", */
/* title = "CHANGEME", */
/* year = "CHANGEME", */
/* publisher = "CHANGEME", */
/* } */
```
**name.md**
```markdown
---
title: Project title
date: 2017-12-09
author: Awes Mubarak
---
-------------------------------------------------------------------------------
This work is licensed under a [Creative CommonsAttribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
<!-- TODO: see https://creativecommons.org/choose/ -->
```
All focus can then be directed to the markdown file (and bibliography if used).
A script to create a boilerplate for text projects.
## Introduction
This script will create a directory containing files for writing projects in
my workflow. I don't know if anyone else will benefit from this, but there's no
harm in sharing. My workflow involves writing in markdown, and generating a pdf
and word document using [pandoc][]. The making process is controlled by a
makefile.
[pandoc]: https://pandoc.org/
## Installation
Install from PyPi:
```bash
sudo pip3 install newpro
```
Alternatively install from the working github repository:
```bash
git clone https://github.com/awesmubarak/newpro
cd newpro
sudo python setup.py install
```
Full disclosure, I've only tested this on Linux. It _should_ also work on macOS
and windows, but don't take my word for it.
## Usage
The script is interactive, so there's no fancy magic required. This section
will walk through every section anyway.
**Running the script**
Change into the directory you want the project in and run `newpro`.
**Author name**
Normally, you'll be presented with a prompt for the author's name (typically
your own). This step is tedious and can be skipped by creating a text file
located at `~/.config/newpro.txt`. Enter only your name into this file. This
will skip the author prompt.
**Project title**
This is the proper title of your project. No explaining to do here.
**Project name**
This is the _name_ of your project. This should be a short identifier as it
will be used as the directory path and the base for all file names. For example
entering `example` will create `example.md` as your main markdown file.
**Bibliography**
If you choose to include a bibliography file will be created. This includes an
example bibtex entry. For more information see this [biblatex tutorial][].
[biblatex tutorial]: https://www.latex-tutorial.com/tutorials/bibtex/
**License**
I like using the [CC-BY-SA][] license in my work. This will temporary license
text at the bottom. This text won't have any metadata and a todo comment will
also be created.
[CC-BY-SA]: https://creativecommons.org/licenses/by-sa/4.0/
## Example
A typical run might look as follows:
% newpro
Project title: Project title
Project name: name
Create a bibliography (y/N)? y
Include CC-BY-SA license (y/N)? y
Creating the following structure:
%tree
.
└── name
├── Makefile
├── name.bib
└── name.md
1 directory, 3 files
**Makefile**
```Makefile
name: name.md
pandoc name.md --from markdown --output name.pdf --bibliography name.bib
pandoc name.md --from markdown --to docx --output name.docx --bibliography name.bib
```
**name.bib**
```bibtex
/* @misc{ CHANGEME, */
/* author = "CHANGEME", */
/* title = "CHANGEME", */
/* year = "CHANGEME", */
/* publisher = "CHANGEME", */
/* } */
```
**name.md**
```markdown
---
title: Project title
date: 2017-12-09
author: Awes Mubarak
---
-------------------------------------------------------------------------------
This work is licensed under a [Creative CommonsAttribution 4.0 International License](https://creativecommons.org/licenses/by/4.0/).
<!-- TODO: see https://creativecommons.org/choose/ -->
```
All focus can then be directed to the markdown file (and bibliography if used).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
newpro-1.0.0.tar.gz
(4.8 kB
view details)
Built Distribution
File details
Details for the file newpro-1.0.0.tar.gz
.
File metadata
- Download URL: newpro-1.0.0.tar.gz
- Upload date:
- Size: 4.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 536cf28b2a0e591ea2288887f73200e7b71c2181dbee17259752f22b582d61de |
|
MD5 | dcee7fbeaeae81504e5b5981a4f70e68 |
|
BLAKE2b-256 | 884e6070c3351dfabc3788e89e34763802df2841bd782aeaf5d4b382dc582ce3 |
File details
Details for the file newpro-1.0.0-py2-none-any.whl
.
File metadata
- Download URL: newpro-1.0.0-py2-none-any.whl
- Upload date:
- Size: 6.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | feb4c61d0d37dc071605fa0f72174adc409c6917efbe5c42db8ca54ce1b8de7c |
|
MD5 | c7a34ec4896608d09a88b922c2693b1c |
|
BLAKE2b-256 | 56d249f55df94dae081f1e0737484219225f1ed0b987c49cd8492862fae882b8 |