laTEX is awesome but we are lazy -> groff with markdown syntax and inline code execution

Overview

pyGroff

  • A wrapper for groff using python to have a nicer syntax for groff documents
  • DOCUMENTATION
  • Very similar to markdown. So if you know what that is. You will love this :)
  • We hate word -.-
  • Editing pdfs is a pain and please we are lazy
  • We love markdown. But we need pdfs and docx. So why not
  • LaTEX is amazing but it is tooo much work for small things.
  • Vim is love. What can we do without keyboard shortcuts ):

What can you do

  • Write in a text file
  • Get a cover page as well :)
  • Get a Table of contents. (Due to limitations : its only on the last page for now.)
  • Add code. And get execution results directly! Default is python. You can use any other language in your system
  • Easy tables (Aint nobody got time for complicated ones)
  • You can get a word document too (you do need libreoffice for it)
  • Get auto generated, beautifully formatted pdfs and docs instantly
  • Not cry because you moved an image and now your document is in hieroglyphics
  • (You can also write in groff syntax in the file. It will work as well. Just in case you need something extra)

Requirements

  • You need python of course.
  • For python dependencies, using pip install -r requirements.txt (Only PIL)
  • Almost every unix system has groff preinstalled.
  • If you want to convert to word, you need libreoffice.
  • If you want to get a table of contents you will need pdftk - yay pdftk #arch - sudo pacman -S pdftk #arch - sudo apt install pdftk

Syntax

  • p runner.py -f "demo.txt" -o "syntax.pdf" (most basic)
  • p runner.py -f "demo.txt" -o "syntax.pdf" -c True -n "Subhaditya Mukherjee" -t "pyGroff" (with cover page)
  • Please please look at arguments
  • By default, it is assumed that you have images. If you wish to disable it (for more speed), just use -i False
  • Check syntax.pdf and demo.txt for an example
  • Refer to syntax.pdf for new, easier syntax :)
  • This was also generated by the program hehe

Examples of langauge strings

  • python -c (default)
  • argument -l
  • R -e

FAQ

  • I dont like the cover page - If you know a bit of groff (check the links below), you can use "-d False" and then edit whatever you want using groff itself. - Then run "groff -ms {infile} -Tpdf > {outfile}" replacing the infile and outfile respectively.

Contribution guidelines

  • Can I contribute? - YES
  • What to do? - Check todo.md
  • Restrictions? - File an issue first, if it looks useful. Go for it
  • Spelling mistakes? - I mean sure why not xD

References

Owner
Subhaditya Mukherjee
https://www.linkedin.com/in/subhaditya-mukherjee-a36883100
Subhaditya Mukherjee
Herramienta para pentesting web.

iTell 🕴 ¡Tool con herramientas para pentesting web! Metodos ❣ DDoS Attacks Recon Active Recon (Vulns) Extras (Bypass CF, FTP && SSH Bruter) Respons

1 Jul 28, 2022
ChainJacking is a tool to find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack.

ChainJacking is a tool to find which of your Go lang direct GitHub dependencies is susceptible to ChainJacking attack.

Checkmarx 36 Nov 02, 2022
Ice Skating Simulator for Winter and Christmas [yay]

Ice Skating Simulator for Winter and Christmas [yay]

1 Aug 21, 2022
[Cython] Vs [Python] Which one is Faster ?

[Cython] Vs [Python] ? Attractive Contrast :) Mission : Which one is Faster ? Comparing of Execution runtime for [Selection_sort] with Time Complexity

baqer marani 1 Dec 05, 2021
A module comment generator for python

Module Comment Generator The comment style is as a tribute to the comment from the RA . The comment generator can parse the ast tree from the python s

飘尘 1 Oct 21, 2021
Python NZ COVID Pass Verifier/Generator

Python NZ COVID Pass Verifier/Generator This is quick proof of concept verifier I coded up in a few hours using various libraries to parse and generat

NZ COVID Pass Community 12 Jan 03, 2023
High-level bindings to the Valhalla framework.

Valhalla for Python This spin-off project simply offers improved Python bindings to the fantastic Valhalla project. Installation pip install valhalla

GIS • OPS 20 Dec 13, 2022
ASVspoof 2021 Baseline Systems

ASVspoof 2021 Baseline Systems Baseline systems are grouped by task: Speech Deepfake (DF) Logical Access (LA) Physical Access (PA) Please find more de

91 Dec 28, 2022
tagls is a language server based on gtags.

tagls tagls is a language server based on gtags. Why I wrote it? Almost all modern editors have great support to LSP, but language servers based on se

daquexian 31 Dec 01, 2022
プレヤフHackUチーム「キャット・タン」が作成したアプリ「illustection」

cat_tongue_illustection プレヤフHackUチーム「キャット・タン」が作成した, プライバシー保護アプリ「illustection」です! デモ動画 https://youtu.be/z3I7LuB_i58 機能 アップロードされた画像をいい感じのイラストやの素材に置き換える(

4 Jul 03, 2021
OLDBot (Online Lessons Discord Bot)

This program is designed to facilitate online lessons. With this you don't need to get up early. Just config and watch the program resolve itself. It automatically enters to the lesson at the specifi

Da4ndo 1 Nov 21, 2021
Basic code and description for GoBigger challenge 2021.

GoBigger Challenge 2021 en / 中文 Challenge Description 2021.11.13 We are holding a competition —— Go-Bigger: Multi-Agent Decision Intelligence Challeng

OpenDILab 183 Dec 29, 2022
A web-based chat application that enables multiple users to interact with one another

A web-based chat application that enables multiple users to interact with one another, in the same chat room or different ones according to their choosing.

3 Apr 22, 2022
Archive, organize, and watch for changes to publicly available information.

0. Overview The Trapper Keeper is a collection of scripts that support archiving information from around the web to make it easier to study and use. I

Bill Fitzgerald 9 Oct 26, 2022
Python project setup, updater, and launcher

pyLaunch Python project setup, updater, and launcher Purpose: Increase project productivity and provide features easily. Once installed as a git submo

DAAV, LLC 1 Jan 07, 2022
A VirtualBox manager with interactive mode

A VirtualBox manager with interactive mode

Luis Gerardo 1 Nov 21, 2021
Export transactions for an algorand wallet to a CSV file

algorand_txn_csv_exporter - (Algorand transaction CSV exporter) This script will export transactions for an algorand wallet to a CSV file. It is inten

TeneoPython01 5 Jun 19, 2022
Generates Windows 95 and 95 OEM keys using the modulus 7 check algorithm

w95keygen-python windowskeygen.py - Generates Windows 95 and 95 OEM keys using the modulus 7 check algorithm Just download and drop in the directory y

Joshua Alto 1 Dec 06, 2021
Ningyu Jia(nj2459)/Mengyin Ma(mm5937) Call Analysis group project(Group 36)

Group and Section Group 36 Section 001 name and UNI Name UNI Ningyu Jia nj2459 Mengyin Ma mm5937 code explanation Parking.py (1) Calculate the rate of

1 Dec 04, 2021
Thumbor-bootcamp - learning and contribution experience with ❤️ and 🤗 from the thumbor team

Thumbor-bootcamp - learning and contribution experience with ❤️ and 🤗 from the thumbor team

Thumbor (by @globocom) 9 Jul 11, 2022