Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/keikoro/plaintextref
Convert in-text references (like URLs) to sequentially numbered footnotes. :page_facing_up::link:
https://github.com/keikoro/plaintextref
formatting plaintext python python3 text
Last synced: 7 days ago
JSON representation
Convert in-text references (like URLs) to sequentially numbered footnotes. :page_facing_up::link:
- Host: GitHub
- URL: https://github.com/keikoro/plaintextref
- Owner: keikoro
- License: mit
- Created: 2015-02-09T22:48:34.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2018-10-30T08:52:21.000Z (about 6 years ago)
- Last Synced: 2024-10-31T03:12:02.528Z (about 2 months ago)
- Topics: formatting, plaintext, python, python3, text
- Language: Python
- Homepage:
- Size: 63.5 KB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# plaintextref
A Python3/Python program which converts in-text references (citations, URLs) in text-based files to sequentially numbered footnotes for better readability.
HTML files get stripped of their tags and changed to proper plaintext in the process.
## Example
Original text:
Fans keep arguing over if Thranduil (http://evankart.deviantart.com/art/Thranduil-419996946) or Thorin (http://evankart.deviantart.com/art/Thorin-Oakenshield-420365763) makes the better [... sassier] king.
Resulting text:Fans keep arguing over if Thranduil[1] or Thorin[2] makes the better[3] king.
___
[1] http://evankart.deviantart.com/art/Thranduil-419996946
[2] http://evankart.deviantart.com/art/Thorin-Oakenshield-420365763
[3] ... sassier
See also sample files [thth.txt](thth.txt) and [thth_plaintext.txt](thth_plaintext.txt)## Description
This program is particularly useful for making texts like e-mails containing a high number of references (like links to websites) better legible by moving all references out of the running text and into an appendix at the end of the document.
At the same time, the user writing such texts is not required to change their writing habits too much: URLs are put into (regular, round) brackets like they usually might, asides which are better left in the running text can also be kept in round brackets, only citations that should explicitely be converted to footnotes need to be enclosed in square brackets (which are normally lesser-used punctuation marks).
Another purpose of this program is the conversion of HTML-formatted e-mails or texts to plaintext for better sharing via mailing lists which only support or prefer the sending of plaintext e-mails.
## Usage
Start the script by specifying which file you want to convert. The converted text is saved to a new file which, by default, has ```_plaintext``` appended to the original file name. Save location is the folder containing the original file or any other writable directory you specify.
```$ python3 plaintextref.py myfile.txt``` or
```$ python plaintextref.py myfile.txt```
... results in a new file called ```myfile_plaintext.txt```
Run the program with option ```-h``` or ```--help``` for detailed information on which arguments you can pass to the script.
##Caveats
The program assumes that the following signify references that are to be turned into footnotes:
* round brackets whose contents begin with URLs
* (most) square bracketsIt ignores:
* round brackets containing regular text (including any kind of nested brackets)
* square brackets denoting errors: ```[sic]``` and ```[sic!]```
* square brackets indicating modified quotes *if* they are inside double quotation marks, e.g. ```"Could you tell the [other dwarves] I said goodbye?"```The script currently supports the conversion of regular **text** files as well as **HTML** files. Adding support for **Markdown files** might happen at a later point. See also [#1](/../../issues/1).
This program, while mostly different in functionality, was in part motivated by [miniref](https://github.com/Lotterleben/miniref).