Skip to main content

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).


Project details


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 hashes)

Uploaded Source

Built Distribution

newpro-1.0.0-py2-none-any.whl (6.5 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page