Shojo

command module
v0.0.0-...-43777d7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2022 License: AGPL-3.0 Imports: 1 Imported by: 0

README

Shōjō

Logo

Custom badge Say Thanks!

LaTex package manager


Welcome to Fazendaaa's Shōjō. This is version 0.0.0!

Made with:

-----------------------------------------------------

➤ Ideia

Currently, in the company that I work for we have a CLI (Command Line Interface) made in Python called estat that you can read more about it right here. But one of its features is handeling LaTex packages to each of our projects.

The main ideia is that you have a shojo.yaml like the following describing the required packages needed for the project:

packages:
  - name: multirow
    revision: 58396
  - name: wrapfig
    revision: 61719
  - name: lastpage
    revision: 60414
  - name: hyphenat
    revision: 15878
  - name: hyphen-portuguese
    revision: 58609
  - name: babel-portuges
    revision: 59883
  - name: fancyhdr
    revision: 57672
  - name: tabu
    revision: 61719
  - name: varwidth
    revision: 24104

-----------------------------------------------------

➤ Why?

As many that use LaTex in a daily bases know, having to install all packages when you only need a few at most can be troublesome to say at least, besides that:

  • Having to maintain an old project
  • Many people using a plethora of editors
  • Building in a CI/CD environment
  • Time consuming
  • Updates
  • etc.

That's why Shojo was born, to help maintain LaTex projects dependencies in a friendly manner inspired by other tools like:

-----------------------------------------------------

➤ Components

What you can do with Shojo:

install

To install all packages from a Shojo project:

shojo install

init

To initialize a new Shojo project:

shojo init

add

To add packages to this project:

shojo add draftwatermark lastpage tabu ...

rm

To remove packages from this project:

shojo rm draftwatermark lastpage tabu ...

repo

To change the package's repository:

shojo repo https://mirror.ctan.org/systems/texlive/tlnet

-----------------------------------------------------

➤ Installing

Arch Linux/Manjaro

yay -S shojo

or:

pamac install shojo

Go

go install github.com/Fazendaaa/Shojo@latest

In case you choose this route, just remember to use Shojo instead of shojo while using the command.

Not loading

Probably missing the following:

export GOPATH="$HOME/go/"
export PATH="$PATH:$GOPATH/bin/"

Binary

Take a look first at zyedidia/eget

curl https://zyedidia.github.io/eget.sh | sh
./eget Fazendaaa/Shojo
mv Shojo $HOME/.local/bin/shojo

Docker

You don't need to install Go to run this tool, just Docker. And to do so to give it a try, you can do it just by running the following line in your terminal:

alias shojo='docker run -it --volume ${PWD}:${PWD} --workdir ${PWD} fazenda/shojo-latex'

And then running the following to check whether or not is working properly:

shojo --help

After that you can run the following just to fell free to run the following:

shojo init .
shojo add lastpage

-----------------------------------------------------

➤ Uninstalling

Arch Linux/Manjaro

yay -R shojo

Go

rm $GOPATH/bin/Shojo

Binary

rm $HOME/.local/bin/shojo

Docker

docker rmi --force fazenda/shojo-latex

-----------------------------------------------------

➤ CFD

As estat have grown so much and making it available as FOSS (Free and open-source software) trough the CFD initiative. That's was always the idea but the project still in development and not having a properly defined scope, I decided to break its main features in other projects:

  • Succubus: universal package manager based on cloud-native
  • Jinn: universal project manager built to expand Succubus capabilities
  • Baba Yaga: universal cloud-native manager built to expand Jinn and Succubus capabilities
  • Wendigo: universal project translator from cloud-native projects to other infra technologies
  • Shōjō: LaTex package manager
  • Hellhound: VSCode extension to integrate Jinn recipes
  • Crocotta: SOC assisted guider

-----------------------------------------------------

➤ Author

Only me because the aforementioned project was implemented by yours only. By knowing each line of that code wrote doing the port would be more easily done this way.

-----------------------------------------------------

➤ Contributing

Check more about this in CONTRIBUTING.md. Here we have a list of some of our contributors:

-----------------------------------------------------

➤ Contributors

Fazendaaa
Fazendaaa You?

-----------------------------------------------------

➤ TODO

Read TODO.md file.

-----------------------------------------------------

➤ References

Docs

BlogPosts

-----------------------------------------------------

➤ License

Licensed under AGPL-3.0.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL