Asset

resource

mark

extra

cache

typetagbase_modellinklicensetrigger_words
checkpoint trainedbase modelSD 1.5A-Zovya RPG Artist Toolsurl/
workflowstoolFlux.1 DALL simple workflow FLUX|UPSCALE|LORA|GGUF|CIVITAI Metadataurl/
checkpoint trainedconceptSD 1.5Album Cover Arturlin the style of album cover art, album cover
lorastyleSD 1.5Anime Lineart / Manga-like (线稿/線画/マンガ風/漫画风) Styleurllineart, monochrome
lorastylePonyArnold Lobel for Pony/Illustration by Lobel
checkpoint trainedbase modelSD 1.5Centerflexurl/
workflowsbackgroundSDXL LightningChange product background with the image of your choice using Style Transfer.//
vaestyleSD 1.5ClearVAE(SD1.5)//
workflowstoolSDXL 1.0ComfyUI — Tell the Differenceurl/
lorastyleSDXL 1.0CommerceStyleXL/productscene
checkpoint mergestyleSD 1.5Curiosity Mixurl/
checkpoint trainedstyle/D&D battlemaps//
loraconceptSD 1.5Detail Tweaker LoRA (细节调整LoRA)//
checkpoint mergebase modelSD 1.5DunkMashurl/
lorastyleFlux.1 DE-commerce High Quality Flux1.d Loraurl/
checkpoint mergestyleSDXL 1.0E-commerce_Photographyurl/
checkpoint mergeconceptSD 1.5Earth Satellite Image Map Generator Mixurlsatellite image of oeax location, mapsatimageeu, gamelandscapeheightmap512
embeddingtoolSD 1.5EasyNegative/easynegative
lorastyleSDXL 1.0Eldritch Impressionism oil painting/impressionist painting
lorabackgroundFlux.1 DFLUX Commerce | Revolutionizing E-Commerce with Stunning Backgroundsurlbackground
base modelbase modelFlux.1 DFLUX.1 [dev]url/
checkpoint mergebase modelSD 1.5Flat-2D Animergeurl/
checkpoint mergebase modelSD 1.5Fortyfour_oilpainting_V1url/
lorastyleSD 1.5Fromenteau Style//
checkpoint mergebase modelSD 1.5GhostMixurl/
checkpoint trainedstyleSD 1.5Giovanni Battista Piranesi 1700s/ilsgiovannibattistapiranesi, etching
loraconceptSD 1.5Good Hands LoRA//
lorastyleSD 1.5Landscape Ink//
workflowsstyleFlux.1 DLoRA on the fly with Flux Fillurl/
lorastyleSDXL 1.0Luigi Serafini Style|SDXL|LoRA/Serafini Style
checkpoint mergestyleSD 1.5LusterMixurl/
checkpoint mergetoolSD 1.5M41Durl/
lorastyleSDXL 1.0Medieval Illustration Style - SDXL 1.0/vintageillustration
checkpoint trainedbase modelSD 1.5MooMooE-commerceurlArtComposition
checkpoint trainedstylePonyNEW ERA (New Esthetic Retro Anime)url1990s (style), 1980s (style), 2000s (style), retro artstyle
loraconceptIllustriousNegative space - Illustrious XL/negative space
base modelbase modelSDXL 1.0SD-XL 1.0-baseurl/
lorastyleSDXL 1.0SDXL Inkdrawing/Inkdrawing
checkpoint trainedbackgroundSD 1.5Satellite Image Generator - MapSatimageEU - Cloudless CPurlmapsatimageeu
lorastyleSDXL 1.0Sivokon Style SDXL/soviet cartoon, style of sivokon
lorastyleSD 1.5Socrealistic Mosaic Style/socrealmosaic, mosaic, ceramic tile
base modelbase modelSD 1.5Stable Diffusion v1-5url/
other/SD 1.5Ultra Sharp High Contrast Tutorial +vae&upscalerurl/
checkpoint mergecharacterSD 1.5Utopiaurl/
lorastyleSDXL 1.0Vintage Marker/Marker Illustration
lorastyleSDXL 1.0Voxel XL/voxel style
lorarealisticSD 1.5WFProduct E-commerce Scenariourlwfproduct
workflowsclothingOtherWinstons Workflow Collectionurl/
workflowsclothingOtherWorkflow ComfyUi - Modify clothes at full resolution//
checkpoint trainedbackgroundSD 1.5natural earthurlsatellite image of oeax location
pdftopiclink_ctanlink_sourcelink_readmemaintainer
word count, luatexcountwords – Exact word counts, stored in LaTeX counters, using LuacountwordsReadmeHugo Heagren
amusements, graphics symbols, gamesmagicthegathering – LaTeX package for Magic: The Gathering typesettingmagicthegatheringReadmeHypergeomancer
tagged pdf, font type1, font, otf font, proportional font, font t1enc, font serifSourceSerif – Use Source Serif with TeX(-alike) systemssourceserifReadmeSilke Hofstra
font t1enc, font, font type1, tagged pdf, sans font, otf font, font support, proportional fontSourceSans – Use Source Sans with TeX(-alike) systemssourcesansReadmeSilke Hofstra
chemistry, diagrams, block diagramschempid – Draw Piping and Instrumentation diagrams using TikZ via PGFchempidReadmeRoel Raike
colourspotxcolor – Modern spot color support for the xcolor packagespotxcolorReadmeMunehiro Yamamotoi
pstricks, astronomy, graphicspst-nutation – Rotation, precession, nutation of the earthpst-nutation[Readme](pst-nutation – Rotation, precession, nutation of the earth)Herbert Voß
pstricks, graphicspst-gears – Drawing internal and external gearspst-gearsReadmeHerbert Voß
otf font, sans font, maths font, fontpennstander-otf – OpenType versions of the pennstander fonts (with math support)pennstander-otfReadmeCédric Pierquet
otf font, monospaced font, font support, fontMonaSpace-OTF – OpenType MonaSpace fonts with fontspec supportmonaspace-otfReadmeCédric Pierquet
verbatim, decorationterminalcode – Terminal-style code display with ANSI colors, UTF-8 box-drawing, and dark/light themesterminalcodeReadmeQirui Zeng
font, font support, archaic font, font ttfLydType – Typing in the Lydian alphabetlydtypeReadmeJonathan Walls
font support, font supp symbolpanda – A package to estimate the blackness of fontspandaReadmesamcarter
metadata, macro support, experimental latex3pkginfograb – Collect LaTeX package infos in a regular waypkginfograbReadmeAlceu Frigeri
luatex, graphics symbols, experimental, latex3, text symbol, pgf tikzKKsymbols – LaTeX commands for enclosing characters in circles, squares, diamonds, or bracketsReadmeKKTeX
graphics, games, pgf tikzmathador – LaTeX commands for the French game “Mathador”mathadorReadmeCédric Pierquet
diagrams, graphics, music, luatex, pgf tikzfretplot – Create scale and chord diagrams for guitar-like instrumentsfretplotReadmeSoumendra Ganguly
label and referencescleveref – Intelligent cross-referencingcleverefReadmeToby Cubitt
games, pgf tikzeigo – Comprehensive tools for creating Go (Weiqi/Baduk) game diagrams in LaTeXeigoReadmeMarc Levivier
bibliobibtex – Process bibliographies (bib files) for LaTeX or other formatsbibtexReadmeOren Patashnik
bibtex styleurlbst – Web support for BibTeXurlbstReadmeNorman Gray
graphics symbols, logobootstrapicons – Icons from the framework BootstrapbootstrapiconsReadmeBen Steinhauer
bookhand font, calligraphic font, display font, font support, medieval font, otf font, proportional fontAboensis – A late medieval OpenType cursive fontaboensisReadmeTommi Syrjänen
font, font supp symbol, font symbol, font ttfacademicons – Font containing high quality icons of online academic profilesacademiconsReadmeDiogo A. B. Fernandes
body font, font, font serif, font support, font t1enc, font type1, otf font, proportional fontaccanthis – Accanthis fonts, with LaTeX supportaccanthisReadmeBob Tennent
body font, font, font serif, font t1enc, font type1, otf font, proportional font, sans fontalegreya – Alegreya fonts with LaTeX supportalegreyaReadmeBob Tennent
body font, calligraphic font, font, font serif, font support, font t1enc, font ttf, font type1, proportional fontalmendra – Almendra fonts with LaTeX supportalmendraReadmeBob Tennent
archaic font, font, font type1linearA – Linear A script fontslinearaReadmeApostolos Syropoulos
archaic font, font, font type1, greek font, mf fontlinearb – Linear B script used in the Bronze Age for Mycenaean GreeklinearbReadmePeter R. Wilson
archaic font, font, font type1, mf fontoldprsn – Fonts old Persian cuneiform scriptoldprsnReadmePeter R. Wilson
archaic font, font, font type1phoenician – Fonts for the Phoenician script in use from about 1600 BCphoenicianReadmePeter R. Wilson
archaic font, font, font type1, mf fontprotosem – Fonts for proto-Semitic cuneiform scriptprotosemReadmePeter R. Wilson
archaic font, font, font type1, rune fontrunic – Fonts for Anglo-Saxon futharc scriptrunicReadmePeter R. Wilson
body font, font, font serif, font support, font t1enc, font ttf, proportional fontArchivo – The Archivo font face with support for LaTeX and pdfLaTeXarchivoReadmeCarl-Clemens Ebinger
cyrillic font, font, font ttf, font type1, font virtual, proportional font, sans fontarimo – Arimo sans serif fonts with LaTeX supportarimoReadmeBob Tennent, Steve Matteson
body font, font, font serif, font support, font t1enc, font ttf, proportional fontArvo – The Arvo font face with support for LaTeX and pdfLaTeXarvoReadmeCarl-Clemens Ebinger
accessibility support, font, font type1, otf font, sans fontatkinson – Support for the Atkinson Hyperlegible family of fontsatkinsonReadmeBob Tennent
calligraphic font, font, font type1aurical – Calligraphic fonts for use with LaTeX in T1 encodingauricalReadmeChristian Gollwitzer
bbd font, font, maths font, mf fontbbold – Sans serif blackboard boldbboldReadmeAlan Jeffrey (deceased)
bbd font, font, font support, font type1, maths fontbboldx – Extension of the bbold package with a Blackboard Bold alphabetbboldxReadmeMichael Sharpe
body font, font, font serif, font support, font t1enc, font ttf, font type1, proportional fontbitter – The Bitter family of fonts with LaTeX supportbitterReadmeBob Tennent
bookhand font, font, medieval font, mf fontpgothic – Fonts based on the Gothic Textura Prescisus manuscript book-handpgothicReadmePeter R. Wilson
body font, font, font support, font t1enc, font type1, otf font, proportional font, sans fontcabin – A humanist Sans Serif font, with LaTeX supportcabinReadmeBob Tennent
body font, font, font serif, font support, font t1enc, font ttf, font type1, proportional fontcaladea – Support for the Caladea family of fontscaladeaReadmeBob Tennent
font, font type1, sans fontcantarell – LaTeX support for the Cantarell font familycantarellReadmeMohamed El Morabity
font, font ttf, font type1, sans fontcarlito – Support for Carlito sans-serif fontscarlitoReadmeBob Tennent
font, font support, font t1enc, font type1, monospaced font, otf font, sans fontCascadiaCode – The Cascadia Code font with support for LaTeX and pdfLaTeXcascadia-codeReadmeCarl-Clemens Ebinger
font, font symbol, font type1ccicons – LaTeX support for Creative Commons iconscciconsReadmeMichael Ummels
decor font, font, font support, font t1enc, font ttf, font type1cinzel – LaTeX support for Cinzel and Cinzel Decorative fontscinzelReadmeBob Tennent
body font, font, font support, font t1enc, font ttf, font type1, proportional font, sans fontclearsans – Clear Sans fonts with LaTeX supportclearsansReadmeBob Tennent
font, font type1, maths font, mf fontcmll – Symbols for linear logiccmllReadmeEmmanuel Beffara
body font, font, font serif, font support, font t1enc, font type1, otf font, proportional fontcoelacanth – Coelacanth fonts with LaTeX supportcoelacanthReadmeBob Tennent
font, font support, sans fontcomfortaa – Sans serif font, with LaTeX supportcomfortaaReadmeJohan Aakerlund, Mohamed El Morabity
font, font support, font type1, otf fontcomicneue – Use Comic Neue with TeX(-alike) systemscomicneueReadmeSilke Hofstra
font supportcomicsans – Use Microsoft Comic Sans fontcomicsansReadmeScott Pakin
font, font t1enc, font type1, otf font, proportional font, sans fontcooperhewitt – LaTeX, pdfLaTeX, XeLaTeX and LuaLaTeX support for the Cooper Hewitt family of sans serif fontscooperhewittReadmeBob Tennent
body font, font, font serif, font support, font t1enc, font ttf, font type1, proportional fontCormorantGaramond – Cormorant Garamond family of fontscormorantgaramondReadmeBob Tennent
font, font serif, font t1enc, font type1, otf font, proportional fontcrimson – Crimson fonts with LaTeX supportcrimsonReadmeBob Tennent
font, font serif, font t1enc, font ttf, font type1, proportional fontCrimsonPro – CrimsonPro fonts with LaTeX supportcrimsonproReadmeBob Tennent
font, font type1, mf font, otf fontdrm – A complete family of fonts written in METAFONTdrmReadmeDonald P. Goodman
body font, font, font serif, font support, font t1enc, font ttf, font type1, monospaced font, proportional font, sans fontdroid – LaTeX support for the Droid font familiesdroidReadmeMohamed El Morabity, Steve Matteson
bbd font, font, font serif, font type1, maths fontDSSerif – A double-struck serifed font for mathematical usedsserifReadmeMichael Sharpe
body font, font, font serif, font t1enc, font type1, otf font, proportional fontebgaramond – LaTeX support for EBGaramond fontsebgaramondReadmeBob Tennent
font, font type1electrumadf – Electrum ADF fonts collectionelectrumadfReadmeClea F. Rees
calligraphic font, novelty fontemerald – Support for the free emerald city fontwerks fontsemeraldReadmeM. César Rodríguez
body font, font, font serif, font support, font t1enc, font type1, otf font, proportional fontfbb – A free Bembo-like fontfbbReadmeMichael Sharpe
body font, font, font support, font t1enc, font type1, monospaced font, otf font, proportional font, sans fontfira – Fira fonts with LaTeX supportfiraReadmeBob Tennent
font, font supp symbol, font symbol, font type1, otf fontfontawesome – Font containing web-related iconsfontawesomeReadmeDave Gandy, Xavier Danaux
body font, cyrillic font, font, font serif, font support, font t1enc, font type1, multilingual font, otf font, proportional fontforum – Forum fonts with LaTeX supportforumReadmeBob Tennent
body font, cyrillic font, font, font serif, font support, font t1enc, font type1, greek font, multilingual font, otf font, proportional fontgaramond-libre – The Garamond Libre font facegaramond-libreReadmeBob Tennent, Daniel Benjamin Miller
body font, font, font serif, font type1, otf font, proportional fontgelasio – LaTeX support for the Gelasio family of fontsgelasioReadmeBob Tennent
body font, font, font support, font t1enc, font type1, otf font, proportional font, sans fontgillius – Gillius fonts with LaTeX supportgilliusReadmeBob Tennent
body font, cyrillic font, font, font serif, font support, font t1enc, font ttf, font type1, greek font, monospaced font, multilingual font, proportional font, sans fontgofonts – GoSans and GoMono fonts with LaTeX supportgofontsReadmeBob Tennent
font support, greek fontcbfonts-fd – LaTeX font description files for the CB Greek fontscbfonts-fdReadmeClaudio Beccari
font, font type1, greek font, otf fontGFS Bodoni – A Greek and Latin font based on BodonigfsbodoniReadmeAntonis Tsolomitis, The Greek Font Society
font, font type1, greek font, otf fontGFS Complutum – A Greek font with a long historygfscomplutumReadmeAntonis Tsolomitis, George D. Matthiopoulos
body font, font, font serif, font t1enc, font type1, greek font, multilingual font, otf fontGFSDidot – A Greek font based on Didot’s workgfsdidotReadmeAlain Aubord, Antonis Tsolomitis, George D. Matthiopoulos, The Greek Font Society
body font, font, greek font, otf fontGFSDidotClassic – The classic version of GFSDidotgfsdidotclassicReadmeAntonis Tsolomitis
font, greek font, otf fontGFS NeoHellenic – A font in the Neo-Hellenic stylegfsneohellenicReadmeAntonis Tsolomitis, The Greek Font Society
font, greek font, mf fontlfb – A Greek font with normal and bold variantslfbReadmeLaurie Field
body font, font, font support, font t1enc, font type1, proportional font, sans fontgudea – The Gudea font face with support for LaTeX and pdfLaTeXgudeaReadmeCarl-Clemens Ebinger
body font, font, font serif, font support, font t1enc, font type1, otf font, proportional fontibarra – LaTeX support for the Ibarra Real Nova family of fontsibarraReadmeBob Tennent
font, font symbol, games, mf fontigo – Fonts and macro to typeset Go diagramsigoReadmeÉtienne Dupuis
body font, font, font support, font t1enc, font type1, otf font, proportional font, sans fontinter – The inter font face with support for LaTeX, XeLaTeX, and LuaLaTeXinterReadmeCarl-Clemens Ebinger
font, font type1, otf fontiwona – A two-element sans-serif fontiwonaReadmeJanusz Marian Nowacki (deceased)
font, mf font, novelty fontjablantile – METAFONT version of tiles in the style of Slavik JablanjablantileReadmeDonald E. Knuth
font support, monospaced font, otf fontjetbrainsmono-otf – Package (or only fontspec config files) support for the OpenType font JetBrainsjetbrainsmono-otfReadmeCédric Pierquet
body font, font, font support, font t1enc, font type1, monospaced font, otf font, proportional font, sans fontjosefin – Josefin fonts with LaTeX supportjosefinReadmeBob Tennent
font, font support, font type1, historical font, medieval font, otf fontJunicode – A TrueType and OpenType font family for mediaevalistsjunicodeReadmeBob Tennent, Peter S. Baker
diagrams, font, font symbol, font type1, mf fontknitting – Produce knitting charts, in Plain TeX or LaTeXknittingReadmeAriel Barton
font, font serif, font type1, maths font, monospaced font, sans fontkpfonts – A complete set of fonts for text and mathematicskpfontsReadmeChristophe Caignaert (inactive)
font, font type1, otf fontkurier – A two-element sans-serif typefacekurierReadmeJanusz Marian Nowacki (deceased)
font, font ttf, font type1, sans fontlato – Lato font family and LaTeX supportlatoReadmeMohamed El Morabity, Łukasz Dziedzic
body font, font, font serif, font support, font t1enc, font type1, monospaced font, otf font, sans fontlibertine – Use of Linux Libertine and Biolinum fonts with LaTeXlibertineReadmeBob Tennent
body font, cyrillic font, font, font serif, font support, font t1enc, font type1, greek font, multilingual font, otf font, proportional fontlinguisticspro – LinguisticsPro fonts with LaTeX supportlinguisticsproReadmeBob Tennent
calligraphic font, font, font support, font t1enc, font type1, otf font, proportional fontlobster2 – Lobster Two fonts, with support for all LaTeX engineslobster2ReadmeBob Tennent
font supportlsabon – Support files for the Linotype Sabon fontslsabonReadmeBoris Veytsman
body font, font, font support, font t1enc, font type1, proportional font, sans fontmagra – The Magra font face with support for LaTeX and pdfLaTeXmagraReadmeCarl-Clemens Ebinger
body font, font, font support, font t1enc, font ttf, font type1, proportional fontMarcellus – Marcellus fonts with LaTeX supportmarcellusReadmeBob Tennent
font, font symbol maths, mf fontmathabx – Three series of mathematical symbolsmathabxReadmeAnthony Phan
font, font supp maths, font type1, maths fontmathdesign – Mathematical fonts to fit with particular text fontsmathdesignReadmePaul Pichaureau
body font, font, font serif, font support, font t1enc, font ttf, font type1, proportional font, sans fontmerriweather – Merriweather and MerriweatherSans fonts, with LaTeX supportmerriweatherReadmeBob Tennent
font, font specialist, font symbol, otf font, scientific docs, sfd fontmetsymb – The package provides dedicated TeX commands to generate (vectorial) meteorological symbolsmetsymbReadmeFrédéric P.A. Vogt
body font, font, font serif, font support, font type1, otf font, proportional fontmfb-oldstyle – MFB Oldstyle serif fontsmfb-oldstyleReadmeDaniel Benjamin Miller
body font, font, font support, font t1enc, font type1, otf font, proportional font, sans fontmintspirit – LaTeX support for MintSpirit font familiesmintspiritReadmeBob Tennent
gothic font, medieval font, otf fontmissaali – A late medieval OpenType textura fontmissaaliReadmeTommi Syrjänen
font, font t1enc, font type1, otf font, sans fontmontserrat – Montserrat sans serif, otf and pfb, with LaTeX support filesmontserratReadmeMichael Sharpe
body font, font, font serif, font support, font t1enc, font type1, maths font, otf font, proportional fontnewtx – Alternative uses of the TX fonts, with improved metricsnewtxReadmeMichael Sharpe
font, font type1, maths font, sans fontnewtxsf – Sans-math fonts for use with newtxnewtxsfReadmeMichael Sharpe
font, font support, font t1enc, font type1, monospaced fontnewtxtt – Enhancement of typewriter fonts from newtxnewtxttReadmeMichael Sharpe
body font, font, font support, font t1enc, font type1, otf font, proportional font, sans fontNunito – The Nunito font face with support for LaTeX and pdfLaTeXnunitoReadmeCarl-Clemens Ebinger
font symbol maths, font type1old-arrows – Computer Modern old-style arrows with smaller arrowheadsold-arrowsReadmeRiccardo Dossena
body font, cyrillic font, font, font serif, font support, font t1enc, font type1, greek font, maths font, multilingual font, otf font, proportional fontOldStandard – OldStandard fonts with LaTeX supportoldstandardReadmeAlexey Kryukov (inactive), Antonis Tsolomitis, Bob Tennent, Nikola Lečić, Robert Alessi
turkishorkhun – A font for orkhun scriptorkhunReadmeAbdugafur Rakhimov
font, font support, font t1enc, font type1, proportional font, sans fontOswald – The Oswald family of fonts with support for LaTeX and pdfLaTeXoswaldReadmeCarl-Clemens Ebinger
font, font ttf, font type1, sans fontoverlock – Overlock sans fonts with LaTeX supportoverlockReadmeBob Tennent
body font, display font, font, font serif, font support, font t1enc, font type1, otf font, proportional fontplayfair – Playfair Display fonts with LaTeX supportplayfairReadmeBob Tennent
body font, font, font support, font t1enc, font ttf, font type1, proportional font, sans fontpoiretone – PoiretOne family of fonts with LaTeX supportpoiretoneReadmeBob Tennent
astrology, font, font specialist, font ttfstarfont – The StarFont Sans astrological fontstarfontReadmeMatthew Skala
font supportdogma – Metrics and LaTeX support for Dogma Font From Emigre GraphicsdogmaReadmeBoris Veytsman
font supportleawood – LaTeX support for use of ITC Leawood font familyleawoodReadmeScott Pakin
body font, font, font serif, font support, font t1enc, font ttf, font type1, proportional font, sans fontquattrocento – Quattrocento and Quattrocento Sans fonts with LaTeX supportquattrocentoReadmeBob Tennent
font, font type1romandeadf – Romande ADF fonts and LaTeX supportromandeadfReadmeClea F. Rees
font, font support, font type1, otf font, sans fontrosario – Using the free Rosario fonts with LaTeXrosarioReadmeArash Esbati
body font, font, font collection, font serif, font symbol, font symbol maths, maths font, nonroman font, otf fontstix2-otf – OpenType Unicode text and maths fontsstix2-otfReadmeDavid M. Jones, The STI Pub Companies
font, luatex, maths font, otf font, xetextermes-otf – Using the OpenType fonts TeX Gyre Termestermes-otfReadmeHerbert Voß
font, font supp symbol, font symbol, font ttftypicons – Font containing a set of web-related iconstypiconsReadmeArthur Vigil
font supp mathsurwchancal – Use URW's clone of Zapf Chancery as a maths alphabeturwchancalReadmeMichael Sharpe
font, font symbol, mf fontwasy – The wasy fonts (Waldi symbol fonts)wasyReadmeRoland Waldi
body font, cyrillic font, font, font serif, font support, font t1enc, font type1, multilingual font, otf font, proportional fontXCharter – Extension of Bitstream Charter fontsxcharterReadmeMichael Sharpe
gamesxq – Support for writing about xiangqixqReadmeSebastian Pipping (inactive), Stephan Weinhold (inactive)
body font, cyrillic font, font, font support, font t1enc, font ttf, font type1, otf font, proportional font, sans fontYsabeau – Ysabeau fonts with LaTeX support for traditional TeX enginesysabeauReadmeNoel Merino Hernández
boxingawesomebox – Draw admonition blocks in your documents, illustrated with FontAwesome iconsawesomeboxReadmeÉtienne Deparis
gen chartbardiag – LaTeX package for drawing bar diagramsbardiagReadmeR. Stepanyan
boxing, logobclogo – Creating colourful boxes with logosbclogoReadmeMaxime Chupin
amusements, decoration, graphics use, luatexbookshelf – Create a nice image from a BibTeX filebookshelfReadmeBoris Veytsman, Peter Flynn (inactive)
chemistry, foreign import, graphicschemobabel – Convert chemical structures from ChemDraw, MDL molfile or SMILES using Open BabelchemobabelReadmeHironobu Yamashita
circuit diagram, electronicCircuit_macros – M4 macros for electric circuit diagramscircuit-macrosReadmeDwight Aplevich
circuit diagram, diagramsduotenzor – Drawing package for circuit and duotensor diagramsduotenzorReadmeLucien Hardy
graphicsellipse – Draw ellipses and elliptical arcs using the standard LaTeX2ε picture environmentellipseReadmeDaan Leijen
graphics in texGasTeX – Graphs and Automata Simplified in TeXgastexReadmePaul Gastin
biblatex, germangchords – Typeset guitar chordsgchordsReadmeIain Phillips, Matthew Tylee Atkinson
graphics, maths, teachinggraph35 – Draw keys and screen items of several Casio calculatorsgraph35ReadmeLouis Paternault
graphics includeLaTeXScreenShooter – Capture screenshots within LaTeX documentslatexscreenshooterReadmeQuentin Vaney, Xavier Freléchoz
games, graphicsmahjong – Typeset Mahjong Tiles using MPSZ NotationmahjongReadmeDaniel Schmitz
automataautomata – Finite state machines, graphs and trees in METAPOSTautomataReadmeGabriele Puppis
block diagramsblockdraw_mp – Block diagrams and bond graphs, with METAPOSTblockdraw_mpReadmeHenrik Tidefelt
graphics symbolscmarrows – METAPOST arrows and braces in the Computer Modern stylecmarrowsReadmeTommy Ekola
diagrams, graphics in texexpressg – Diagrams consisting of boxes, lines, and annotationsexpressgReadmePeter R. Wilson
3d graphicsfeatpost – METAPOST macros for 3DfeatpostReadmeLuís Nobre Gonçalves
graphics, graphics metapost, physicsfiziko – A METAPOST library for physics textbook illustrationsfizikoReadmeSergey Slyusarev
metapost support, metapost usehershey-mp – METAPOST support for the Hershey font file formathershey-mpReadmeEsger Renkema
graphics metapost, treehuffman – Drawing binary Huffman trees with METAPOST and METAOBJhuffmanReadmeMaxime Chupin
3d graphics, graphics usem3D – Extension of plain METAPOST for 3D graphicsm3dReadmeAnthony Phan
circuit diagramMakeCirc – A METAPOST library for drawing electrical circuit diagramsmakecircReadmeGustavo Sebastián Bustamante Argañaraz
graphics enginemetaobj – METAPOST package providing high-level objectsmetaobjReadmeDenis B. Roegel
metapost use, umlmetauml – METAPOST library for typesetting UML diagramsmetaumlReadmeOvidiu Gheorghies
3d graphics, metapost usethreed – 3D animationsthreedReadmeDenis B. Roegel
metapost supportmparrows – METAPOST module with different types of arrow headsmparrowsReadmePalle Jørgensen
graphics usempattern – Patterns in METAPOSTmpatternReadmePiotr Bolek
games, graphics, graphics metapost, metapost useMPchess – Drawing chess boards and positions with METAPOSTmpchessReadmeMaxime Chupin
diagrams, graphics plotmpkiviat – METAPOST package to draw Kiviat diagramsmpkiviatReadmeMaxime Chupin
graphics metapost, math diagrams, maths, probabilitymptrees – Probability trees with METAPOSTmptreesReadmeOlivier Péault
gen chartpiechartmp – Draw pie-charts using METAPOSTpiechartmpReadmeJens-Uwe Morawski
graphics metapost, maths, teachingrepere – METAPOST macros for secondary school mathematics teachersrepereReadmeOlivier Péault
boxing, graphics metapostroundrect – METAPOST macros for highly configurable rounded rectangles (optionally with text)roundrectReadmeDonald P. Goodman
mathsshapes – Draw polygons, reentrant stars, and fractions in circles with METAPOSTshapesReadmeDonald P. Goodman
presentationslideshow – Generate slideshow with METAPOSTslideshow/Patrick T J McPhee
graphics texttextpath – Setting text along a path with METAPOSTtextpathReadmeStephan Hennig
graphics texttxp – Draw text along a pathtxpReadmeSantiago Muelas
graphics in texmfpic – Draw METAFONT/post pictures from (La)TeX commandsmfpicReadmeDaniel H. Luecking, Geoffrey Tobin
graphics plot, graphics plot function, mathsmglTeX – High-quality graphics from MGL scripts embedded in LaTeX documentsmgltexReadmeAlexey Balakin, Diego Sejas Viscarra
graphics subpic, luatexminim-hatching – Create tiling patterns with the minim-mp METAPOST processorminim-hatchingReadmeEsger Renkema
chemistry, foreign importmol2chemfig – Convert chemical structures from MDL molfile format to chemfig source codemol2chemfigReadmeMichael Palmer
graphics, graphics in tex, pgf tikzpgf – Create PostScript and PDF graphics in TeXpgfReadmeChristian Feuersänger, Henri Menke, The PGF/TikZ Team, Till Tantau
diagrams, pgf tikzadigraph – Augmenting directed graphsadigraphReadmeLuca Cappelletti
automata, graphics, pgf tikzaiplans – A TikZ-based library for drawing POCL plansaiplansReadmePascal Bercher, Yikai Ge
graphics in tex, pgf tikz, treebinarytree – Drawing binary trees using TikZbinarytreeReadmeAleksandrina Nikolova
pgf tikz, physicsblochsphere – Draw pseudo-3D diagrams of Bloch spheresblochsphereReadmeMatthew Wardrop
control diagramsbloques – Generate control diagramsbloquesReadmeAlejandro Garces Ruiz
block diagrams, graphics, pgf tikzblox – Draw block diagrams, using TikZbloxReadmeBen Reish
engineering, graphics plot, pgf tikzbodegraph – Draw Bode, Nyquist and Black plots with gnuplot and TikZbodegraphReadmeRobert Papanicola
engineering, graphics plot, pgf tikzbodeplot – Draw Bode, Nyquist and Nichols plots with gnuplot or pgfplotsbodeplotReadmeRushikesh Kamalapurkar
diagrams, graphics, maths, pgf tikzbraids – Draw braid diagrams with PGF/TikZbraidsReadmeAndrew Stacey
amusements, graphics, pgf tikzbyo-twemojis – “Build Your Own Twemojis” with TikZbyo-twemojisReadmeJost Rossel
graphics, pgf tikzcallouts – Put simple annotations and notes inside a picturecalloutsReadmeMarkus Stuetz
graphics, math diagrams, maths, pgf tikzcausets – Draw causal set (Hasse) diagramscausetsReadmeChristoph Minz
graphics, pgf tikzceltic – A TikZ library for drawing celtic knotscelticReadmeAndrew Stacey
chemistry, flow diagrams, graphics, pgf tikzchemplants – Symbology to draw chemical plants with TikZchemplantsReadmeElia Arnese Feffin
chords, music, pgf tikzchordbox – Draw chord diagramschordboxReadmeSteven Franzen
circuit diagram, electronic, graphics, pgf tikzCircuiTikZ – Draw electrical networks with TikZcircuitikzReadmeMassimo Redaelli, Romano Giannetti, Stefan Erhardt, Stefan Lindner
font, pgf tikzcircularglyphs – A circular glyphs alphabetcircularglyphsReadmeCédric Pierquet
amusements, graphics, pgf tikzcoffeestains – Add coffee stains to documentscoffeestainsReadmePatrick Bideault
commutative diagrams, diagrams, graphics, math diagrams, maths, pgf tikzcommutative-diagrams – CoDi: Commutative Diagrams for TeXcommutative-diagramsReadmePaolo Brasolin
boxing, decoration, pgf tikzDPcircling – Decorated text boxes using TikZdpcirclingReadmeOura Mitsuaki
diagrams, graphics, pgf tikzdynkin-diagrams – Draw Dynkin, Coxeter, and Satake diagrams using TikZdynkin-diagramsReadmeBenjamin McKay
calculation, graphics, graphics supp, pgf tikzeasing – Easing functions for pgfmatheasingReadmeKa-tsun Loh
graphics, maths, pgf tikzeuclidean-lattice – Draw two-dimensional Euclidean lattices with TikZeuclidean-latticeReadmeJérôme Plût
pgf tikz, qr codefancyqr – Fancy QR-Codes with TikZfancyqrReadmeFlorian Sihler
diagrams, pgf tikzfast-diagram – Easy generation of FAST diagramsfast-diagramReadmeRaphaël Allais
flow diagrams, pgf tikzflowchart – Shapes for drawing flowcharts, using TikZflowchartReadmeAdrian P. Robson
linguistic, pgf tikz, treeforest – Drawing (linguistic) treesforestReadmeSašo Živanović
diagrams, pgf tikzgrafcet – Draw Grafcet/SFC with TikZgrafcetReadmeRobert Papanicola
graphics symbols, pgf tikzharveyballs – Create Harvey Balls using TikZharveyballsReadmeSascha Roth
games, graphicshexboard – For drawing Hex boards and gameshexboardReadmeChris Sangwin, Peter Rowlett
curve graphics, experimental latex3, graphics in tex, graphics supp, pgf tikzhobby – An implementation of Hobby’s algorithm for PGF/TikZhobbyReadmeAndrew Stacey
games, pgf tikz, treeistgame – Draw Game Trees with TikZistgameReadmeIn-Sung Cho
pgf tikzjigsaw – Draw jigsaw pieces with TikZjigsawReadmesamcarter
engineering, maths, pgf tikzkarnaugh-map – LaTeX package for drawing karnaugh maps with up to 6 variableskarnaugh-mapReadmeMattias Jacobsson
block diagrams, flow diagramskblocks – Easily typeset Control Block Diagrams and Signal Flow GraphskblocksReadmeOluwasegun Somefun
pgf tikz, physicskinematikz – Design kinematic chains and mechanismskinematikzReadmeVitor Santos
circuit diagram, pgf tikzladder – Draw simple ladder diagrams using TikZladderReadmeAurélien Cadiou
diagrams, pgf tikzlie-hasse – Draw Hasse diagramslie-hasseReadmeBenjamin McKay
pgf tikzmakeshape – Declare new PGF shapesmakeshapeReadmeAdrian P. Robson
maths, pgf tikzmatrix-skeleton – A PGF/TikZ library that simplifies working with multiple matrix nodesmatrix-skeletonReadmeNicolas Dudebout
graphics, pgf tikzmemorygraphs – TikZ styles to typeset graphs of program memorymemorygraphsReadmeCamil Staps
diagrams, pgf tikzmessagepassing – Draw diagrams to represent communication protocolsmessagepassingReadmeMartin Vassor
graphics, pgf tikz, symbol supportMilSymb – LaTeX package for TikZ based drawing of military symbols as per NATO APP-6(C)milsymbReadmeDamian Crosby
games, graphics, pgf tikznimsticks – Draws sticks for games of multi-pile NimnimsticksReadmePeter Rowlett
maths, pgf tikznl-interval – Represent intervals on the number linenl-intervalReadmeAntero Neves
diagramsnndraw – Draw neural networksnndrawReadmeCarlos Cardoso Dias
chemistry, engineering, graphics, pgf tikzpfdicons – Draw process flow diagrams in chemical engineeringpfdiconsReadmeAaron Drews
pgf tikz, physicspgf-interference – Drawing interference patterns with PGF/TikZpgf-interferenceReadmeKeno Wehr
chemistry, pgf tikzpgf-PeriodicTable – Create custom periodic tables of elementspgf-periodictableReadmeHugo Gomes
gen chart, pgf tikzpgf-pie – Draw pie charts, using PGFpgf-pieReadmeThe PGF/TikZ Team, Xu Yuan
diagramspgf-soroban – Create images of the soroban using TikZ/PGFpgf-sorobanReadmeAlain Delmotte
pgf tikz, physicspgf-spectra – Draw continuous or discrete spectra using PGF/TikZpgf-spectraReadmeHugo Gomes
pgf tikz, umlpgf-umlsd – Draw UML Sequence Diagramspgf-umlsdReadmeThe PGF/TikZ Team, Xu Yuan
diagrams, gantt, graphics, pgf tikzpgfgantt – Draw Gantt charts with TikZpgfganttReadmeWolfgang Esser-Skala (inactive)
pgf tikzpgfmorepages – Assemble multiple logical pages onto a physical pagepgfmorepagesReadmeAndrew Stacey
chinese, graphics symbols, pgf tikz, presentationpgfornament-han – pgfornament library for Chinese traditional motifs and patternspgfornament-hanReadmeLianTze Lim
graphics, graphics plot, pgf tikzpgfplots – Create normal/logarithmic plots in two and three dimensionspgfplotsReadmeChristian Feuersänger
graphics plotpgfplotstable – Loads, rounds, formats and postprocesses numerical tablespgfplotstableReadmeChristian Feuersänger
colour, graphics, graphics plot, presentationpgfplotsthemebeamer – Use colours from the current beamer theme in pgfplotspgfplotsthemebeamerReadmesamcarter
graphics, pgf tikzpictochrono – Insert “chronometer pictograms” with a durationpictochronoReadmeCédric Pierquet
electronic, graphics, pgf tikzpinouTikZ – Draw chip pinouts with TikZpinoutikzReadmeRobert Blazek
graphics, luatex, pgf tikzpixelart – Draw pixel-art picturespixelartReadmeLouis Paternault
graphics, pgf tikzPixelArtTikz – Work with PixelArts, with TikZpixelarttikzReadmeCédric Pierquet
cards, games, pgf tikzplaycards – A simple template for drawing playcardsplaycardsReadmeClément Pagès
graphics, maths, pgf tikzpolyhedra – A TikZ package for drawing polyhedrapolyhedraReadmeZafeirakis Zafeirakopoulos
logic, pgf tikz, treeprooftrees – Forest-based proof trees (symbolic logic)prooftreesReadmeClea F. Rees
logic, pgf tikzptolemaicastronomy – Diagrams of sphere models for variably strict conditionals (Lewis counterfactuals)ptolemaicastronomyReadmeRichard Zach
games, graphics, pgf tikzPuyoTikZ – Quickly typeset board states of Puyo Puyo gamespuyotikzReadmeAlexander Osborne
circuit diagram, graphics, pgf tikzquantikz – Draw quantum circuit diagramsquantikzReadmeAlastair Kay
chemistry, pgf tikzquickreaction – A simple and fast way to typeset chemical reactionsquickreactionReadmeFrancesco Lambertini
commutative diagrams, graphics, graphics in tex, pgf tikzquiver – Draw commutative diagrams exported from https://q.uiver.appquiverReadmevarkor
diagrams, pgf tikzreotex – Draw Reo Channels and CircuitsreotexReadmeNuno Oliveira
graphics, pgf tikzrobotarm – TikZ powered LaTeX package to draw parameterized 2D robot armsrobotarmReadmeMax J.W. Snippe
graphics in texrulercompass – A TikZ library for straight-edge and compass diagramsrulercompassReadmeAndrew Stacey
comp net, graphics usesa-tikz – TikZ library to draw switching architecturessa-tikzReadmeClaudio Fiandrino
diagrams, flow diagrams, graphics, pgf tikzsankey – Draw Sankey diagrams with TikZsankeyReadmePaul Gaborit
block diagrams, graphics, pgf tikzschemabloc – Draw block diagrams, using TikZschemablocReadmeRobert Papanicola
optics, pgf tikz, physicssimpleoptics – Drawing lenses and mirrors for optical diagramssimpleopticsReadmeJustin Cawood
diagrams, pgf tikzsmartdiagram – Generate diagrams from listssmartdiagramReadmeClaudio Fiandrino
curve graphics, pgf tikzspath3 – Manipulate “soft paths” in PGFspath3ReadmeAndrew Stacey
pgf tikzspectralsequences – Print spectral sequence diagrams using PGF/TikZspectralsequencesReadmeHood Chatham
engineering, pgf tikzstanli – TikZ Library for Structural AnalysisstanliReadmeJürgen Hackl
graphics, pgf tikzstrands – Draw objects constructed from strandsstrandsReadmeDiego Arcis
diagrams, graphics, maths, pgf tikzstring-diagrams – Create string diagrams with LaTeX and TikZstring-diagramsReadmePaolo Brasolin
pgf tikz, physicsstructmech – A TikZ command set for structural mechanics drawingsstructmechReadmeTheodore Chang
astronomy, graphics, pgf tikz, physicssunpath – Draw sun path chartssunpathReadmeHồng-Phúc Bùi
diagrams, flow diagrams, graphics, pgf tikzsyntaxdi – Create “railroad” syntax diagramssyntaxdiReadmeAndré Hilbig, Johannes Kuhaupt, Johannes Pieper
games, pgf tikz, puzzleTangramTikZ – Tangram puzzles, with TikZtangramtikzReadmeCédric Pierquet
documentation support, pgf tikzticollege – Graphical representation of keys on a standard scientific calculatorticollegeReadmePhilippe De Sousa
gamestictactoe – Drawing tic-tac-toe or Noughts and Crosses gamestictactoeReadmePeter Rowlett
3d graphics, graphics use, pgf tikztikz-3dplot – Coordinate transformation styles for 3d plotting in TikZtikz-3dplotReadmeJeffrey Hein
numbers, pgf tikzTikZ-Bagua – Draw Bagua symbols in Yijingtikz-baguaReadmeXu WANG
graphics, pgf tikztikz-bbox – Precise determination of bounding boxes in TikZtikz-bboxReadmemarmotghost
commutative diagrams, graphics, graphics in tex, pgf tikztikz-cd – Create commutative diagrams with TikZtikz-cdReadmeAugusto Stoffel
linguistic, pgf tikz, treetikz-dependency – A library for drawing dependency graphstikz-dependencyReadmeDaniele Pighin
pgf tikztikz-dimline – Technical dimension lines using PGF/TikZtikz-dimlineReadmeSébastien Gross
pgf tikz, physicsTikZ-FeynHand – Feynman diagrams with TikZtikz-feynhandReadmeMax Dohse
pgf tikz, physics, use luatextikz-feynman – Feynman diagrams with TikZtikz-feynmanReadmeJoshua Ellis
graphics, graphics include, graphics text, pgf tikztikz-imagelabels – Put labels on images using TikZtikz-imagelabelsReadmeTobias Plüss
logictikz-inet – Draw interaction nets with TikZtikz-inetReadmeMarc de Falco
calendar, class, pgf tikztikz-kalender – A LaTeX based calendar using TikZtikz-kalenderReadmeRolf Niepraschk
engineering, maths, pgf tikztikz-karnaugh – Typeset Karnaugh maps using TikZtikz-karnaughReadmeLuís Paulo Laus
circuit diagramm, diagramsm, engineeringm, pgf tikzmtikz-ladder – Draw ladder diagrams using TikZtikz-ladderReadmeLuís Paulo Laus
pgf tikztikz-lake-fig – Schematic diagrams of lakestikz-lake-figReadmeJoseph Stachelek
diagrams, optics, pgf tikz, physicstikz-mirror-lens – Spherical mirrors and lenses in TikZtikz-mirror-lensReadmeFernando H. G. Zucatelli
tikz-networktikz-network – Draw networks with TikZtikz-networkReadmeJürgen Hackl
graphics, pgf tikztikz-nfold – Triple, quadruple, and n-fold paths with TikZtikz-nfoldReadmeJonathan Schulz
graphics in tex, optics, pgf tikz, physicstikz-optics – A library for drawing optical setups with TikZtikz-opticsReadmeMichel Fruchart
graphics use, pgf tikz, physicstikz-osci – Produce oscilloscope “screen shots”tikz-osciReadmeThibault Giauffret
pgf tikztikz-page – Small macro to help building nice and complex layout materialstikz-pageReadmeSébastien Gross
pgf tikztikz-palattice – Draw particle accelerator lattices with TikZtikz-palatticeReadmeJan Schmidt
astronomy, graphics, pgf tikzTikZ-planets – Illustrate celestial mechanics and the solar systemtikz-planetsReadmeIsabelle M. Santos
treetikz-qtree – Use existing qtree syntax for trees in TikZtikz-qtreeReadmeDavid Chiang
circuit diagram, diagrams, engineering, pgf tikz, physicstikz-relay – TikZ library for typesetting electrical diagramstikz-relayReadmeLuís Paulo Laus
circuit diagram, diagrams, engineering, flow diagrams, pgf tikztikz-sfc – Symbols collection for typesetting Sequential Function Chart (SFC) diagrams (PLC programs)tikz-sfcReadmeLuís Paulo Laus
pgf tikztikz-swigs – Horizontally and vertically split elliptical nodestikz-swigsReadmeThomas S. Richardson
electronic, pgf tikz, timing diagramstikz-timing – Easy generation of timing diagrams as TikZ picturestikz-timingReadmeMartin Scharrer
diagrams, graphics, pgf tikztikz-trackschematic – A TikZ library for creating track diagrams in railwaystikz-trackschematicReadmeMartin Scheidt
pgf tikztikz-truchet – Draw Truchet tilestikz-truchetReadmeMatthew Scroggs
amusements, graphics, pgf tikzTikZbricks – Drawing bricks with TikZtikzbricksReadmesamcarter
pgf tikztikzcodeblocks – Helps to draw codeblocks like scratch, NEPO and PXT in TikZtikzcodeblocksReadmeAdrian Salamon
circuit diagram, electronic, graphics, pgf tikztikzdotncross – Small set of macros for defining/marking coordinates and crossing (jumps) pathstikzdotncrossReadmeAlceu Frigeri
amusements, graphics, pgf tikzTikZducks – A little fun package for using rubber ducks in TikZtikzducksReadmesamcarter
pgf tikztikzfill – TikZ libraries for filling with images and patternstikzfillReadmeThomas F. Sturm
amusements, graphics, pgf tikzTikZlings – A collection of cute little animals and similar creaturestikzlingsReadmesamcarter
amusements, graphics, pgf tikzTikZmarmots – Drawing little marmots in TikZtikzmarmotsReadmesamcarter
chemistry, diagramstikzorbital – Atomic and molecular orbitals using TikZtikzorbitalReadmeGermain Salvato-Vallverdu
comp net, pgf tikztikzpackets – Display network packetstikzpacketsReadmeRobert Paciorek
graphics, macro support, pgf tikztikzpagenodes – A single TikZ node for the whole pagetikzpagenodesReadmeMartin Scharrer
amusements, pgf tikztikzpeople – Draw people-shaped nodes in TikZtikzpeopleReadmeNils Fleischhacker
graphics symbolstikzpfeile – Draw arrows using PGF/TikZtikzpfeileReadmeJonathan Zachhuber, Michael Fütterer
amusements, graphics, pgf tikzTikZpingus – Penguins with TikZtikzpingusReadmeFlorian Sihler
class, postertikzposter – Create scientific posters using TikZtikzposterReadmeDirk Surmann, Elena Botoeva, Pascal Richter, Richard Barnard
circuit diagram, electronic, graphics, pgf tikztikzquads – A few shapes designed to be used with CircuiTikZtikzquadsReadmeAlceu Frigeri
graphics supptikzscale – Resize pictures while respecting text sizetikzscaleReadmePatrick Häcker
graphics symbols, pgf tikztikzsymbols – Some symbols created using TikZtikzsymbolsReadmeBen Vitecek
graphics, graphics plot, pgf tikz, statisticstikzviolinplots – Draws violin plots from datatikzviolinplotsReadmePedro Callil-Soares
maths, pgf tikztilings – A TikZ library for drawing tiles and tilingstilingsReadmeAndrew Stacey
pgf tikztipfr – Produces calculator's keys with the help of TikZtipfrReadmePhilippe De Sousa
treetkz-bernoulli – Draw Bernoulli trees with TikZtkz-bernoulliReadmeCédric Pierquet
diagrams, pgf tikztkz-orm – Create Object-Role Model (ORM) diagramstkz-ormReadmeCamil Staps, Jakob Voß
linguistic, pgf tikz, phonetictoneval – Tool for linguists and phoneticians to visualize tone value patternstonevalReadmeYuanhao Chen
graphics, graphics plot function, maths, pgf tikztzplot – Plot graphs with TikZ abbreviationstzplotReadmeIn-Sung Cho
pgf tikz, symbol supportutfsym – Provides various Unicode symbolsutfsymReadmeDaniel Spittank
games, pgf tikzwordle – Create wordle gridswordleReadmeAndrew Mathas, Cédric Pierquet
circuit diagram, graphics, pgf tikzyquant – Typesetting quantum circuits in a human-readable languageyquantReadmeBenjamin Desef
graphics prepprerex – Interactive editor and macro support for prerequisite chartsprerexReadmeBob Tennent
colour, dvips special, graphics in tex, pstricks, xetexpstricks-base – PostScript macros for TeXpstricks-baseReadmeDenis Girou (inactive), Herbert Voß, Timothy Van Zandt (inactive)
pstricksdsptricks – Macros for Digital Signal Processing plotsdsptricksReadmePaolo Prandoni
diagrams, logic, philosophy, pstricksegpeirce – Draw existential graphs invented by Charles S. PeirceegpeirceReadmeJukka Nikulainen
csv support, humanitiespedigree-perl – Generate TeX pedigree files from CSV filespedigree-perlReadmeBoris Veytsman, Leila Akhmadeeva
humanities, pstrickspst-pdgr – Draw medical pedigrees using PSTrickspst-pdgrReadmeBoris Veytsman, Leila Akhmadeeva
gamespsbao – Draw Bao diagramspsbaoReadmeNino Vessella
games, pstrickspsgo – Typeset go diagrams with PSTrickspsgoReadmeVictor Bos
graphics plot, pstrickspst-2dplot – A PSTricks package for drawing 2D curvespst-2dplotReadmeFarshid Delgosha
3d graphics, graphics plot, pstrickspst-3dplot – Draw 3D objects in parallel projection, using PSTrickspst-3dplotReadmeHerbert Voß
diagrams, pstrickspst-am – Simulation of modulation and demodulationpst-amReadmeHerbert Voß, Manuel Luque
graphics, pstrickspst-antiprism – A PSTricks related package which draws an antiprismpst-antiprismReadmeHerbert Voß, Manuel Luque
pstrickspst-arrow – Special arrows for PSTrickspst-arrowReadmeHerbert Voß
linguistic, pstrickspst-asr – Typeset autosegmental representations for linguistspst-asrReadmeJohn Frampton
gen chart, pstrickspst-bar – Produces bar charts using PSTrickspst-barReadmeAlan Ristow, Herbert Voß
barcode, pstricks, qr codepst-barcode – Print barcodes using PostScriptpst-barcodeReadmeHerbert Voß, Terry Burton
curve graphics, pstrickspst-bezier – Draw Bezier curvespst-bezierReadmeHerbert Voß, Tobias Nähring
curve graphics, pstrickspst-bspline – Draw cubic Bspline curves and interpolationspst-bsplineReadmeMichael Sharpe
colour, pstrickspst-cie – CIE color spacepst-cieReadmeHerbert Voß, Manuel Luque
circuit diagram, pstrickspst-circ – PSTricks package for drawing electric circuitspst-circReadmeChristophe Jorssen (inactive), Herbert Voß
graphics plot function, pstrickspst-contourplot – Draw implicit functions using the “marching squares” algorithmpst-contourplotReadmeManuel Luque
maths, physics, pstrickspst-cox – Drawing regular complex polytopes with PSTrickspst-coxReadmeJean-Gabriel Luque
games, pstrickspst-dart – Plotting dart boardspst-dartReadmeHerbert Voß
diagrams, pstrickspst-dbicons – Support for drawing ER diagramspst-dbiconsReadmeWolfgang May
graphics use, physics, pstrickspst-diffraction – Print diffraction patterns from various aperturespst-diffractionReadmeHerbert Voß, Manuel Luque
graphics use, pstrickspst-electricfield – Draw electric field and equipotential lines with PSTrickspst-electricfieldReadmeHerbert Voß, Jürgen Gilg (deceased), Manuel Luque, Patrice Megrét
graphics prep, pstrickspst-eps – Create EPS files from PSTricks figurespst-epsReadmeHerbert Voß, Timothy Van Zandt (inactive)
graphics use, maths, pstrickspst-eucl – Euclidian geometry with PSTrickspst-euclReadmeDominique Rodriguez (inactive), Herbert Voß
listing, pstrickspst-exa – Typeset PSTricks examples, with codepst-exaReadmeHerbert Voß
physicspst-feyn – Draw graphical elements for Feynman diagramspst-feynReadmeHerbert Voß
graphics fill tile, pstrickspst-fill – Fill or tile areas with PSTrickspst-fillReadmeDenis Girou, Herbert Voß
graphics supppst-fit – Macros for curve fittingpst-fitReadmeBuddy Ledger, Herbert Voß
3d graphics, boxing, pstrickspst-fr3d – Draw 3-dimensional framed boxes using PSTrickspst-fr3dReadmeDenis Girou
graphics use, pstrickspst-fractal – Draw fractal sets using PSTrickspst-fractalReadmeHerbert Voß
graphics plot function, graphics use, maths, pstrickspst-func – PSTricks package for plotting mathematical functionspst-funcReadmeHerbert Voß
diagrams, gantt, pstrickspst-gantt – Draw GANTT charts with PSTrickspst-ganttReadmeDenis Girou, Herbert Voß
cartography, pstrickspst-geo – Geographical Projectionspst-geoReadmeGiuseppe Matarazzo, Herbert Voß, Manuel Luque
graphics use, maths, pstrickspst-geometrictools – A PSTricks package to draw geometric toolspst-geometrictoolsReadmeHerbert Voß, Thomas Söll
3d graphics, pstricks, typeset gridpst-gr3d – Three dimensional grids with PSTrickspst-gr3dReadmeDenis Girou, Herbert Voß
colour, pstrickspst-grad – Filling with colour gradients, using PSTrickspst-grad/Herbert Voß, Timothy Van Zandt (inactive)
colour, pstrickspst-hsb – Curves with continuous colourspst-hsb/Herbert Voß
graphics supp, pstrickspst-intersect – Compute intersections of arbitrary curvespst-intersectReadmeChristoph Bersch
linguistic, pstricks, treepst-Jtree – Typeset complex trees for linguistspst-jtreeReadmeJohn Frampton
decoration, pstrickspst-knot – PSTricks package for displaying knotspst-knotReadmeHerbert Voß
chemistry, graphics usepst-labo – Draw objects for Chemistry laboratoriespst-laboReadmeChristophe Jorssen, Denis Girou, Herbert Voß, Manuel Luque
optics, pstrickspst-lens – Lenses with PSTrickspst-lensReadmeDenis Girou, Herbert Voß, Manuel Luque
graphics use, pstrickspst-lsystem – Create images based on a L-systempst-lsystemReadmeHerbert Voß
physics, pstrickspst-magneticfield – Plotting a magnetic field with PSTrickspst-magneticfieldReadmeHerbert Voß, Jürgen Gilg (deceased), Manuel Luque
graphics, graphics use, pstrickspst-marble – A PSTricks package to draw marble-like patternspst-marbleReadmeAubrey Jaffer, Jürgen Gilg (deceased), Manuel Luque
graphics use, pstrickspst-mirror – Images on a spherical mirrorpst-mirrorReadmeHerbert Voß, Manuel Luque
graphics use, pstrickspst-moire – A PSTricks package to draw moiré patternspst-moireReadmeJean-Michel Sarlat, Jürgen Gilg (deceased), Manuel Luque
graphics in tex, linguisticpst-node – Nodes and node connections in PSTrickspst-nodeReadmeHerbert Voß, Michael Sharpe, Timothy Van Zandt (inactive)
3d graphics, graphics, pstrickspst-ob3d – Three dimensional objects using PSTrickspst-ob3dReadmeDenis Girou, Herbert Voß
labratory diagrams, optics, physics, pstrickspst-optexp – Drawing optical experimental setupspst-optexpReadmeChristoph Bersch
diagrams, optics, physics, pstrickspst-optic – Drawing optics diagramspst-opticReadmeHerbert Voß, Manuel Luque
graphics use, pstrickspst-osci – Oscgons with PSTrickspst-osciReadmeChristophe Jorssen, Manuel Luque
graphics use, pstrickspst-pad – Draw simple attachment systems with PSTrickspst-padReadmePatrick Drechsler
3d graphics, pstrickspst-perspective – Draw perspective views using PSTrickspst-perspectiveReadmeThomas Söll
3d graphics, maths, pstrickspst-platon – Platonic solids in PSTrickspst-platonReadmeHerbert Voß, Manuel Luque
data display, data import, pstrickspst-plot – Plot data using PSTrickspst-plotReadmeHerbert Voß, Timothy Van Zandt (inactive)
games, pstrickspst-poker – Drawing poker cardspst-pokerReadmeHerbert Voß
maths, pstrickspst-poly – Polygons with PSTrickspst-polyReadmeDenis Girou, Herbert Voß
diagrams, graphics use, physics, pstrickspst-pulley – Plot pulleys, using PSTrickspst-pulleyReadmeThomas Söll
treepst-qtree – Simple syntax for treespst-qtree/Daniel Gildea, David Chiang
pstrickspst-rputover – Place text over objects without obscuring background colorspst-rputoverReadmeMartin J. Osborne, Thomas Söll
graphics, pstrickspst-rubans – Draw three-dimensional ribbonspst-rubansReadmeHerbert Voß, Manuel Luque
colour, dvips special, graphics in tex, pstricks, xetexpst-shell – Plotting sea shellspst-shellReadmeHerbert Voß, Manuel Luque
engineering, physics, pstrickspst-sigsys – Support of signal processing-related disciplinespst-sigsysReadmeFarshid Delgosha
colour, pstrickspst-slpe – Sophisticated colour gradientspst-slpeReadmeHerbert Voß, Martin Giese
astronomy, pstrickspst-solarsystem – Plot the solar system for a specific datepst-solarsystemReadmeHerbert Voß, Manuel Luque
3d graphics, pstrickspst-solides3d – Draw perspective views of 3D solidspst-solides3dReadmeArnaud Schmittbuhl, Herbert Voß, Jean-Paul Vignault, Manuel Luque
graphics, pstrickspst-spinner – Drawing a fidget spinnerpst-spinnerReadmeHerbert Voß, Manuel Luque
engineering, graphics usepst-stru – Civil engineering diagrams, using PSTrickspst-struReadmeGiuseppe Matarazzo, Herbert Voß, Manuel Luque
graphics subpicpst-text – Text and character manipulation in PSTrickspst-textReadmeHerbert Voß, Timothy Van Zandt (inactive)
graphics subpicpst-thick – Drawing very thick lines and curvespst-thickReadmeHerbert Voß, Manuel Luque
graphics, pstrickspst-tools – PSTricks support functionspst-toolsReadmeHerbert Voß
linguistic, treepst-tree – Trees, using PSTrickspst-treeReadmeDenis Girou, Herbert Voß, Timothy Van Zandt (inactive)
graphics, pstrickspst-turtle – Commands for “turtle operations”pst-turtleReadmeHerbert Voß
pstricks, umlpst-uml – UML diagrams with PSTrickspst-umlReadmeMaurice Diamantini
decorationpst-vectorian – Printing ornamentspst-vectorianReadmePatrick Fradin
graphics use, maths, pstrickspst-vehicle – A PSTricks package for rolling vehicles on graphs of mathematical functionspst-vehicleReadmeThomas Söll Herbert Voß
math diagrams, pstrickspst-venn – A PSTricks package for drawing Venn setspst-vennReadmeHerbert Voß
graphics in tex, pstrickspstricks-add – A collection of add-ons and bugfixes for PSTrickspstricks-addReadmeDominique Rodriguez, Herbert Voß
graphics, graphics in texpxpic – Draw pixel picturespxpicReadmeJonathan P. Spratte
graphics importsketch – A 3d sketch language translatorsketchReadmeEugene K. Ressler
graphics in texsparklines – Drawing sparklines: intense, simple, wordlike graphicssparklinesReadmeAndreas Löffler, Daniel H. Luecking, Emil van Miltenburg (inactive)
graphics, graphics import, graphics includesvg – Include and extract SVG pictures in LaTeX documentssvgReadmeFalk Hanisch, Philip Ilten (inactive)
graphics in textexdraw – Graphical macros, using embedded PostScripttexdrawReadmePeter Kabal
documentation, documentation package, graphics documentationasy-overview – A brief overview of the Asymptote language for drawing mathematical graphicsasy-overviewReadmeJim Hefferon
chinese documentationasymptote-by-example-zh-cn – Asymptote by example Asymptote by exampleasymptote-by-example-zh-cnReadmeLeo Liu
chinese documentationasymptote-manual-zh-cn – A Chinese translation of the asymptote manualasymptote-manual-zh-cnReadmeLeo Liu
colour, documentationchroma – Chroma: a reference book of LaTeX colourschromaReadmeUwe Kern
chinese documentationcontext-notes-zh-cn – Notes on using ConTeXt MkIVcontext-notes-zh-cnReadmeYanrui Li
metapost documentation, tutorialDrawing-with-METAPOST – How to draw technical diagrams with METAPOSTdrawing-with-metapostReadmeToby Thurston
music, tutorial, tutorial latexLaTeX4Musicians – A guide for combining LaTeX and musiclatex4musiciansReadmeGuido Gonzato
documentation, facility surveysLaTeX4WP – A LaTeX guide specifically designed for word processor userslatex4wpReadmeGuido Gonzato
advertisementsLaTeX-brochure – A publicity flyer for LaTeXlatex-brochureReadmePeter Flynn
course material, tutorial latexlatex-course – A LaTeX course as a projected presentationlatex-courseReadmeEngelbert Buxbaum
chinese documentation, tutorial latexlshort-zh-cn – Introduction to LaTeX, in Chineselshort-zh-cnReadmeLouis Stuart, Xiangdong Zeng, Zhaopeng Xing (inactive)
maths documentation, tutorialvoss-mathcol – Typesetting mathematics in colour, in (La)TeXvoss-mathcol/Herbert Voß
chinese documentation, documentation, tutorialmathalphabets – Chinese introduction to mathematical alphabetsmathalphabetsReadmeConden Chao
review documentmemdesign – Notes on book designmemdesignReadmeLars Madsen, Peter R. Wilson
graphics prepsvg-inkscape – How to include an SVG image in LaTeX using Inkscapesvg-inkscapeReadmeJohan B. C. Engelen
font index, latex referenceThe Comprehensive LaTeX Symbol List – Symbols accessible from LaTeXcomprehensiveReadmeScott Pakin
font indexmaths-symbols – Summary of mathematical symbols available in LaTeXmaths-symbolsReadmeDavid Carlisle, Robin Fairbairns (deceased)
documentation, tutorial plaintexTeX-nutshelltex-nutshellReadmePetr Olšák
book source, latex reference, tutorial plaintexTeXbyTopic – Freed version of the book TeX by TopictexbytopicReadmeVictor Eijkhout
font documentationfontinstallationguide – Font installation guidefontinstallationguideReadmePhilipp Lehman (inactive)
faqvisualFAQ – A Visual LaTeX FAQvisualfaqReadmeScott Pakin
graphics documentation, graphics in tex, pstricksVisualPSTricks – Visual help for PSTricks based on images with minimum textvisualpstricksReadmeJean Pierre Casteleyn
book publication, chinese, classctex – LaTeX classes and packages for Chinese typesettingctexReadmeJiang Jiang (inactive), Leo Liu, Liam Huang, LingYun Wu (inactive), Qing Lee, Ruixi Zhang, Xiangdong Zeng, Yanrui Li (inactive), Yue Wang (inactive), Yukai Chou, Zeping Lee, Zhichu Chen (inactive)
chinesezhlineskip – Line spacing for CJK documentszhlineskipReadmeRuixi Zhang
chinese, cjk font, font usezhmCJK – Simplify configuration of CJK installations for ChinesezhmcjkReadmeLeo Liu
coptic, font, font type1, mf fontcbcoptic – Coptic fonts and LaTeX macros for general usage and for philologycbcopticReadmeClaudio Beccari, Serge Rosmorduc (inactive)
hebrew, omegaMakor 2 – Typeset pointed Hebrew using Omegamakor2/Alan Hoenig
chinese, japanesegckanbun – Kanbun typesetting for (u)pLaTeX and LuaLaTeXgckanbunReadmeMunehiro Yamamoto
book publication, contextcontext-collating-marks – Environment to place collating marks on the spine of a sectioncontext-collating-marksReadmeWilli Egger
context, csv supportcontext-handlecsv – Data merging for automatic document creationcontext-handlecsv/Jaroslav Hajtmar (inactive), Pablo Rodríguez
contextcontext-visualcounter – Visual display of ConTeXt counterscontext-visualcounter/Aditya Mahajan
musicbagpipe – Support for typesetting bagpipe musicbagpipeReadmeWalt Innis
colour, tablecolortab – Shade cells of tables and haligncolortab/Herbert Voß, Timothy Van Zandt (inactive)
commutative diagramsDCpic – Commutative diagrams in a LaTeX and TeX documentsdcpicReadmePedro Quaresma
diagramsxypic – Flexible diagramming macrosxypicReadmeKristoffer H. Rose (deceased), Ross Moore
treedirtree – Display trees in the style of windows explorerdirtreeReadmeJean-Côme Charpentier
letterformlett – Letters to multiple recipientsformlett/Zhuhan Jiang
boxing, decorationframe – Framed boxes for Plain TeXframeReadmeHerbert Voß, Timothy Van Zandt (inactive)
macro supportgates – Support for writing modular and customisable codegatesReadmePaul Isambert (inactive), Yuri Robbers
list, list support, tablehlist – Horizontal and columned listshlistReadmeChristian Tellechea
generic macros, logohologo – A collection of logos with bookmark supporthologoReadmeHeiko Oberdiek
text flowinsbox – Insert pictures/boxes into paragraphsinsbox/Michal Gulczynski
generic macros, multi-linguallangcode – Simple language-dependent settings based on language codeslangcodeReadmeUwe Lück (deceased)
bibliolibrarian – Tools to create bibliographies in TeXlibrarianReadmePaul Isambert
list, text maniplistofitems – Grab items in lists using user-specified sep charlistofitemsReadmeChristian Tellechea
generic macros, macro supportltxcmds – Some LaTeX kernel commands for general useltxcmdsReadmeHeiko Oberdiek
markupmarkdown – Converting and rendering markdown documents inside TeXmarkdownReadmeVít Starý Novotný
mathsmathdots – Commands to produce dots in math that respect font sizemathdotsReadmeDaniel H. Luecking
font development, measuremeasurebox – Precise measurements of glyphsmeasureboxReadmeSlurp
compilation, conditional compilation, external code, generic macros, graphicsMemoize – Externalization of graphics and memoization of compilation results in generalmemoizeReadmeSašo Živanović
musicMusiXTeX – Sophisticated music typesettingmusixtexReadmeAndreas Egler (inactive), Bob Tennent, Daniel Taupin (deceased), Don Simons, Hiroaki Morimoto, Jean-Pierre Coulon, Olivier Vogel, Ross Mitchell (inactive)
box manipulationpdf-trans – A set of macros for various transformations of TeX boxespdf-trans/Paweł Jackowski
generic macros, graphics symbols, maths symbolpdfMsym – PDF Math Symbols — various drawn mathematical symbolspdfmsymReadmeSlurp
mathsPetri-nets – A set TeX/LaTeX packages for drawing Petri netspetri-netsReadmeFranck Pommereau
generic macros, macro supportplainpkg – A minimal method for making generic packagesplainpkgReadmeUwe Lück (deceased)
arithmetic, calculation, e-tex, generic macros, mathspolexpr – A parser for polynomial expressionspolexprReadmeJean-François Burnol
calculation, randomrandom – Generating “random” numbers in TeXrandomReadmeDonald Arseneau
diagrams, generic macros, philosophy, theologyschemata – Print topical diagramsschemataReadmeCharles P. Schaum
key-valsimplekv – A simple key/value system for TeX and LaTeXsimplekvReadmeChristian Tellechea
letterspace, underlinesoul – Hyphenation for letterspacing, underlining, and moresoulReadmeHeiko Oberdiek
maths, maths system equations, simplifiedsysteme – Format systems of equationssystemeReadmeChristian Tellechea
environment query, sys supptex-locale – Localisation support for TeX and LaTeX documentstex-localeReadmeNicola Talbot
e-tex, macro supporttexapi – Macros to write format-independent packagestexapiReadmePaul Isambert (inactive), Yuri Robbers
date timetexdate – Date printing, formatting, and manipulation in TeXtexdateReadmeDonald P. Goodman
e-tex, unitstexdimens – Conversion of TeX dimensions to decimalstexdimensReadmeJean-François Burnol
generic macros, iterating macros, macro support, misc support, parsertokcycle – Build tools to process tokens from an input streamtokcycleReadmeSteven B. Segletes
class support, multi-lingual, package developmenttracklang – Language and dialect trackertracklangReadmeNicola Talbot
arithmetic, calculationxint – Expandable arbitrary precision floating point and integer operationsxintReadmeJean-François Burnol
treetree-dvips – Trees and other linguists' macrostree-dvipsReadmeEmma Pease
indexmakeidx – Standard LaTeX package for creating indexesmakeidxReadmeThe LaTeX Project Team
class, presentationslides – Class for creating slidesslidesReadmeFrank Mittelbach, Rainer Schöpf, The LaTeX Project Team
maths, maths symbolabraces – Asymmetric over-/underbraces in mathsabracesReadmeWerner Grundlingh
layoutabspos – Absolute placement with coffinsabsposReadmeMagnus Lie Hetland
class, computer science, computer theory, engineering, journalacmart – Class for typesetting publications of ACMacmartReadmeBoris Veytsman
acronymacro – Typeset acronymsacroReadmeClemens Niederberger
font management, font useaddfont – Easier use of fonts without LaTeX supportaddfontReadmePalle Jørgensen
layout, multicolumnadjmulticol – Adjusting margins for multicolumn and single column outputadjmulticolReadmeBoris Veytsman
box breaking, box manipulation, typesettingadjustbox – Graphics package-alike macros for “general” boxesadjustboxReadmeMartin Scharrer
pseudocodealgorithm2e – Floating algorithm environment with algorithmic keywordsalgorithm2eReadmeChristophe Fiorio, Ivan Kokan
pseudocodealgpseudocodex – Package for typesetting pseudocodealgpseudocodexReadmeChristian Matt
maths, subsup positionaltsubsup – Subscripts and superscripts with square bracketsaltsubsupReadmeJulien Labbé
graphics motionanimate – Create PDF and SVG animations from graphics files and inline graphicsanimateReadmeAlexander Grahn
adobe distiller, pdf featuresannot-pro – Create text, stamp and file attachment annotationsannot-proReadmeDonald P. Story (deceased)
decoration, maths, pgf tikzannotate-equations – Easily annotate math equations using TikZannotate-equationsReadmeST John
alignment, alignment support, tablearraycols – New column types for array and tabular environmentsarraycolsReadmeAntoine Missier
dissertationArsClassica – A different view of the ClassicThesis packagearsclassicaReadmeLorenzo Pantieri
matrix, tableassociation-matrix – LaTeX support for creating association matricesassociation-matrixReadmeWhisperity
footnote, japaneseasternote – Annotation symbols enclosed in square brackets and marked with an asteriskasternoteReadmeYukoh Kusakabe
pdf featuresattachfile – Attach arbitrary files to a PDF documentattachfileReadmeScott Pakin
gen chart, pgf tikzbchart – Draw simple bar charts in LaTeXbchartReadmeTobias Kuhn
page head and foot, presentationhackthefootline – Footline selection and configuration for LaTeX beamer’s standard themeshackthefootlineReadmeSebastian Friedl
presentationspot – Spotlight highlighting for BeamerspotReadmeAnders O. F. Hendrickson
presentationbeamertheme-arguelles – Simple, typographic beamer themebeamertheme-arguellesReadmeMichele Piazzai
amusements, graphics, pgf tikzbearwear – Shirts to dress TikZbearsbearwearReadmeUlrike Fischer
gamesbg – Annotate backgammon matches and positionsbgReadmeJörg Richter
biblatex, qr codebib2qr – Cite BibTeX entries with QR codesbib2qrReadmeChristian Schreinemachers
biblatex, humanitiesarchaeologie – A citation-style which covers rules of the German Archaeological InstitutearchaeologieReadmeLukas C. Bossert
biblatex, licence managementbiblatex-license – Add license data to the bibliographybiblatex-licenseReadmeAnselm Wagner
biblatex, humanitiesbiblatex-manuscripts-philology – Manage classical manuscripts with BibLaTeXbiblatex-manuscripts-philologyReadmeMaïeul Rouquette
biblatex, humanities, philosophybiblatex-philosophy – Styles for using BibLaTeX for work in philosophybiblatex-philosophyReadmeIvan Valbusa
biblatexbiblatex-publist – BibLaTeX bibliography support for publication listsbiblatex-publistReadmeJürgen Spitzmüller
biblatexbiblatex-realauthor – Indicate the real author of a workbiblatex-realauthorReadmeMaïeul Rouquette
biblatex, bibliobiblatex-source-division – References by “division” in classical sourcesbiblatex-source-divisionReadmeMaïeul Rouquette
label and references, theologybibleref – Format bible citationsbiblerefReadmeMaïeul Rouquette, Nicola Talbot (inactive)
theologybibletext – Insert Bible passages by their referencebibletextReadmeCamil Staps
colourbiochemistry-colors – Colors used to display amino acids, nucleotides, sugars or atoms in biochemistrybiochemistry-colorsReadmeEngelbert Buxbaum
comp net, computer science, engineeringbitpattern – Typeset bit pattern diagramsbitpatternReadmeJean-Marc Bourguet
file cardbizcard – Typeset business cardsbizcard/Sebastian Marius Kirsch
typesettingblowup – Upscale or downscale all pages of a documentblowupReadmeRolf Niepraschk
box breaking, boxing, decorationboites – Boxes that may break across pagesboitesReadmeJosé Romildo Malaquias, Vincent Zoonekynd (inactive)
diagrams, pgf tikzbondgraphs – Draws bond graphs in LaTeX, using PGF/TikZbondgraphsReadmeGeert Folkertsma
class, coversbookcover – A class for book covers and dust jacketsbookcoverReadmeTibor Tómács
table, table rulebooktabs – Publication quality tables in LaTeXbooktabsReadmeDaniel Els, Simon Fear (inactive)
blank pageevenpage – Ensure that the total number of pages is evenevenpageReadmeFrancesco Bosisio
experimental latex3, maths, parentheses managementbracealign – Align braces under and over math expressionsbracealignReadmeJulien Labbé
comp net, computer science, engineeringbytefield – Create illustrations for network protocol specificationsbytefieldReadmeScott Pakin
date timecalcage – Calculate the age of something, in yearscalcageReadmeRobin Schneider
calculationcalctab – Language for numeric tablescalctabReadmeRoberto Giacomelli
maths, proofcalculation – Typesetting reasoned calculations, also called calculational proofscalculationReadmeMaarten Fokkinga
calculation, mathscalculator – Use LaTeX as a scientific calculatorcalculatorReadmeRobert Fuster
geometrycanoniclayout – Create canonical page layouts with memoircanoniclayoutReadmeClaudio Beccari
captionbicaption – Support for bilingual captionsbicaptionReadmeAxel Sommerfeldt
captionsubcaption – Support for sub-captionssubcaptionReadmeAxel Sommerfeldt
Chemistry Diagramscarbohydrates – Carbohydrate molecules with chemfigcarbohydratesReadmeClemens Niederberger
theologycatechis – Macros for typesetting catechismscatechisReadmeDonald P. Goodman
logoCClicenses – Typeset Creative Commons licence logoscclicensesReadmeGianluca Pignalberi
coverscdcover – Typeset CD coverscdcoverReadmeChristian Holm Christensen
tablecellprops – Accept CSS-like selectors in tabular, array, …cellpropsReadmeJulien Rivaud
securitycensor – Tools for producing redacted documentscensorReadmeSteven B. Segletes
decor font, font supportcfr-initials – LaTeX packages for use of initialscfr-initialsReadmeClea F. Rees
geometry adjustchangelayout – Change the layout of individual pages and their textchangelayoutReadmeAhmed Musa
document tool, editorialchanges – Manual change markupchangesReadmeEkkart Kleinod
chemistrychemformula – Command for typesetting chemical formulas and reactionschemformulaReadmeClemens Niederberger
chemistrychemschemex – Typeset and cross-reference chemical schemes based on TikZ codechemschemexReadmeDominik Siegel
gameschess-problem-diagrams – A package for typesetting chess problem diagramschess-problem-diagramsReadmeStefan Hoening
gameschessboard – Print chess boardschessboardReadmeUlrike Fischer
font support, gameschessfss – A package to handle chess fontschessfssReadmeUlrike Fischer
chinese, gameschinesechess – Typeset Chinese chess with l3drawchinesechessReadmeNan Geng
calendar, pgf tikz, planningchronology – Provides a horizontal timelinechronologyReadmeBen Armacost, Levi Wiseman (inactive)
diagramschronosys – Drawing time-line diagramschronosysReadmeMathieu Long
numberscircledsteps – Typeset circled numberscircledstepsReadmeRomano Giannetti
graphics symbolscircledtext – Create circled textcircledtextReadmeNan Geng
cite supportciteright – Specify accurate natbib citations for diverse naming conventionsciterightReadmeJason Overfelt
cite support, humanitiesclassics – Cite classic worksclassicsReadmeEduardo C. Lourenço de Lima
dissertationClassicThesis – A “classically styled” thesis packageclassicthesisReadmeAndré Miede
quotation importclipboard – Copy and paste into and across documentsclipboardReadmeEduardo C. Lourenço de Lima
colourclrstrip – Place contents into a full width colour stripclrstripReadmeJonathan P. Spratte
documentation supportcodedoc – LaTeX code and documentation in LaTeX-format filecodedocReadmePaul Isambert (inactive), Yuri Robbers
listing, syntax highlight, use luatexcodehigh – Highlight code and demos with l3regex and lpegcodehighReadmeJianrui Lyu
typeset toolcolophon – Provides commands for producing a colophoncolophonReadmeDonald P. Goodman
colour, typesettingcolorblind – Easy colorblind-safe typesettingcolorblindReadmeSimon Pfahler
decorationcolorframed – Fix color problems with the package “framed”colorframedReadmeJean-François Burnol
colourcolorspace – Provides PDF color spacescolorspaceReadmeJavier Bezos López
colour, tablecolortbl – Add colour to LaTeX tablescolortblReadmeDavid Carlisle
colour, decorationcontour – Print a coloured contour around textcontourReadmeHarald Harders (inactive), Morten Høgholm
editorialcoop-writing – Support for Cooperative Writing and editorial commentscoop-writingReadmeGeraldo Xexéo
graphics in texlogsys – Draw logarithmic coordinate systemslogsysReadmeMogens Lemvig Hansen
typesettingcopyrightbox – Provide copyright notices for images in a documentcopyrightboxReadmeIves van der Flaas
boxing, decoration, typesettingcrbox – Boxes with crossed cornerscrboxReadmeVafa Khalighi, bidi-tex GitHub Organisation
label and referencescrefthe – Cross referencing with proper definite articles and declensionscreftheReadmeJinwen XU
layout pagecrop – Support for cropmarkscropReadmeMelchior Franz (inactive), Reuben Thomas
colourcss-colors – Named colors for web-safe designcss-colorsReadmeEngelbert Buxbaum
csv support, data display, data importcsvsimple – Simple CSV file processingcsvsimpleReadmeThomas F. Sturm
cookingcuisine – Typeset recipescuisineReadmeBen Cohen
curve graphics, graphics in texcurves – Curves for LaTeX picture environmentcurvesReadmeIan Maclaine-Cross
text flowcutwin – Cut a window in a paragraph, typeset material in itcutwinReadmeAlan Hoenig, David Carlisle, Peter R. Wilson (inactive)
boxingdashbox – Draw dashed boxesdashbox/Reuben Thomas
data manipulation, label and referencesdataref – Manage references to experimental datadatarefReadmeChristian Dietrich
data display, data import, data manipulationdatatool – Tools to load and manipulate datadatatoolReadmeNicola Talbot
data importdatax – Import individual data from script filesdataxReadmeDavid Gustavsson
date time, multi-lingualdatetime2 – Formats for dates, times and time zonesdatetime2ReadmeNicola Talbot
data display, data preparation, data selectiondbshow – A package to store and display data with custom filters, orders, and stylesdbshowReadmeChangkai Li
diagrams, music, pgf tikzddphonism – Dodecaphonic diagrams: twelve-tone matrices, clock diagrams, etcddphonismReadmeCelia Rubio Madrigal
notesdebate – Debates between reviewersdebateReadmeYegor Bugayenko
diagrams, planning, tabledecision-table – An easy way to create Decision Model and Notation decision tablesdecision-tableReadmeFrançois Pantigny, Simon Vandevelde
mathsderivative – Nice and easy derivativesderivativeReadmeSimon Jensen
data display, document templatediabetes-logbook – A logbook for people with type one diabetesdiabetes-logbookReadmeViktor Grigorov
data displaydiadia – Package to keep a diabetes diarydiadiaReadmeJosef Kleber
tablediagbox – Table heads with diagonal linesdiagboxReadmeLeo Liu
commutative diagrams, graphics in texdiagmac2 – Diagram macros, using pict2ediagmac2ReadmeBob Tennent, John Reynolds (inactive)
macro supportdialogl – Macros for constructing interactive LaTeX scriptsdialoglReadmeMichael J. Downes (deceased)
adobe distiller, captiondigicap-pro – Creates captions to digital photosdigicap-proReadmeDonald P. Story (deceased)
automata, mathsdijkstra – Dijkstra algorithm for LaTeXdijkstraReadmeChristian Tellechea
diagramsditaa – Use ditaa diagrams within LaTeX documentsditaaReadmeHiroshi Ukai
mol biodnaseq – Format DNA base sequencesdnaseqReadmeBjørn Pedersen
licence managementdoclicense – Support for putting documents under a licensedoclicenseReadmeRobin Schneider
documentation supportdocshots – TeX samples next to their PDF snapshotsdocshotsReadmeYegor Bugayenko
external codedownload – Allow LaTeX to download files using an external processdownloadReadmeSimon Sigurdhsson
editorialdraftcopy – Identify draft copiesdraftcopyReadmeJürgen Vollmer
comp supp, editorial, layoutdraftfigure – Replace figures with a white box and additional featuresdraftfigureReadmeLukas C. Bossert
editorialdraftmark – Put draft marks on selected pagesdraftmarkReadmeAhmed Musa
editorial, watermarkdraftwatermark – Put a grey textual watermark on document pagesdraftwatermarkReadmeSergio Callegari
matrixdrawmatrix – Draw visual representations of matrices in LaTeXdrawmatrixReadmeElmar Peise
amusements, games, graphicsducksay – Draw ASCII art of animals saying a specified messageducksayReadmeJonathan P. Spratte
dummy generator, macro supportduckuments – Create duckified dummy contentduckumentsReadmeJonathan P. Spratte
catalogue, classdvdcoll – A class for typesetting DVD archivesdvdcollReadmeJosef Kleber
linguisticdvgloss – Facilities for setting interlinear glossed textdvglossReadmeDan Bridges Velleman
barcode, std conformean13isbn – Print EAN13 for ISBNean13isbnReadmeZdeněk Wagner
dummy generatoreconlipsum – Generate sentences from economic articleseconlipsumReadmeJack Coleman
boxingefbox – Extension of \fbox, with controllable frames and coloursefboxReadmeJosé Romildo Malaquias
circuit diagrameltex – Simple circuit diagrams in LaTeX picture modeeltexReadmeLibor Gajdosik
cardselzcards – Typeset business cards, index cards and flash cards easilyelzcardsReadmeEmilio Augusto Lazo Zaia
typesettingemarks – Named mark registers with e-TeXemarksReadmeFlorent Chervet
archival, pdf featuresembedall – Embed source files into the generated PDFembedallReadmeAlberto Sartori, David Lichti
pdf featuresembedfile – Embed files into PDFembedfileReadmeHeiko Oberdiek
graphics, graphics useemo – Emoji for all (LaTeX engines)emoReadmeRobert Grimm
endnoteenotez – Support for end-notesenotezReadmeClemens Niederberger
exercise, experimental latex3, list, list enumumerate, tagged pdfenumext – Enumerate exercise sheetsenumextReadmePablo González Luengo
listenumitem – Control layout of itemize, enumerate, descriptionenumitemReadmeJavier Bezos López
epigramepigraph-keys – Epigraphs using key valuesepigraph-keysReadmeBenjamin McKay
epigramepigraph – A package for typesetting epigraphsepigraphReadmePeter R. Wilson (inactive), Will Robertson
e-tex, toc etcetoc – Completely customisable TOCsetocReadmeJean-François Burnol
graphics, mathseuclideangeometry – Draw geometrical constructionseuclideangeometryReadmeClaudio Beccari
class, examexam – Package for typesetting exam scriptsexamReadmePhilip S. Hirschhorn
exerciseexercises – Typeset exercises and solutions with automatic addition of pointsexercisesReadmeRoger Jud
class, exam, exercise, teachingexesheet – Typesetting exercise or exam sheetsexesheetReadmeAntoine Missier
exam, exerciseexframe – Framework for exercise problemsexframeReadmeNiklas Beisert
list describedexpdlist – Expanded description environmentsexpdlistReadmeRainer Hülse, Wolfgang Kaspar
editorialextract – Extract parts of a document and write to another documentextractReadmeHendri Adriaens (inactive)
editorial, notesezedits – Commands for tracking document changes and notesezeditsReadmeJoseph A. Smiga
background, graphics include, pgf tikzFadingImage – Add full width fading pictures at the top or bottom of a pagefadingimageReadmeMingyu Xia
diagrams, genealogy, treefamilytree – Draw family treesfamilytreeReadmeJiro Senju
boxingfancybox – Variants of \fbox and other games with boxesfancyboxReadmeTimothy Van Zandt
page head and footfancyhdr – Extensive control of page headers and footers in LaTeX2εfancyhdrReadmePieter van Oostrum
chemistry, label and referencesfancylabel – Complex labelling with LaTeXfancylabelReadmeDominik Siegel
decorationfancypar – Decoration of individual paragraphsfancyparReadmeGonzalo Medina Arellano
boxingfbox – Extended \fbox macro from standard LaTeXfboxReadmeHerbert Voß
tablefcolumn – Typesetting financial tablesfcolumnReadmeEdgar Olthof
line nos, listing, verbatimffcode – Fixed-font code blocks formatted nicelyffcodeReadmeYegor Bugayenko
misc supportfgruler – Draw rulers on the foreground or in the textfgrulerReadmeTibor Tómács
graphicsFigSize – Auto-size graphicsfigsizeReadmeAnthony A. Tanbakuchi
document Managementreadprov – Provides GetFileInfo without the need to load the filereadprovReadmeUwe Lück (deceased)
blank pagefillpages – Fill up the page count to a certain number (e.g. divisible by 4)fillpagesReadmeGabriel Ruprecht
exercise, leaders, teachingfillwith – Fill vertical space with solid rules or dotted linesfillwithReadmeClea F. Rees
dummy generator, macro support, spanishfistrum – Access to 150 paragraphs of Lorem Fistrum very dummy textfistrumReadmeDavid Davó
boxingfitbox – Fit graphics on a pagefitboxReadmeBoris Veytsman
adobe distiller, pdf forms, visual supportFitR – Set a rectangular destination and jump to itfitrReadmeDonald P. Story (deceased)
editorial, notesFiXme – Collaborative annotation tool for LaTeXfixmeReadmeDidier Verna
labelsflabels – Labels for files and foldersflabelsReadmeVolker Börchers
class, flash cardflacards – Generate flashcards for printingflacardsReadmeNorbert Stuhrmann
mathsflagderiv – Flag style derivation packageflagderivReadmePaul van Tilburg
flash cardflashcards – A class for typesetting flashcardsflashcardsReadmeAlexander M. Budge (inactive), Matthew Vernon
marginalflexipage – Flexible page geometry with marginaliaflexipageReadmeAnton Vrba
footnotefnpct – Manage footnote marks’ interaction with punctuationfnpctReadmeClemens Niederberger
numbers, page nosfoliono – Use folio numbers to replace page numbersfolionoReadmeTommi Syrjänen
font supp miscfontsize – A small package to set arbitrary sizes for the main font of the documentfontsizeReadmeIvan Valbusa
form fillinformular – Create forms containing field for manual entryformularReadmeHans-Christoph Wirth
decorationfroufrou – Fancy section separatorsfroufrouReadmeNelson Lago
layoutfullminipage – Minipage spanning a complete pagefullminipageReadmeChristian Schneider
latex3, macro supportfunctional – An intuitive functional programming interface for LaTeX2functionalReadmeJianrui Lyu
font supportfundus-pvscript – Support for Vanroose handwriting fontfundus-pvscript/Gerd Neugebauer
gamesgamebook – Typeset gamebooks and other interactive novelsgamebookReadmeAndré Miede
mathsgauss – A package for Gaussian operationsgaussReadmeManuel Kauers
crossword puzzle, gamescrossword – Typeset crossword puzzlescrosswordReadmeGerd Neugebauer
3d graphicsproductbox – Typeset a three-dimensional product boxproductboxReadmeGerd Neugebauer
genealogy, humanities, pgf tikzgenealogytree – Pedigree and genealogical tree diagramsgenealogytreeReadmeThomas F. Sturm
geometrygeometry – Flexible and complete interface to document dimensionsgeometryReadmeDavid Carlisle, Hideo Umeki
file managementgetfiledate – Find the date of last modification of a filegetfiledateReadmeAhmed Musa
cartographygetmap – Download OpenStreetMap maps for use in documentsgetmapReadmeJosef Kleber
chemistry, experimental latex3ghsystem – Globally harmonised system of chemical (etc) namingghsystemReadmeClemens Niederberger
document management, version controlgitinfo2 – Access metadata from the git distributed version control systemgitinfo2ReadmeBrent Longborough (deceased), The LaTeX Project Team
document management, version controlgitlog – Typesetting git changelogsgitlogReadmeBrent Longborough (deceased), The LaTeX Project Team
decoration, watermarkgitstatus – Include Git information in the document as watermark or via variablesgitstatusReadmeMaximilian Gruber
document management, version controlgitver – Get the current git hash of a project and typeset it in the documentgitverReadmeCharles Baynham
acronym, glossaryglossaries – Create glossaries and lists of acronymsglossariesReadmeNicola Talbot
colourgradient-text – Decorate text with linear gradient colorsgradient-textReadmeSicheng Du
decorationgradientframe – Simple gradient frames around objectsgradientframeReadmeChristian Raue
tablegrading-scheme – Typeset grading schemes in tabular formatgrading-schemeReadmeMaximilian Keßler
graphics, graphics includegraphbox – Extend graphicx to improve placement of graphicsgraphboxReadmeNiklas Beisert
graphics includegraphicxpsd – Adobe Photoshop Data format (PSD) support for graphicx packagegraphicxpsdReadmeMunehiro Yamamoto
adobe distiller, misc support, pdf formsgrayhints – Produce ‘gray hints’ to a variable text fieldgrayhintsReadmeDonald P. Story (deceased)
layoutgrid-system – Page organisation, modelled on CSS facilitiesgrid-systemReadmeMarcus Bitzl
typeset gridgrid – Grid typesetting in LaTeXgridReadmeRiver Valley Technologies
background, pgf tikzgridpapers – Graph paper backgrounds and color schemesgridpapersReadmeLeo Stein, Robert McNees
chords, musicgtrcrd – Add chords to lyricsgtrcrdReadmeRiccardo Bresciani
genealogygtrlib.largetrees – Library for genealogytree aiming at large treesgtrlib.largetreesReadmeRichard Grewe
chords, musicguitarchordschemes – Guitar Chord and Scale TablaturesguitarchordschemesReadmeClemens Niederberger
chords, class, musicguitartabs – A class for drawing guitar tablatures easilyguitartabsReadmeAndrey Babushkin
presentationhandout – Create handout for auditors of a talkhandoutReadmeMaïeul Rouquette
presentationhandoutWithNotes – Create Handouts with notes from your LaTeX beamer presentationhandoutwithnotesReadmeGuido Diepen, Marei Peischl
layouthanging – Hanging paragraphshangingReadmePeter R. Wilson (inactive), Will Robertson
layouthardwrap – Hard wrap text to a certain character lengthhardwrapReadmeKevin Godby, Will Robertson
games, pgf tikzhavannah – Diagrams of board positions in the games of Havannah and HexhavannahReadmeMarcin Ciura
typesettinghe-she – Alternating pronouns to aid gender-neutral writinghe-sheReadmeAlan Munn
label and referenceshereapplies – A LaTeX package for referencing groups of pages that share something in commonhereappliesReadmemadmurphy
decoration, pgf tikzhighlightx – Highlight formulas or paragraphshighlightxReadmeCédric Pierquet
astrologyhoroscop – Generate astrological charts in LaTeXhoroscopReadmeMatthew Skala
hyper, underline, verbatimhref-ul – Underscored LaTeX hyperlinkshref-ulReadmeYegor Bugayenko
hyperhrefhide – Suppress hyper links when printinghrefhideReadmeHans-Martin Münch
comp supp, external code, image supporthvextern – Write and execute external code, and insert the outputhvexternReadmeHerbert Voß
box manipulation, floathvfloat – Controlling captions, fullpage and doublepage floatshvfloatReadmeHerbert Voß
qr codehvqrurl – Insert a QR code in the marginhvqrurlReadmeHerbert Voß
hyperhypdvips – Hyperref extensions for use with dvipshypdvipsReadmeRaimund Niedrist
environment queryifplatform – Conditionals to test which platform is being usedifplatformReadmeJohannes Große, Will Robertson
class, graphics useimage-gallery – Create an overview of pictures from a digital camera or from other sourcesimage-galleryReadmeRolf Niepraschk
graphics includeinlinegraphicx – Insert inline images, with automatic size/positioninginlinegraphicxReadmeCédric Pierquet
graphics motioninteractiveanimation – Create PDF files with branching animationsinteractiveanimationReadmeJavier Toro, Luis Gonzáles, Pedro Linares
package supportinterfaces – Set parameters for other packages, convenientlyinterfacesReadmeFlorent Chervet
invoiceinvoice2 – Intelligent invoices with LaTeX3invoice2ReadmeSimon Dierl
csv support, invoiceinvoice-class – Produces a standard US invoice from a CSV fileinvoice-classReadmeAlan Munn
invoiceinvoice – Generate invoicesinvoiceReadmeOliver Corff
rotationisorot – Rotation of document elementsisorotReadmePeter R. Wilson
typeset standardisosafety – Provides ISO signs and colors according to the standards 7010 and 3864isosafetyReadmeBen Steinhauer
cards, games, pgf tikzJeuxCartes – Macros to insert playing cardsjeuxcartesReadmeCédric Pierquet
box manipulationjoinbox – Join boxes vertically or horizontallyjoinboxReadmeNan Geng
data manipulationjsonparse – Parse, store and access JSON data in LaTeX documentsjsonparseReadmeJasper Habicht
journal, luatexjumplines – Articles with teasers and continuation later onjumplinesReadmeChristian Hupfer
calendar, latex3kalendarium – Print dates according to the classical Latin calendarkalendariumReadmeAndrew Smith
chinese, japanese, use luatexkanbun – Typeset kanbun-kundoku with support for kanbun annotationkanbunReadmeYuanhao Chen
dummy generator, macro supportkantlipsum – Generate sentences in Kant's stylekantlipsumReadmeEnrico Gregorio
engineering, mathskarnaugh – Typeset Karnaugh-Veitch-mapskarnaugh/Andreas W. Wieland
class, covers, document template, std conformkdpcover – Covers for books published by Kindle Direct PublishingkdpcoverReadmeYegor Bugayenko
font developmentkerntest – Print tables and generate control files to adjust kerningskerntestReadmeHarald Harders (inactive)
key-valkeycommand – Simple creation of commands with key-value argumentskeycommandReadmeFlorent Chervet
floatkeyfloat – Provides a key/value interface for generating floatskeyfloatReadmeBrian Dunn
indexkeyindex – Index entries by key lookupkeyindexReadmeRichard Zach
documentation supportkeystroke – Graphical representation of keys on keyboardkeystrokeReadmeRolf Niepraschk
key-valkeyval2e – A lightweight and robust key-value parserkeyval2eReadmeAhmed Musa
tablekeyvaltable – Re-usable table layouts separating content and presentationkeyvaltableReadmeRichard Grewe
index, label and referencesknowledge – Displaying, hyperlinking, and indexing notions in a documentknowledgeReadmeThomas Colcombet
engineering, mathskvmap – Create Karnaugh maps with LaTeXkvmapReadmeBen Frank
gameslabyrinth – Draw labyrinths and solution pathslabyrinthReadmeFrancesco Zigliotto
abbreviations, linguisticlangnames – Name languages and their genetic affiliations consistentlylangnamesReadmeAlejandro García Matarredona, निरंजन
graphics in texlapdf – PDF drawing directly in TeX documentslapdfReadmeDetlef Reimers
label and referenceslastpage – Reference last page for Page N of M type footerslastpageReadmeHans-Martin Münch, Jeffrey Goldberg (inactive)
colourlatexcolors – Use color definitions from latexcolor.comlatexcolorsReadmeTobias Plüss
document management, version controlLaTeXgit – A LaTeX git wrapperlatexgitReadmeCamil Staps
graphics in texlcd – Alphanumerical LCD-style displayslcdReadmeMike Kaufmann
layout, typesettingleading – Define leading with a lengthleadingReadmeWill Robertson
chords, musicleadsheets – Typesetting leadsheets and songbooksleadsheetsReadmeClemens Niederberger
class, layoutleaflet – Create small handouts (flyers)leafletReadmeHubert Gäßlein, Jürgen Schlegelmilch (inactive), Rolf Niepraschk, Walter A. Schmidt (deceased)
linguisticleipzig – Typeset and index linguistic gloss abbreviationsleipzigReadmeNatalie Weber
lettrinelettrine – Typeset dropped capitalslettrineReadmeDaniel Flipo
chemistrylewis – Draw Lewis structureslewisReadmeKent Horvath
musicliederbuch – A LaTeX package for storing songs or other content, and repeated reuse in documentsliederbuchReadmeGabriel Ruprecht
class, cvlimecv – A (Xe/Lua)LaTeX document class for curriculum vitælimecvReadmeOlivier Pieters
calculation, mathslinearregression – Calculate and display linear regressionslinearregressionReadmeBattista Benciolini
line nos, typesettinglineno – Line numbers on paragraphslinenoReadmeKarl Wette, Stephan Böttcher (inactive), Uwe Lück (deceased)
linguisticling-macros – Macros for typesetting formal linguisticsling-macrosReadmeAndrew McKenzie
linguistic, treelingtrees – Linguistics trees preprocessor and macroslingtreesReadmeAvery D Andrews
linguistic, treelinguex – Format linguists' exampleslinguexReadmeWolfgang Sternefeld
dummy generator, macro support, multi-linguallipsum – Easy access to the Lorem Ipsum and other dummy textslipsumReadmePatrick Happel (inactive), Phelype Oleinik
listing, macro demonstration, syntax highlight, verbatimlistings – Typeset source code listings using LaTeXlistingsReadmeBrooks Moses (inactive), Carsten Heinz (inactive), Jobst Hoffmann
macro supportlmake – Process lists to do repetitive actionslmakeReadmeShengjun Pan
logiclogicproof – Box proofs for propositional and predicate logiclogicproofReadmeAlan Davidson
diagramslogpap – Generate logarithmic graph paper with LaTeXlogpapReadmeMike Kaufmann
boxing, decorationlongfbox – Draw framed boxes with standard CSS attributes that can break over multiple pageslongfboxReadmeDaan Leijen
comp netlsc – Typesetting Live Sequence ChartslscReadmeBernd Westphal
multimedia, pdf featuresltx4yt – Play YouTube videos in the default browserltx4ytReadmeDonald P. Story (deceased)
background, pgf tikz, watermarkmagicwatermark – An easy and flexible way to set watermarksmagicwatermarkReadmeLijun Guo
mailingmailing – Macros for mail mergingmailingReadmeJohannes L. Braams
mailingmailmerge – Repeating text field substitutionmailmergeReadmeMiguel Vinícius Santini Frasson
barcodemakebarcode – Print various kinds 2/5 and Code 39 bar codesmakebarcodeReadmeZdeněk Wagner
tablemakecell – Tabular column heads and multilined cellsmakecellReadmeOlga Lapko (inactive)
listing, syntax highlightmaker – Include Arduino or Processing code in LaTeX documentsmakerReadmeFausto Mauricio Lagos Suárez
cite support, marginalmargbib – Display bibitem tags in the marginsmargbib/Karsten Tinnefeld (inactive)
marginalmarginfit – Improved margin notesmarginfitReadmeMaurice Leclaire
marginalmarginfix – Patch \marginpar to avoid overfull marginsmarginfixReadmeStephen Hicks
notesmarginnote – Notes in the margin, even where \marginpar failsmarginnoteReadmeMarkus Kohm (inactive)
mathsmathpartir – Typesetting sequences of math formulas, e.g. type inference rulesmathpartirReadmeDidier Remy
mathsmathtools – Mathematical tools to use with amsmathmathtoolsReadmeJoseph Wright (inactive), Lars Madsen, Morten Høgholm (inactive), The LaTeX Project Team, Will Robertson (inactive)
listingmatlab-prettifier – Pretty-print Matlab source codematlab-prettifierReadmeJulien Cretel
engineering, mathsmattens – Matrices/tensor typesettingmattensReadmeDaniel Els
gamesmaze – Generate random mazesmazeReadmeSicheng Du
box breaking, boxing, decorationmdframed – Framed environments that can split at page boundariesmdframedReadmeElke Schubert, Marco Daniel
tablemdwtab – A reimplementation of tabular and array environmentsmdwtabReadmeMark Wooding
book publication, classmemoir – Typeset fiction, non-fiction and mathematical booksmemoirReadmeLars Madsen, Peter R. Wilson (inactive)
class, cookingmensa-tex – Typeset simple school cafeteria menusmensa-texReadmeSebastian Friedl
documentation supportmenu – Typesetting menusmenuReadmeKnut Lickert
documentation supportmenukeys – Format menu sequences, paths and keystrokes from listsmenukeysReadmeJonathan P. Spratte, Tobias Weh
cartography, graphics, pgf tikzmercatormap – Spherical Mercator coordinate systems and Web Mercator tile integrationmercatormapReadmeThomas F. Sturm
document managementmessagebubbles – Display message bubbles as a conversationmessagebubblesReadmeSimon Harrer
licence management, metadata, stringmetastr – Store and compose stringsmetastrReadmeNiklas Beisert
latin, versemetrix – Typeset metric marks for Latin textmetrixReadmeTobias Weh
macro support, text manipmfirstuc – Uppercase the first letter of a wordmfirstucReadmeNicola Talbot
chemistry, safety noticemhchem – Typeset chemical formulae/equations and H and P statementsmhchemReadmeMartin Hensel
mathsmhequ – Multicolumn equations, tags, labels, sub-numberingmhequReadmeMartin Hairer
letterspace, micro layoutmicrotype – Subliminal refinements towards typographical perfectionmicrotypeReadmeRobert Schlicht
notesmindflow – Write your ideas in a clear waymindflowReadmeJinwen XU
boxingminibox – A simple type of box for LaTeXminiboxReadmeWill Robertson
subdocsminidocument – Creates miniature documents inside other LaTeX documentsminidocumentReadmeMaurice Leclaire
toc etcminitoc – Produce a table of contents for each chapter, part or sectionminitocReadmeJean-Pierre Drucbert (deceased)
listing, syntax highlight, verbatimminted – Highlighted source code for LaTeXmintedReadmeGeoffrey Poore, Konrad Rudolph (inactive)
meeting adminminutes – Typeset the minutes of meetingsminutesReadmeKnut Lickert
mathsmlist – Logical markup for listsmlistReadmeWill Robertson
class, postermodernposter – A modern LaTeX poster thememodernposterReadmeDavid Derler
chemistry, diagramsmodiagram – Drawing molecular orbital diagramsmodiagramReadmeClemens Niederberger
exammoodle – Generating Moodle quizzes via LaTeXmoodleReadmeAnders O. F. Hendrickson (inactive), Matthieu Guerquin-Kern
list enumumerate, numbersmoreenum – More enumeration optionsmoreenumReadmeSeamus Bradley
linguistic, pgf tikzmovement-arrows – Drawing movement arrows on linguistic example sentencesmovement-arrowsReadmeAlan Munn
multimedia, obsoletemovie15 – Multimedia inclusion packagemovie15ReadmeAlexander Grahn
comp net, pgf tikzmsc – Draw MSC diagramsmscReadmeReynaldo Gil Pons, Sjouke Mauw (inactive), Ton van Deursen (inactive), Victor Bos (inactive)
conditional compilationmultiaudience – Several versions of output from the same sourcemultiaudienceReadmeBoris Veytsman
decoration, line pattern, line weight, rulemulticolrule – Decorative rules between columnsmulticolruleReadmeKarl Hagen
footnotemultifootnote – Multiple numbers for the same footnotemultifootnoteReadmeJinwen XU
multi-lingualmultilang – A LaTeX package for maintaining multiple translations of a documentmultilangReadmeRichard Grewe
exammultiple-choice – LaTeX package for multiple-choice questionsmultiple-choiceReadmeSeiied-Mohammad-Javad Razavian
tablemultirow – Create tabular cells spanning multiple rowsmultirowReadmeJerry Leichter (inactive), Pieter van Oostrum
toc etcmultitoc – Set table of contents in multiple columnsmultitocReadmeMarei Peischl, Martin Schröder (inactive)
drama script, musicmusical – Typeset (musical) theatre scriptsmusicalReadmeDave Howell
font supp symbol, musicmusicography – Accessing symbols for music writing with pdfLaTeXmusicographyReadmeAndrew A. Cashner
maths, puzzlemusikui – Easy creation of “arithmetical restoration” puzzlesmusikuiReadmeNaoki Kaneko
musicmusixguit – Easy notation for guitar music, in MusixTeXmusixguitReadmeClemens Niederberger
debug suppmwe – Packages and image files for MWEsmweReadmeMartin Scharrer
bibtex supportnatbib – Flexible bibliography supportnatbibReadmeArthur Ogawa, Patrick W. Daly
magazinenewspaper – Typeset newsletters to resemble newspapersnewspaperReadmeDavid Griffith, Matthew Allen (inactive)
document Managementnicefilelist – Provide \listfiles alignmentnicefilelistReadmeUwe Lück (deceased)
colourninecolors – Select colors with proper WCAG color contrastninecolorsReadmeJianrui Lyu
bibtex supportnmbib – Multiple versions of a bibliography, with different sort ordersnmbibReadmeBoris Veytsman
font support, typesettingnodepthtext – Change small texts to remove the depth of the lettersnodepthtextReadmeCédric Pierquet
table, table longnox – Adaptable tablesnoxReadmeMatthias Borck-Elsner, Rainer Schöpf
numbersnumname – Convert a number to its English expressionnumnameReadmeS Joshua Swamidass
tabularhttabularht – Tabular environments with height specifiedtabularht/Heiko Oberdiek
pdf featuresocg-p – PDF OCG support in LaTeXocg-pReadmeMoshammer Werner
pdf featuresocgtools – Manipulate OCG layers in PDF presentationsocgtoolsReadmeRobert Mařík
pdf featuresocgx – Use OCGs within a PDF document without JavaScriptocgxReadmePaul Gaborit
book publication, classoctavo – Typeset books following classical design and layoutoctavoReadmeStefan A Revets
gamesOneDown – Typeset Bridge DiagramsonedownReadmeJacob Wiersma
adobe distiller, pdf featuresopacity-pro – Set transparency and blend modeopacity-proReadmeDonald P. Story (deceased)
bibtex support, footnoteopcit – Footnote-style bibliographical referencesopcitReadmeFederico Garcia-De Castro
colouropencolor – Definitions from the Open Color libraryopencolorReadmeMichele Piazzai
graphics symbols, pgf tikzoPlotSymbl – Some symbols which are not easily availableoplotsymblReadmeB. Michel Döhring
conditional compilation, editorialoptional – Facilitate optional printing of parts of a documentoptional/Donald Arseneau
key-valoptions – Provides convenient key-value options for LaTeX package writersoptionsReadmeDaan Leijen
footnote, journalOSDA – Commands for Proceedings of the Workshop on Open-Source Design AutomationosdaReadmeChristian Krieg
pgf tikz, umlpgf-umlcd – Some LaTeX macros for UML Class Diagramspgf-umlcdReadmeThe PGF/TikZ Team, Xu Yuan
gamesothelloboard – Typeset Othello (Reversi) diagrams of any size, with annotationsothelloboardReadmeSteven Hall
maths, pgf tikzoverarrows – Custom extensible arrows over math expressionsoverarrowsReadmeJulien Labbé
presentationoverlays – Incremental slidesoverlaysReadmeAndreas Nolda
graphics textoverpic – Combine LaTeX commands over included graphicsoverpicReadmeRolf Niepraschk
colourpagecolor – Interrogate page colorpagecolorReadmeHans-Martin Münch
page nospagecont – Page numbering that continues between documentspagecontReadmeMiguel Vinícius Santini Frasson
class, layout, pgf tikzpagelayout – Layout graphic rich documentspagelayoutReadmeFriedemann Bartels
label and references, macro supportpagerange – Flexible and configurable page range typesettingpagerangeReadmeAhmed Musa
page controlpagesel – Select pages of a document for outputpageselReadmeHeiko Oberdiek
colourpalette – Create palettes for colors and symbols that can be swapped inpaletteReadmeDennis Chen
calculationpapermas – Compute the mass of a printed version of a documentpapermasReadmeHans-Martin Münch
parshapeparades – Tabulators and space between paragraphs in galley approachparadesReadmeOleg Parashchenko
bullet list, list, list enumumerateparalist – Enumerate and itemize within paragraphsparalistReadmeBernd Schandl
notesparnotes – Notes after every paragraph (or elsewhere)parnotesReadmeChelsea Hughes (inactive)
layout, parshapeparskip – Layout with zero \parindent, non-zero \parskipparskipReadmeFrank Mittelbach, Hubert Partl (inactive), Robin Fairbairns (deceased)
games, pgf tikzpas-crosswords – Creating crossword grids, using TikZpas-crosswordsReadmeStéphane Pasquet
calculation, maths, pgf tikzpascaltriangle – Draw beautiful Pascal (Yanghui) trianglespascaltriangleReadmeNan Geng
typeset tool, typesettingpassopt – Passing options to packages or classespassoptReadmeQu Yi
multicolumnpbalance – Balance last page in two-column modepbalanceReadmeNelson Lago
boxingpbox – A variable-width \parbox commandpboxReadmeSimon Law
pdf features, pdf process, pdf viewpdfprivacy – A LaTeX package to remove or suppress pdf meta-datapdfprivacyReadmeLaurens Sion
typesettingpdfrender – Control rendering parameterspdfrenderReadmeHeiko Oberdiek
editorial, graphics include, marginal, teachingpdfreview – Annotate PDF files with marginpdfreviewReadmeMichael Palmer
hyper, presentationpdfscreen – Support screen-based document designpdfscreen/C. V. Radhakrishnan
compact printpfarrei – LaTeX support of pastors’ and priests’ workpfarreiReadmeMarkus Kohm (inactive)
key-valpgfkeysearch – This package offers a way to find keys in a given path 'recursively', unlike pgfkeysvalueofpgfkeysearchReadmeAlceu Frigeri
conditional compilation, editorialphfcc – Convenient inline commenting in collaborative documentsphfccReadmePhilippe Faist
verbatimphfquotetext – Quote verbatim text without white space formattingphfquotetextReadmePhilippe Faist
document management, version control, watermarkphfsvnwatermark – Watermarks with version control information from SVNphfsvnwatermarkReadmePhilippe Faist
label and referencesphilex – Cross references for named and numbered environmentsphilexReadmePeter Pagin
classphotobook – A document class for typesetting photo booksphotobookReadmeAlex A. Naanou
graphics textpinlabel – A TeX labelling packagepinlabel/Colin Rourke
graphics in texpmboxdraw – Poor man’s box drawing characterspmboxdrawReadmeHeiko Oberdiek
versepoetry – Facilities for typesetting poetry and poetical structurepoetryReadmeDonald P. Goodman
versepoetrytex – Typeset anthologies of poetrypoetrytexReadmeSam Whited
mathspolynom – Macros for manipulating polynomialspolynomReadmeCarsten Heinz, Hendri Adriaens (inactive)
tablepolytable – Tabular-like environments with named columnspolytableReadmeAndres Löh
chemistryproflabo – Draw laboratory equipmentproflaboReadmeThomas Mounier
document managementprogress – Creates an overview of a document's stateprogressReadmeKasper B. Graversen
graphics useprogressbar – Visualize shares of total amounts in the form of a (progress-)barprogressbarReadmeMarcel Jira
decoration, editorialproofread – Commands for inserting annotationsproofreadReadmeWybo H. Dekker
graphics eps/pdfpst-pdf – Make PDF versions of graphics by processing between runspst-pdfReadmeHubert Gäßlein, Rolf Niepraschk
phoneticpst-vowel – Enable arrows showing diphthongs on vowel chartspst-vowelReadmeAlan Munn
scientific docsstring – Typeset sequences with justification pointerspstringReadmeWilliam Blum
listing, syntax highlightpygmentex – Use Pygments to format code listings in documentspygmentexReadmeJosé Romildo Malaquias
boxing, callback, listingpynotebook – pynotebook presents (raw, Markdown or Python) codes (and execution with LuaLaTeX) as in a Jupyter NotebookpynotebookReadmeCédric Pierquet
callbackpythontex – Run Python from within a document, typesetting the resultspythontexReadmeGeoffrey Poore
article-like, class, multi-lingualQ-and-Aq-and-aReadmeJinwen XU
barcode, qr code, ruleqrcode – Generate QR codes in LaTeXqrcodeReadmeAnders O. F. Hendrickson
adobe distiller, letter, pdf features, qr codeqrcstamps – Create QR codes using stampsqrcstampsReadmeDonald P. Story (deceased)
linguistic, treeqtree – Draw tree structuresqtreeReadmeAlexis Dimitriadis, Jeffrey Siskind (inactive)
examquiz2socrative – Prepare questions for socrative quizzesquiz2socrativeReadmePaolo Lella
quotationquoting – Consolidated environment for displayed textquotingReadmeThomas Titz
quotationquotmark – Consistent quote marksquotmarkReadmeNicola Talbot
layout, parshaperagged2e – Alternative versions of “ragged”-type commandsragged2eReadmeMarei Peischl, Martin Schröder (inactive)
graphics userandbild – Marginal picturesrandbildReadmePaul Ebermann
examrandexam – Make an exam paper and its randomized variantsrandexamReadmeJianrui Lyu
calculation, randomrandintlist – Creating random integer number lists , with repeating and sorting optionsrandintlistReadmeCédric Pierquet
calculation, graphics in tex, randomrandomwalk – Random walks using TikZrandomwalkReadmeBruno Le Floch
securityrandtext – Randomise the order of characters in stringsrandtextReadmeCharles Duan
maths, tablerccol – Decimal-centered optionally rounded numbers in tabularrccolReadmeEckhart Guthöhrlein
document management, version controlrcs-multi – Typeset RCS version control in multiple-file documentsrcs-multiReadmeMartin Scharrer
document management, version controlrcs – Use RCS (revision control system) tags in LaTeX documentsrcsReadmeJoachim Schrod, Julian Gilbey
data manipulationreadarray – Read, store and recall array-formatted datareadarrayReadmeSteven B. Segletes
amusements, graphics, graphics includerealhats – Put real hats on symbols instead of ^realhatsReadmeAdam Townsend, Matthew Scroggs
amusements, mathsrealtranspose – The “real” way to transpose a MatrixrealtransposeReadmeLars Quentin
mathsrec-thy – Commands to typeset recursion theory papersrec-thyReadmePeter M. Gerdes
cookingrecipe – A LaTeX class to typeset recipesrecipeReadmeMaurizio Loreti (inactive)
cookingrecipecard – Typeset recipes in note-card-sized boxesrecipecardReadmeBen Reish
diagrams, music, pgf tikzrecorder-fingering – Package to display recorder fingering diagramsrecorder-fingeringReadmeAlan Munn
debug supp, label and referencesrefcheck – Check references (in figures, table, equations, etc)refcheckReadmeOleg V. Motygin
label and referencesrefenums – Define named items and provide back-references with that namerefenumsReadmeOliver Kopp
graphics manipulationreflectgraphics – Techniques for reflecting graphicsreflectgraphicsReadmeOliver Reiche
classrefman – Format technical reference manualsrefman/Axel Kielhorn, Hubert Partl (inactive)
label and referencesrefstyle – Advanced formatting of cross referencesrefstyleReadmeDaniel Els
macro supportregexpatch – High level patching of commandsregexpatchReadmeEnrico Gregorio
comp net, computer science, engineeringregister – Typeset programmable elements in digital hardware (registers)registerReadmeMatthew Lovell
font sel, macro supportrelsize – Set the font size relative to the current font sizerelsizeReadmeDonald Arseneau, Matt Swift (inactive)
conditional compilationrenditions – Multiple versions from the same contentrenditionsReadmeDonald P. Story (deceased)
pdf featuresrepltext – Control how text gets copied from a PDF filerepltextReadmeScott Pakin
compilationrerunfilecheck – Checksum based rerun checks on auxiliary filesrerunfilecheckReadmeHeiko Oberdiek
macro supportrescansync – Re-scan tokens with synctex informationrescansyncReadmeuser202729
typesettingresponsive – Responsive design methods for LaTeXresponsiveReadmeMichal Hoftich
typeset gridreturntogrid – Semi-automatic grid typesettingreturntogridReadmeUlrike Fischer
proofribbonproofs – Drawing ribbon proofsribbonproofsReadmeJohn Wickerson
engineering, mathsrigidnotation – Typeset vectors and matrices following the RIGID notationrigidnotationReadmePhilippe Nadeau
compilationrobust-externalize – Cache anything (TikZ, python, ...) in a robust, efficient and pure wayrobust-externalizeReadmeLéo Colisson
indexrobustindex – Create index with pagerefsrobustindexReadmeWilberd van der Kallen
numbers, page nosromanbarpagenumber – Typesetting roman page numbersromanbarpagenumberReadmeRobin Schneider
layoutrotpages – Typeset sets of pages upside-down and backwardsrotpagesReadmeSergio Callegari
class, gamesrpg-module – Typesetting old-school Dungeons and Dragons modulesrpg-moduleReadmeMichael C. Davis
linguistic, treeRRGtrees – Linguistic tree diagrams for Role and Reference Grammar (RRG) with LaTeXrrgtreesReadmeDavid Gardner
diagrams, ganttrtsched – Draw Real-Time scheduling (GANTT) chartsrtschedReadmeGiuseppe Lipari
puzzlerubik – Document Rubik cube configurations and rotation sequencesrubikReadmeApostolos Syropoulos, Dick Nickalls
misc supportrulerbox – Draw rulers around a boxrulerboxReadmeYuchang Yang
callback, exec foreignruncode – Execute foreign source code and embed the result in the pdf fileruncodeReadmeHaiYing Wang, Haim Bar
graphics includerviewport – Relative Viewport for Graphics InclusionrviewportReadmeBoris Veytsman
callback, graphics inline, litprogSagε-TeX – Embed Sage code and plots into LaTeXsagetexReadmeDan Drake (inactive), Dima Pasechnik
parallelparcolumns – Multiple column parallel typesettingparcolumnsReadmeJonathan Sauer
footnotesavefnmark – Save name of the footnote mark for reusesavefnmark/Volker Kuhlmann
layoutsavetrees – Optimise the use of each page of a LaTeX documentsavetreesReadmeScott Pakin
misc supportscalebar – Create scalebars for maps, diagrams or photosscalebarReadmeMichael Lake
graphics manipulationscalerel – Constrained scaling and stretching of objectsscalerelReadmeSteven B. Segletes
bullet list, font supp miscscaletextbullet – Resize the \textbullet without changing its vertical centerscaletextbulletReadmeOliver Beery
misc supportscanpages – Support importing and embellishing scanned documentsscanpagesReadmeMichael Sharpe
planning, timetableschedule – Weekly schedulesscheduleReadmeEthan Deneault, Jason Alexander (inactive)
file managementscontents – Stores LaTeX contents in memory or filesscontentsReadmePablo González Luengo
games, pgf tikzscratch3 – Draw programs like “scratch”scratch3ReadmeChristian Tellechea
games, pgf tikzScratchX – Include Scratch programs in LaTeX documentsscratchxReadmeThibault Ralet
drama scriptscreenplay-pkg – Package version of the screenplay document classscreenplay-pkgReadmeAlan Munn
class, drama scriptscreenplay – A class file to typeset screenplaysscreenplayReadmeJohn Pate
linguisticsdrt – Macros for Segmented Discourse Representation TheorysdrtReadmePaul Isambert (inactive), Yuri Robbers
decorationsectionbox – Create fancy boxed ((sub)sub)sectionssectionboxReadmeMichael Wilkinson
decoration, headingssectionbreak – LaTeX support for section breakssectionbreakReadmeMichal Hoftich
page controlselectp – Select pages to be outputselectp/Donald Arseneau
inputencselinput – Semi-automatic detection of input encodingselinputReadmeHeiko Oberdiek
computer sciencesemantic – Help for writing programming language semanticssemantic/Arne John Glenstrup, Peter Møller Neergaard
presentationseminar – Make overhead slidesseminarReadmeDenis Girou (inactive), Herbert Voß, Sebastian Rahtz (deceased), Timothy Van Zandt (inactive)
layoutsemioneside – Put only special contents on left-hand pages in two sided layoutsemionesideReadmeStephan Hennig
footnotesepfootnotes – Support footnotes and endnotes from separate filessepfootnotesReadmeEduardo C. Lourenço de Lima
teachingsesstime – Session and timing information in lecture notessesstimeReadmeNiklas Beisert
line spacesetspace – Set space between linessetspaceReadmeDavid Carlisle, Erica Harris (inactive), Geoffrey Tobin (inactive), Robin Fairbairns (deceased)
gamessgame – LaTeX style for typesetting strategic gamessgameReadmeMartin J. Osborne
decoration, maths theoremShaded theorems – Theorem environments that are shadedshadethmReadmeJim Hefferon
decorationshadowtext – Produce text with a shadow behind itshadowtextReadmeYori Zwols
micro layout, parshape, text flowshapepar – A macro to typeset paragraphs in specific shapesshapeparReadmeDonald Arseneau
float, listing, syntax highlightshdoc – Float environment to document the shell commands of a terminal sessionshdocReadmeSimon Michael Laube
tablesltables – Simplified tables for LaTeXsltablesReadmeAlexey Shipunov
bullet list, list, list enumumerateshortlst – Compact lists by running several items per lineshortlst/Mogens Lemvig Hansen
toc etcshorttoc – Table of contents with different depthsshorttoc/Jean-Pierre Drucbert (deceased)
listing, macro demonstrationshowexpl – Typesetting LaTeX source codeshowexplReadmeRolf Niepraschk
bibtex support, label and references, macro supportshowlabels – Show label commands in the marginshowlabelsReadmeNorman Gray
caption, rotationsidecap – Typeset captions sidewayssidecapReadmeHubert Gäßlein (inactive), Rolf Niepraschk
marginalsidenotes – Typeset notes containing rich content, in the marginsidenotesReadmeAndy Thomas
marginalsidenotesplus – Place referenced notes, alerts, figures and tables into the document marginsidenotesplusReadmeAnton Vrba
drama scriptsides – A LaTeX class for typesetting stage playssidesReadmeWing L Mui
compilationsilence – Selective filtering of error messages and warningssilenceReadmeMichael Pock, Paul Isambert (inactive)
amusements, numbers, page nossillypage – John Cleese’s Silly Walk as page numbering stylesillypageReadmePaulo Roberto Massa Cereda
coverssimplecd – Simple CD, DVD covers for printingsimplecdReadmeDániel Majoros
class, cv, lyxsimplecv – A simple class for writing curricula vitaesimplecvReadmeJean-Marc Lasgouttes
invoicesimpleinvoice – Easy typesetting of invoicessimpleinvoiceReadmeMathias Lohne
physicssimpler-wick – Simpler Wick contractionssimpler-wickReadmeJoshua Ellis
maths, matrixsimples-matrices – Define matrices by given list of valuessimples-matricesReadmeYvon Henel
physicssimplewick – Simple Wick contractionssimplewickReadmeJindrich Kolorenc
dummy generator, editorial, notes, ruleskeldoc – Placeholders for unfinished documentsskeldocReadmeMagnus Lie Hetland
graphics, logoskillicons – Integrate skill icons into your documentsskilliconsReadmeAnton Mnatsakanov
font supportslantsc – Access different-shaped small-caps fontsslantscReadmeHarald Harders (inactive)
tableslashbox – Both column and row headings in a tabular cellslashbox/Koichi Yasuoka, Toru Sato
mathssmart-eqn – Automatic math symbol styling for LaTeX documentssmart-eqnReadmeZiyue Xiang
misc conv, unitssmartunits – Converting between common metric and Imperial unitssmartunitsReadmeAndrew Mathas
archival, file managementsnapshot – List the external dependencies of a LaTeX documentsnapshotReadmeMichael J. Downes (deceased), The American Mathematical Society
editorial, notessnaptodo – A todo that snaps to the closer sidesnaptodoReadmeHsin-Po Wang
marginalsnotez – Typeset notes, in the marginsnotezReadmeClemens Niederberger
chords, musicsongbook – Package for typesetting song lyrics and chord bookssongbookReadmeChristopher Rath
music, presentation, versesongproj – Generate Beamer slideshows with song lyricssongprojReadmeTanguy Ortolo
chords, musicsongs – Produce song books for church or fellowshipsongsReadmeKevin W. Hamlen
letterspace, underlinesoulpos – A fancy means of underliningsoulposReadmeHeiko Oberdiek
abbreviations, footnote, layout, list, typesettingspacingtricks – Addressing various spacing issuesspacingtricksReadmeAntoine Missier
maths, maths system equations, maths theorem, matrix, typeset gridspalign – Typeset matrices and arrays with spaces and semicolons as delimitersspalignReadmeJoseph Rabinoff
multimediaSpeLaTeX – Create PDF documents with hyperlinks to audiofragmentsspelatexReadmeWalter Daems
tablespreadtab – Spreadsheet features for LaTeX tabular environmentsspreadtabReadmeChristian Tellechea
verbatimspverbatim – Allow line breaks within \verb and verbatim outputspverbatimReadmeScott Pakin
mathssseq – Typesetting spectral sequence chartssseq/Tilman Bauer
class, drama scriptstage – A LaTeX class for stage playsstageReadmeReuben Thomas, Robert Jahrling (inactive)
class, subdocsstandalone – Compile TeX pictures stand-alone or as part of a documentstandaloneReadmeMartin Scharrer
maths, statisticsstatistics – Compute and typeset statistics tables and graphicsstatisticsReadmeJulien Rivaud
advertisementsstubs – Create tear-off stubs at the bottom of a pagestubsReadmeNorbert Stuhrmann
diagramssuanpan-l3 – Traditional Chinese 7-bids suanpan (abacus) package based on l3drawsuanpan-l3ReadmeNan Geng
maths system equationssubeqnarray – Equation array with sub numberingsubeqnarrayReadmeJohannes L. Braams
class, subdocssubfiles – Individual typesetting of subfiles of a “main” documentsubfilesReadmeFederico Garcia-De Castro, Gernot Salzer
subfloatsubfloat – Sub-numbering for figures and tablessubfloatReadmeHarald Harders (inactive)
maths, physics, subsup positionsubsupscripts – A range of sub- and superscript commandssubsupscriptsReadmeRiccardo Bresciani
gamessudoku – Create sudoku gridssudokuReadmePaul Abraham
book publication, class, dissertationsuftesi – A document class for typesetting theses, books and articlessuftesiReadmeIvan Valbusa
table, table longsupertabular – A multi-page tables packagesupertabularReadmeJohannes L. Braams
graphics includeswfigure – Insert large images that do not fit into a single pageswfigureReadmeClaudio Beccari
data displaySwimgraf – Graphical/textual representations of swimming performancesswimgrafReadmeMartin J. Osborne
logicsyllogism – Typeset syllogisms in LaTeXsyllogismReadmeNicolas Vaughan
linguistic, logicsynproof – Easy drawing of syntactic proofssynproofReadmePaul Isambert (inactive), Yuri Robbers
font support, font usesynthslant – Synthetically slant textsynthslantReadmeChris Spiel
linguistic, treesynttree – Typeset syntactic treessynttreeReadmeMatijs van Zuijlen
graphics in tex, mathst-angles – Draw tangles, trees, Hopf algebra operations and other picturest-anglesReadmeVolodymyr Lyubashenko, Yurii Bespalov
footnote, tabletablefootnote – Permit footnotes in tablestablefootnoteReadmeHans-Martin Münch
toc etctableof – Tagging tables of contentstableofReadmeJean-François Burnol
list enumumeratetablists – Tabulated lists of short itemstablistsReadmeOlga Lapko
french, maths, maths tabvartablvar – Typesetting pretty tables of signs and variations according to French usagetablvarReadmeAntoine Missier
layouttabto-ltx – “Tab” to a measured position in the linetabto-ltxReadmeDonald Arseneau
table, table longtabu – Flexible LaTeX tabularstabuReadmeFlorent Chervet (inactive)
tabletabularborder – Remove excess space at left and right of tabulartabularborder/Johannes K. Fink
tabletabularcalc – Calculate formulas in a tabular environmenttabularcalcReadmeChristian Tellechea
tabletabularew – A variation on the tabular environmenttabularewReadmeDiego Saba
table, table longtabularray – Typeset tabulars and arrays with LaTeX3tabularrayReadmeJianrui Lyu
tabletabulary – Tabular with variable width columns balancedtabularyReadmeDavid Carlisle
conditional compilationtagging – Document configuration with tagstaggingReadmeBrent Longborough (deceased), The LaTeX Project Team
text layouttagpair – Word-by-word glosses, translations, and bibliographic attributionstagpairReadmeAndreas Nolda
presentationtalk – A LaTeX class for presentationstalkReadmeMartin Wiebusch
list, list enumumeratetasks – Horizontally columned liststasksReadmeClemens Niederberger
table, table longtblr-extras – Extra libraries for tabularray for caption and babel compatibilitytblr-extrasReadmeManuel Merino
date timetdclock – A ticking digital clock package for PDF outputtdclockReadmeLuis Randez
humanitiesTechnica – Typesetting for the humanitiestechnicaReadmeGianfranco Boggio-Togna
document templatetechnics – A package to format technical documentstechnics/Joachim Nilsson
debug suppted – A (primitive) token list editortedReadmeManuel Pégourié-Gonnard
logic, symbol support, text symboltemporal-logic – Symbols for Temporal Logicstemporal-logicReadmeDominik Schmid
maths, subsup positiontensor – Typeset tensorstensorReadmeMike Piff (inactive), Philip G. Ratcliffe
calendartermcal – Print a class calendartermcalReadmeBill Mitchell
boxing, computer science, listingtermsim – Simulate Win10, Ubuntu, and Mac terminalstermsimReadmeNan Geng
dummy generator, indextestidx – Dummy text for testing index styles and indexing applicationstestidxReadmeNicola Talbot
securitytex-label – Place a classification on each page of a documenttex-labelReadmeBalagopal Komarath
data importtexgit – Download, access, and potentially execute files from gittexgitReadmeThomas Weise
gamesTeXmate – Comprehensive chess annotation in LaTeXtexmateReadmeFederico Garcia-De Castro
chemistry, mol biotexshade – Package for setting nucleotide and peptide alignmentstexshadeReadmeEric Beitz
chemistry, mol biotextopo – Annotated membrane protein topology plotstextopo/Eric Beitz
layouttextpos – Place boxes at arbitrary positions on the LaTeX pagetextposReadmeNorman Gray
drama scriptthalie – Typeset drama playsthalieReadmeLouis Paternault
drama scripttheatre – A sophisticated package for typesetting stage playstheatreReadmeChristian Hinque
chemistry, physicsthermodynamics – Macros for multicomponent thermodynamics documentsthermodynamicsReadmeKarl D. Hammond
decoration, maths theoremthmbox – Decorate theorem statementsthmboxReadmeEmmanuel Beffara
maths, maths theoremthmtools – Extensions to theorem environmentsthmtoolsReadmeUlrich M. Schwarz (inactive), Yukai Chou
notes, tablethreeparttablex – Notes in longtablesthreeparttablexReadmeLars Madsen
layout pagethumb – Thumb marks in documentsthumbReadmeChristian Holm Christensen
layout pagethumbs – Create thumb indexesthumbsReadmeHans-Martin Münch
layout pagethumby – Create thumb indexes for printed booksthumbyReadmeSergey Goldgaber
class, examtiet-question-paper – A LaTeX question paper class for the TIETtiet-question-paperReadmeRaghav B. Venkataramaiyer
graphics subpictile-graphic – Create tiles of a graphical filetile-graphicReadmeDonald P. Story (deceased)
graphics, graphics in textiscreen – Mimic the screen of older Texas Instruments calculatorstiscreenReadmeMustafa Ibrahim
typesettingtitlecaps – Setting rich-text input into Titling CapstitlecapsReadmeSteven B. Segletes
graphics use, titlepagetitlepic – Add picture to title page of a documenttitlepicReadmeThomas ten Cate
decoration, graphics plotpgfornament – Drawing of Vectorian ornaments with PGF/TikZpgfornamentReadmeAlain Matthes
maths, pgf tikztkz-berge – Macros for drawing graphs of graph theorytkz-bergeReadmeAlain Matthes
calculation, luatex, mathstkz-elements – A Lua library for drawing Euclidean geometry with TikZ or tkz-euclidetkz-elementsReadmeAlain Matthes
graphics use, maths, pgf tikz, use luatextkz-euclide – Tools for drawing Euclidean geometrytkz-euclideReadmeAlain Matthes
graphics, graphics plot, pgf tikztkz-fct – Tools for drawing graphs of functionstkz-fctReadmeAlain Matthes
graphics, maths, pgf tikztkz-graph – Draw graph-theory graphstkz-graphReadmeAlain Matthes
graphics, maths, maths tabvar, pgf tikztkz-tab – Tables of signs and variations using PGF/TikZtkz-tabReadmeAlain Matthes
conditional compilation, decoration, editorialto-be-determined – Highlight text passages that need further workto-be-determinedReadmeYegor Bugayenko
toc etctocdata – Adds names to chapters, sections, figures in the TOC and LOFtocdataReadmeBrian Dunn
editorial, notestodo – Make a to-do list for a documenttodoReadmeFederico Garcia-De Castro
editorial, notes, pgf tikztodonotes – Marking things to do in a LaTeX documenttodonotesReadmeHenrik Skov Midtiby
table, table longtopiclongtable – Extend longtable with cells that merge hierarchicallytopiclongtableReadmePaolo Brasolin
diagrams, graphics usetqft – Drawing TQFT diagrams with TikZ/PGFtqftReadmeAndrew Stacey
boxing, decoration, editorialtram – Typeset tram boxes in LaTeXtramReadmeVafa Khalighi, bidi-tex GitHub Organisation
headings, legaltramlines – A package for creating tramlines (lines above and below a title used by lawyers in the UK)tramlinesReadmeElijah Z Granet
multi-lingual, package supporttranslations – Internationalisation of LaTeX2ε packagestranslationsReadmeClemens Niederberger
maths symboltrfsigns – Typeset transform signstrfsignsReadmeKai Rascher
macro supporttrimspaces – Trim spaces around an argument or within a macrotrimspacesReadmeWill Robertson
cvtucv – Support for typesetting a CV or résumeétucvReadmeGeorge Louthan
class, conform, dissertation, document, letter, poster, presentation, std, templatetuda-ci – LaTeX templates of Technische Universität Darmstadttuda-ciReadmeMarei Peischl
book publication, classtufte-latex – Document classes inspired by the work of Edward Tuftetufte-latexReadmeKevin Godby
exam, layoutturnthepage – Provide “turn page” instructionsturnthepageReadmeHans-Martin Münch, Luca Merciadri
graphics, text symboltwemojis – Use Twitter’s open source emojis through LaTeX commandstwemojisReadmeJost Rossel
listtyped-checklist – Typesetting tasks, goals, milestones, artifacts, and more in LaTeXtyped-checklistReadmeRichard Grewe
label and referencestypedref – Eliminate errors by enforcing the types of labelstypedref/Gregory Seidman, James Ashton (inactive)
font seltypeface – Select a balanced set of fontstypefaceReadmeGeoffrey Jones
letterspace, micro layouttypog – Typographic fine-tuning and micro-typographic enhancementstypogReadmeChris Spiel
layout showtypogrid – Print a typographic gridtypogridReadmeHarald Harders (inactive)
classuassign – Environments and options for typesetting university assignmentsuassignReadmeNathan Esau
colourudepcolor – University of Piura (UDEP) institutional and corporate colors for digital and electronic mediaudepcolorReadmeManuel Merino
emphasis, underlineulem – Package for underliningulemReadmeDonald Arseneau
music, pgf tikzundar-digitacion – Musical fingering diagrams of Pinkullo Huanuqueño, Flute (Recorder), Quena and Saxophoneundar-digitacionReadmeAland Bravo Vecorena
titlepageuni-titlepage – Universal titlepages with configuration options and predefined stylesuni-titlepageReadmeMarkus Kohm
notes, toc etcunifront – Give notes a unique front page for every chapter and sectionunifrontReadmeWeifan Wei
bibliousebib – A simple bibliography processorusebibReadmeEnrico Gregorio
documentation supportuseclass – Load classes as packagesuseclassReadmeYuxi HUANG
tablevcell – Vertical alignment of content inside table cellsvcellReadmeXavier Dionne
logovectorlogos – Vectorial logos (GeoGebra, Emacs, Scratch, ...) with ‘inline’ supportvectorlogosReadmeCédric Pierquet
math diagrams, pgf tikzvenndiagram – Creating Venn diagrams with TikZvenndiagramReadmeNicola Talbot
boxing, verbatimverbatimbox – Deposit verbatim text in a boxverbatimboxReadmeSteven B. Segletes
verbatimverbatimcopy – Make copies of text documents from within LaTeXverbatimcopyReadmeLars Madsen, Ulrich Diez
class, exam, exerciseverifica – Typeset (Italian high school) exercisesverificaReadmeRiccardo Dossena
exam, exerciseverifiche – A LaTeX package to typeset (Italian) high school testsverificheReadmeFrancesco Raccanello
package developmentverifycommand – Verifies definitions are unchanged, such as before patchingverifycommandReadmeBrian Dunn
verseverse – Aids for typesetting simple verseverseReadmePeter R. Wilson (inactive), Will Robertson
conditional compilationversion – Conditionally include textversion/Donald Arseneau, Stephen Bellantoni
notesversonotes – Display brief notes on verso pagesversonotesReadmeNorman Gray
editorialvertbars – Mark vertical rules in margin of textvertbarsReadmePeter R. Wilson (inactive), Will Robertson
version controlvhistory – Support for creating a change logvhistoryReadmeJochen Wertenauer
tablevtable – Vertical alignement of table cellsvtableReadmeRobert Paciorek
multicolumnvwcol – Variable-width multiple text columnsvwcolReadmeWill Robertson
layout pagewallpaper – Easy addition of wallpapers (background images) to LaTeX documents, including tilingwallpaperReadmeMichael Wilkinson
games, pgf tikz, symbol supportwargame – A LaTeX package to prepare hex’n’counter wargameswargameReadmeChristian Holm Christensen
font supportwasysym – LaTeX support for the wasy fontswasysymReadmeAxel Kielhorn
convert html, examWebQuiz – Write interactive web based quizzeswebquizReadmeAndrew Mathas
gamesweiqi – Use LaTeX3 to typeset Weiqi (Go)weiqiReadmeMs_yam
text flowwrapstuff – Wrapping text around stuffwrapstuffReadmeQing Lee
pgf tikz, typeset gridWriteOnGrid – Write on grid lineswriteongridReadmeCédric Pierquet
adobe distiller, pdf processxbmks – Create a cross-document bookmark treexbmksReadmeDonald P. Story (deceased)
pdf features, unicodexcjk2uni – Convert CJK characters to Unicode, in pdfTeXxcjk2uniReadmeQing Lee
colourxcolor-material – Defines the 256 colors from Google Material Color Palettexcolor-materialReadmeJerick Órdenes
<img src="https://scillidan.github.io/cdn_image_latex/xcolor.webp" [width="30">colourxcolor – Driver-independent color extensions for LaTeX and pdfLaTeX](https://www.ctan.org/pkg/xcolor)xcolorReadmeThe LaTeX Project Team, Uwe Kern (inactive)
conditional compilationxcomment – Allows selected environments to be included/excludedxcommentReadmeHerbert Voß, Timothy Van Zandt (inactive)
font supp misc, font util, pdf featuresxfakebold – Fake a regular font for bold charactersxfakeboldReadmeHerbert Voß
rulexhfill – Extending \hrulefillxhfill/Herbert Voß
amusements, colourxkcdcolors – xkcd names of colorsxkcdcolorsReadmeRomano Giannetti
table, table longxltabular – Longtable support with possible X-column specifierxltabularReadmeHerbert Voß, Rolf Niepraschk
musicxpiano – An extension of the piano packagexpianoReadmeEnrico Gregorio
curve graphics, graphics in texxpicture – Extensions of LaTeX picture drawingxpictureReadmeRobert Fuster
chinesexpinyin – Automatically add pinyin to Chinese charactersxpinyinReadmeQing Lee
review documentxreview – Reviewing LaTeX documents made easy(er)xreviewReadmeLorenzo Peri
adobe distiller, boxing, pdf featuresxsavebox – Saveboxes for repeating content without code replication, based on PDF Form XObjectsxsaveboxReadmeAlexander Grahn
exam, exercisexsim – eXercise Sheets IMprovedxsimReadmeClemens Niederberger
e-tex, gamesxskak – An extension to the skak package for chess typesettingxskakReadmeUlrike Fischer
verbatimxurl – Allow URL breaks at any alphanumerical characterxurlReadmeHerbert Voß
backgroundxwatermark – Graphics and text watermarks on selected pagesxwatermarkReadmeAhmed Musa (inactive)
chemistry, diagramsxymtex – Typesetting chemical structuresxymtexReadmeShinsaku Fujita
mathsytableau – Many-featured Young tableaux and Young diagramsytableauReadmeRyan Reich
chinese, dummy generator, macro supportzhlipsum – Chinese dummy textzhlipsumReadmeXiangdong Zeng
chinese, numberszhnumber – Typeset Chinese representations of numberszhnumberReadmeQing Lee
geometry, productionzwpagelayout – Page layout and crop-markszwpagelayoutReadmeZdeněk Wagner
alignment support, matrix, tablearray – Extending the array and tabular environmentsarrayReadmeFrank Mittelbach, The LaTeX Project Team
table rulehhline – Better horizontal lines in tabulars and arrayshhlineReadmeDavid Carlisle
layout showlayout – View the layout of a documentlayoutReadmeHideo Umeki, Johannes L. Braams, Kent McPherson, The LaTeX Project Team
table, table longlongtable – Allow tables to flow over page boundarieslongtableReadmeDavid Carlisle, David Kastrup, The LaTeX Project Team
tabletabularx – Tabulars with adjustable-width columnstabularxReadmeDavid Carlisle, The LaTeX Project Team
cite support, label and references, typesettingxr – References to other LaTeX documentsxrReadmeDavid Carlisle, Jean-Pierre Drucbert (deceased), The LaTeX Project Team
barcodebarracuda – Draw barcodes with LuabarracudaReadmeRoberto Giacomelli
games, pgf tikzbattleship – A LaTeX style file for typesetting Battleship logic puzzlesbattleshipReadmeJosef Kleber
games, luatex, typesettingchickenize – Use lua callbacks for “interesting” textual effectschickenizeReadmeArno L Trautmann
exam, luatexcloze – A LuaLaTeX package for creating cloze textsclozeReadmeJosef Friedrich
chinese, font support, japanese, luatexEvangelion-JFM – A Japanese font metric supporting many advanced featuresevangelion-jfmReadmeJing Huang
foreign import, luatex, macro supportinterpreter – Translate input files on the flyinterpreterReadmePaul Isambert (inactive), Yuri Robbers
debug supp, generic macros, luatexlua-visual-debug – Visual debugging with LuaLaTeXlua-visual-debugReadmePatrick Gundlach
layout, luatexlua-widow-control – Automatically remove widows and orphans from any documentlua-widow-controlReadmeMax Chernoff
format, luatexminim – A modern plain format for the LuaTeX engineminimReadmeEsger Renkema
lua suppnodetree – Visualize node lists in a tree viewnodetreeReadmeJosef Friedrich
pdf featurespdfextra – Extra PDF features for (Op)TeXpdfextraReadmeMichal Vlasák
luatex, spellspelling – Support for spell-checking of LuaTeX documentsspellingReadmeStephan Hennig
date time, luatexdatestamp – Fixed date-stamps with LuaLaTeXdatestampReadmeनिरंजन
colour, graphics, graphics eps/pdf, graphics include, graphics plot, graphics plot function, luatex, mathsdomaincoloring – Draw colored represenations of complex functionsdomaincoloringReadmeHerbert Voß
bidirectional, critical edition, luatex, multi-lingual, parallelekdosis – Typesetting TEI-xml compliant Critical EditionsekdosisReadmeRobert Alessi
graphics, graphics use, luatexemoji – Emoji support in (Lua)LaTeXemojiReadmeXiangdong Zeng
cite support, graphics use, luatexemojicite – Add emojis to citationsemojiciteReadmeLeon Sixt
document management, luatex, version controlgitinfo-lua – Display git project information in your LaTeX projectsgitinfo-luaReadmeErik Nijenhuis
font, font supp symbol, font support, font symbol, font ttf, games, luatexhmtrump – Describe card gameshmtrumpReadmeShoma Hitomi
luatex, micro layoutlinebreaker – Prevent overflow boxes with LuaLaTeXlinebreakerReadmeMichal Hoftich
book publication, cooking, luatexmakecookbook – Make a CookbookmakecookbookReadmeRosalie D Amico, Terrence Murphy
book publication, class, luatex, productionnovel – Class for printing fiction, such as novelsnovelReadmeRobert Allgeyer
class, pdf processpdfarticle – Class for pdf publicationspdfarticleReadmeRobert Paciorek
diagrams, graphics, luatex, mol bio, pgf tikzpgfmolbio – Draw graphs typically found in molecular biology textspgfmolbioReadmeWolfgang Esser-Skala (inactive)
layout, luatexplaceat – Absolute content positioningplaceatReadmeArno L Trautmann
callback, luatexPyLuaTeX – Execute Python code on the fly in your LaTeX documentspyluatexReadmeTobias Enderle
luatex, typesettingselnolig – Selectively disable typographic ligaturesselnoligReadmeMico Loretan
calendar, luatex, planningsemesterplanner – Create beautiful semester timetables and moresemesterplannerReadmeNiklas Schneider
calendar, luatex, planningsemesterplannerLua – Draw timetables and other organizational matters useful for planning a semestersemesterplannerLuaReadmeLukas Heindl
debug supp, hyphenation, luatexshowhyphenation – Marking of hyphenation pointsshowhyphenationReadmeThomas Kelkel
luatexshowkerning – Showing kerns in a documentshowkerningReadmeThomas Kelkel
crossword puzzle, games, puzzlesoup – Generate alphabet soup puzzlessoupReadmeThomas Simers
letterspacespacekern – Kerning between words and against spacespacekernReadmeThomas Kelkel
logic, luatex, mathstruthtable – Automatically generate truth tables for given variables and statementstruthtableReadmeDominic Flück
typesettingtypewriter – Typeset with a randomly variable monospace fonttypewriterReadmeDavid Carlisle
calendar, class, luatex, use luawallcalendar – A wall calendar class with custom layoutswallcalendarReadmeGambhīro Bhikkhu
format, luatex, plain extOpTeX – LuaTeX format based on Plain TeX and OPmacoptexReadmePetr Olšák
logic, mathsgfnotation – Typeset Gottlob Frege's notation in plain TeXgfnotationReadmeUdo Wermuth
astrology, font supp symbol, unicodealchemist – Typeset alchemist and astrological symbolsalchemistReadmeEngelbert Buxbaum
article-like, class, multi-lingualeinfart – Write your articles in a simple and clear wayeinfartReadmeJinwen XU
graphics, graphics useemotion – Make emojis more easy to use in XeLaTeX and LuaLaTeXemotionReadmeXuwang Zeng
font, music, music font, otf fontlilyglyphs – Access lilypond fragments and glyphs, in LaTeXlilyglyphsReadmeUrs Liska
multi-lingual, use luatex, use xetexpolyglossia – An alternative to babel for XeLaTeX and LuaLaTeXpolyglossiaReadmeArthur Rosendahl, François Charette (inactive), Jürgen Spitzmüller
typesettingswungdash – Typeset a swung dash in LaTeXswungdashReadmeElijah Z Granet
typesetting, unicodetextcsc – Simple commands for caps-to-small-caps texttextcscReadmeElijah Z Granet
class, dissertationudiss – A LaTeX bundle for typesetting dissertationsudissReadmeC. V. Radhakrishnan, The Indian TeX Users Group, निरंजन
string, xetexxesearch – A string finder for XeTeXxesearchReadmePaul Isambert (inactive), Yuri Robbers
class, file card, qr code, xetexbusinesscard-qrcode – Business cards with QR-Codebusinesscard-qrcodeReadmeMarc Wäckerlin
chinese, exam, xetexexam-zh – LaTeX template for Chinese examsexam-zhReadmeKangwei Xia, Lijun Guo
font developmentfontbook – Generate a font bookfontbookReadmeRaphaël Pinson
Font sel, Font support, Unicodefontwrap – Bind fonts to specific unicode blocksfontwrapReadmeMike Kamermans
chinese, xetexhanzibox – Boxed Chinese characters with Pinyin above and translation belowhanziboxReadmeNan Geng
biology, chinese, class, covers, labels, xetexnanicolle – Typesetting herbarium specimen labelsnanicolleReadmeYuchang Yang
font support, xetexucharclasses – Font actions in XeTeX according to what is being processeducharclassesReadmeMike Kamermans
chinese, japanese, korean, xetexxecjk – Support for CJK documents in XeLaTeXxecjkReadmeJiang Jiang (inactive), Leo Liu, Qing Lee, Wenchang Sun (inactive)
colourxespotcolor – Spot colours support for XeLaTeXxespotcolorReadmeApostolos Syropoulos, Jens Elstner (inactive)
font supp maths, maths, plain ext, unicode, xetexunimath-plain-xetex – OpenType math support in (plain) XeTeXunimath-plain-xetexReadmeTingxuan Zhang
body font, cyrillic font, font, font serif, font support, font t1enc, font ttf, font type1, greek font, multilingual font, proportional fontgentium-tug – Gentium fonts (in two formats) and support filesgentium-tugReadmeKarl Berry, Mojca Miklavec (inactive), Pavel Farar, Thomas A. Schmitz (inactive)
maths, obsolete, pgf tikzpenrose – A TikZ library for producing Penrose tilingspenroseReadmeAndrew Stacey
obsolete, pstricksrputover – Place text over PSTricks objects without obscuring background colorsrputoverReadmeMartin J. Osborne
documentation, maths documentation, obsoletevoss-mathmode – A comprehensive review of mathematics in (La)TeXvoss-mathmodeReadmeHerbert Voß
labratory diagrams, obsoletecontext-chromato – ConTeXt macros for chromatogramscontext-chromato/Peter Münster
notes, obsoletembenotes – Notes in tables or imagesmbenotesReadmeMatthias Borck-Elsner
maths, maths theorem, obsoletethmlist – A LaTeX package for adding theorem environments quicklythmlistReadmeMingyu Xia
graphics plottkz-kiviat – Draw Kiviat graphstkz-kiviatReadmeAlain Matthes
graphics use, pgf tikztkz-linknodes – Link nodes in mathematical environmentstkz-linknodesReadmeAlain Matthes
hyphenation, luatex, obsoleteshowhyphens – Show all possible hyphenations in LuaLaTeXshowhyphensReadmePatrick Gundlach
music, obsoletemusictex – Typesetting music with TeXmusictexReadmeDaniel Taupin (deceased)
musicTeXmuse – Music typesetting system using TeX and METAFONTtexmuseReadmeFederico Garcia-De Castro
compilationarara – Automation of LaTeX compilationararaReadmePaulo Roberto Massa Cereda
archival, bundlebundledoc – Bundle together all the files needed to build a LaTeX documentbundledocReadmeScott Pakin
ctanctanify – Prepare a package for upload to CTANctanifyReadmeScott Pakin
graphics enginegrapher – Create graphs, state machine and data flow diagramsgrapher/Manuel Gutierrez Algaba
chords, musicgregoriotex – Engraving Gregorian Chant scoresgregoriotexReadmeÉlie Roux, Fr. Samuel Springuel, Henry So
document managementlatexdiff – Determine and mark up significant differences between LaTeX fileslatexdiffReadmeFrederik Tilmann
compilationlatexmk – Fully automated LaTeX document generationlatexmkReadmeDavid J. Musliner (inactive), Evan McLean (inactive), John Collins
chunks, graphics, subdocsltximg – Extract LaTeX environments into separate image filesltximgReadmePablo González Luengo
musicM-Tx – A preprocessor for pmxm-txReadmeBob Tennent, Dirk Laurie (deceased)
convert htmlmake4ht – A build system for tex4htmake4htReadmeMichal Hoftich
graphicsmkpic – Perl interface to mfpicmkpicReadmeWybo H. Dekker
biblio supportorderrefs – Sort bibliography in LaTeX document by order of citationorderrefsReadmeJohn Collins
db accessSQLTeX – An SQL Preprocessor for LaTeXsqltexReadmeOscar van Eijk
diagrams, syntaxsyngen – A tool for generating syntax diagrams from BNFsyngenReadmeJens Klöcker
foreign import, tabletab4tex – Preprocessor for LaTeX tabular environmentstab4texReadmeGuido Milanese
compilation, compiler management, conditional compilation, use luaTeXBlend – Compile segments of LaTeX documentstexblendReadmeMichal Hoftich
word countTeXcount – Count words in a LaTeX documenttexcountReadmeEinar Andreas Rødland
enginepdftex – A TeX extension for direct creation of PDFpdftex/Hàn Thế Thành, The TeX Live Team, The pdfTeX Team
indexxindy – A general-purpose index processorxindy/Joachim Schrod, Roger Kehr
dvi processordvisvgm – Convert DVI, EPS, and PDF files to Scalable Vector Graphics format (SVG)dvisvgmReadmeMartin Gieseking
bibliobiber – A BibTeX replacement for users of BibLaTeXbiberReadmeFrançois Charette, Philip Kime
biblio, use luacitation-style-language – Bibliography formatting with Citation Style Languagecitation-style-languageReadmeZeping Lee
font, font supp symbol, font symbol, font type1, otf fontfontawesome7 – Font Awesome 7 with LaTeX supportfontawesome6ReadmeDaniel Nagel
body font, font, font t1enc, font type1, monospaced font, otf font, proportional font, sans fontplex – Support for IBM Plex fontsplexReadmeBob Tennent
font, font supp symbol, font symbol, font type1, otf fontsimpleicons – Simple Icons for LaTeXsimpleiconsReadmeInesh Bose
font, font collection, font serif, font type1, otf font, proportional font, sans fonttex-gyre – TeX Fonts extending freely available URW fontstex-gyreReadmeBogusław Jackowski, Janusz Marian Nowacki (deceased)
body font, font, font support, font t1enc, font type1, otf font, proportional font, sans fontclassico – URW Classico fontsclassicoReadmeBob Tennent
font, font supp maths, maths font, otf fontxcharter-math – XCharter-based OpenType Math font for LuaTeX and XeTeXxcharter-mathReadmeDaniel Flipo
graphics prepgapfill – Generate LaTeX picture environments from PostScript output of drawing programsgapfillReadmeHerbert Möller
chemistry, graphics, graphics metapostmcf2graph – Draw chemical structure diagrams with METAPOSTmcf2graphReadmeAkira Yamaji
graphics, graphics metapost, luatexbyrne – This package provides a set of tools to typeset geometric proofs in the style of Oliver Byrne's 1847 ed. of Euclid's "Elements"byrneReadmeSergey Slyusarev
diagrams, graphics, pgf tikzargumentation – Create abstract argumentation frameworks via TikZargumentationReadmeLars Bengel
experimental latex3, graphics, pgf tikzbroydensolve – Solve a system of equations with Broyden’s good methodbroydensolveReadmeMatthias Floré
experimental latex3, pgf tikzchar2path – A LaTeX package that converts characters into TikZ pathschar2pathReadmeMingyu Xia, Zongping Ding
amusements, graphics, pgf tikz, teachingfigchild – Pictures for creating children’s activitiesfigchildReadmeFernando de Souza Bastos
graphics, pgf tikzliftarm – Geometric constructions with liftarms using TikZ and LaTeX3liftarmReadmeMatthias Floré
3d graphics, graphics, luatex, pgf tikzlua-tikz3dtools – A LuaLaTeX package which improves on 3D capabilities in TikZlua-tikz3dtoolsReadmeJasper Nice
graphics in tex, optics, pgf tikz, physicsoptikz – Customizable optical components for drawing laser setups and optical systems using TikZoptikzReadmeMartin Beyer
graphics, pgf tikzOutilsGeomTikZ – Some geometric tools, with TikZoutilsgeomtikzReadmeCédric Pierquet
diagrams, graphics, maths, pgf tikz, physicspmdraw – Draw elements of the diagram monoidspmdrawReadmeMatthias Fresacher
graphics, pgf tikzpolynomial – Typeset (univariate) polynomialspolynomialReadmeMatthias Floré
games, pgf tikzScrabble – Commands for Scrabble boardsscrabbleReadmeCédric Pierquet
symbol supportthematicpuzzle – Horizontal banners in a puzzle stylethematicpuzzleReadmeCédric Pierquet
amusements, graphics, pgf tikztikz-decofonts – Simple decoration fontes, made with TikZ, for short textstikz-decofontsReadmeCédric Pierquet
graphics, pgf tikztikz-layers – TikZ provides graphical layers on TikZ: "behind", "above" and "glass"tikz-layersReadmeRui Moutinho
graphics, pgf tikztikz-shields – Badges as in shields.io, but in LaTeXtikz-shieldsReadmeThomas Saigre
amusements, graphics, pgf tikztikzbrickfigurines – Draw brick figurines with TikZtikzbrickfigurinesReadmeCédric Pierquet
graphics, pgf tikzMatthias FloréwheelchartReadmeMatthias Floré
graphics subpic, pstrickspst-blur – PSTricks package for ""blurred"" shadowspst-blurReadmeHerbert Voß, Martin Giese
calendar, pstrickspst-calendar – Plot calendars in ""fancy"" wayspst-calendarReadmeHerbert Voß, Manuel Luque
graphics use, physics, pstrickspst-coil – A PSTricks package for coils, etcpst-coilReadmeHerbert Voß, Timothy Van Zandt (inactive)
index, index proclatex-indexer – Automate index generation for LaTeX documentslatex-indexerReadmeDavid Degenhardt
index, use luaxindex – Unicode-compatible index generationxindexReadmeHerbert Voß
tutorial cheat sheetplatexcheat – A LaTeX cheat sheet, in JapaneseplatexcheatReadmeTakuto Asakura
context, label and referencescrossrefenum – Smart typesetting of enumerated cross-references for various TeX formatscrossrefenumReadmeBastien Dumont
e-tex, macro demonstration, generic macrosvisualtoks – Typeset TeXbook-style visualisations of token listsvisualtoksReadmeplante
pseudocodealgxpar – Support multiple lines of pseudocodealgxparReadmeJander Moreira
presentationbeamerthemeCelestia – A modern and elegant Beamer themebeamerthemecelestiaReadmeRazik Ikhlef
class, presentationbeamer – A LaTeX class for producing presentations and slidesbeamerReadmeJoseph Wright, Louis Stuart (inactive), Till Tantau (inactive), Vedran Miletić (inactive), samcarter
biblatex, biblio, e-texBibLaTeX – Sophisticated Bibliographies in LaTeXbiblatexReadmePhilip Kime, Philipp Lehman (inactive)
document management, version controlchangelog – Typesetting keepachangelog.com style changelogschangelogReadmeRebecca Turner
calendar, diagrams, experimental latex3, pgf tikzchronos – TikZ-based package for drawing customisable timelines with support for colour schemes, styles and memoizationchronosReadmeClea F. Rees
boxing, colourCreationBoites – Macros to create simple tcolorbox with some customizationscreationboitesReadmeCédric Pierquet
crossword puzzle, gamescrosswrd – Macros for typesetting crossword puzzlescrosswrdReadmeBrian Hamilton Kelly (deceased), Frank Mittelbach (inactive)
float, tablectable – Flexible typesetting of table and figure floats using key/value directivesctableReadmeWybo H. Dekker
list, list enumumerateenumsub – Aligned inline sublists for enumitemenumsubReadmeSrikanth Mohankumar
graphics useepsdice – A scalable dice ""font""epsdiceReadmeThomas Heim
defer stuffeverypage – Provide hooks to be run on every page of a documenteverypageReadmeSergio Callegari
macro demonstration, verbatimfancyvrb – Sophisticated verbatim textfancyvrbReadmeDenis Girou (inactive), Herbert Voß, Niall Mansfield (inactive), Sebastian Rahtz (deceased), Timothy Van Zandt (inactive)
graphics motion, graphics useflipbook – Typeset flipbook animations, in the corners of documentsflipbookReadmeOlivier Buffet
font sel, macro supportfontawesomescaled – Additional macros for fontawesome iconsfontawesomescaledReadmeCédric Pierquet
footnote, label and referencesfootnoterange – References to ranges of footnotesfootnoterangeReadmeHans-Martin Münch
adobe distiller, e-tex, form fillin, hyper, pdf featureshyperref – Extensive support for hypertext in LaTeXhyperrefReadmeHeiko Oberdiek (inactive), Oberdiek Package Support Group, Sebastian Rahtz (deceased), The LaTeX Project Team
experimental latex3, mathsintexgral – A LaTeX package for typesetting integralsintexgralReadmeValentin Dao
dummy generatoripsum – Insert multilingual placeholder textipsumReadmeCédric Pierquet
class, invoice, letterisodoc – A LaTeX class for typesetting letters and invoicesisodocReadmeWybo H. Dekker
boxing, latex3, pre releaseThe LaTeX Project TeamxcoffinsReadmeThe LaTeX Project Team
labelslabels – Print sheets of sticky labelslabelsReadmeGrant Gustafson (inactive), Julian Gilbey, Sebastian Rahtz (deceased)
boxing, layout, multicolumnleporello – A simple LaTeX document class to create folding flyers using columns and boxesleporelloReadmeJasper Habicht
hyper, maths theoremlinkedthm – Hyperlinked theorem–proof environments for LaTeXlinkedthmReadmeLuis Antonio Ortega Andrés
multicolumnlongtwocolumn – A twocolumn alternative allowing automatic page breakslongtwocolumnReadmeMarkus Kohm
graphics, text symbollucide-icons – Use lucide-icons through LaTeX commandslucide-iconsReadmeCédric Pierquet
gamesmulti-sudoku – Create and customise Sudoku grids of various sizesmulti-sudokuReadmeLuis F. Bartolo Alegre
graphics, text symbolopenmoji – Use openmoji through LaTeX commandsopenmojiReadmeCédric Pierquet
magazinepapertex – Class for newspapers, etcpapertexReadmeIgnacio Llopis
linguistic, parallelparacol – Multiple columns with texts “in parallel”paracolReadmeHiroshi Nakashima (deceased), Markus Kurtz
graphics in texpmgraph – ""Poor man's"" graphicspmgraphReadmeAlexander Berdnikov, Olga Grineva
boxing, decorationpostit – A LaTeX package for displaying Post-it notespostitReadmeCédric Pierquet
exam, pgf tikzquizztex – Create quizzes like in TV showsquizztexReadmeCédric Pierquet
parentheses managementrainbowbrackets – Automatic coloring of nested parenthesesrainbowbracketsReadmePaul Eduard Koenig
class, cookingrecipebook – Typeset 5.5"" x 8"" recipes for browsing or printingrecipebookReadmeBrad Granger
critical editionreledmac – Typeset scholarly editionsreledmacReadmeMaïeul Rouquette
numbersromanbar – Write roman number with ""bars""romanbarReadmeHans-Martin Münch
games, graphics, pgf tikzrpgicons – Icons for tabletop role-playing gamesrpgiconsReadmeJasper Habicht
theologyscripture – A LaTeX style for typesetting Bible quotationsscriptureReadmeDavid Purton
boxing, computer science, presentationsim-os-menus – Insert 'terminal' or 'context menu' or 'viewers' like in an OSsim-os-menusReadmeCédric Pierquet
subsup positionspbmark – Customize superscripts and subscriptsspbmarkReadmeQu Yi
macro supportstackengine – Highly customised stacking of objects, insets, baseline changes, etcstackengineReadmeSteven B. Segletes
graphics, text symboltablerIcons – Use tablerIcons through LaTeX commandstablericonsReadmeCédric Pierquet
box breaking, boxing, colour, listing, macro demonstration, verbatimtcolorbox – Coloured boxes, for LaTeX examples and theorems, etctcolorboxReadmeThomas F. Sturm
toc etctocloft – Control table of contents, figures, etctocloftReadmePeter R. Wilson (inactive), Will Robertson
font, unicodeunicodefonttable – A Unicode font table generatorunicodefonttableReadmeFrank Mittelbach
multi-lingualbabel – Multilingual support for LaTeX, LuaLaTeX, XeLaTeX, and Plain TeXbabelReadmeJavier Bezos López, Johannes L. Braams (inactive)
listing, luatex, syntax highlightpiton – Typeset informatic listings with LPEG of LuaLaTeXpitonReadmeFrançois Pantigny
experimental latex3, luatex, pgf tikzseatingchart – Generation of seating chartsseatingchartReadmeMatthias Werner
code layoutlatexindent – Indent a LaTeX document, highlighting the programming structurelatexindentReadmeChris Hughes
compilationruntexfile – Automate the process of compiling (La)TeX documents with index, bibliography,…runtexfileReadmeHerbert Voß
pdf features, pdf viewshow-pdf-tags – Extract PDF tags from tagged PDF filesshow-pdf-tagsReadmeMarcel Krüger
e-booktex4ebook – Converter from LaTeX to ebook formatstex4ebookReadmeMichal Hoftich
print app, view appvpp – View and (selectively) Print PDF and PostScriptvppReadmeWybo H. Dekker
dvi structureDVIasm – A utility for editing DVI filesdviasmReadmeHironobu Yamashita, Jin-Hwan Cho (inactive), Khaled Hosny (inactive)
convert htmlTeX4ht – Convert (La)TeX to HTML/XMLTeX4htReadmeEitan M. Gurari (deceased), The TeX4ht Team
enginexetex – An extended variant of TeX for use with Unicode sourcesxetexReadmeArthur Rosendahl, Jonathan Kew, Khaled Hosny (inactive), The TeX Live Team
font, font adhoc, novelty fontransom – A ""very bad typewriter"" fontransom/Donald E. Knuth
chess font, font, games, mf fontskak – Fonts and macros for typesetting chess gamesskakReadmeTorben Hoffmann
convert htmltex2page – Produce HTML from TeX/LaTeXtex2page/Dorai Sitaram

Web

reference

cross-reference

mark

cache

resource

mark

later

extra

cache

css

reference

resource

cache

Medusa

reference

PocketBase

reference

Retype

install

# Node.js
pnpm add -g retypeapp

usage

mkdir <dir>
cd <dir>
retype start
# Serve
retype watch
# Build
retype build

reference

Sphinx

install

1 2

mkdir <site>
cd <site>
uv venv
.venv\Scripts\activate
uv pip install furo myst-parser

usage

sphinx-quickstart
# make clean
make html
# uv pip install sphinx-autobuild
# sphinx-autobuild . _bulid

reference

resource

mark

later

extra

cache

1

Furo

stagit

install

# Arch
git clone git://git.codemadness.org/stagit
cd stagit
sudo apt install libgit2-dev
make
ln -s stagit ~/.local/bin/
ln -s stagit-index ~/.local/bin/

usage

mkdir <dir>
cd <dir>
cp <path_to_stagit>/style.css ./
mkdir <subdir1>
mkdir <subdir2>
mkdir source
git clone <repo1> source/<subdir1>
git clone <repo2> source/<subdir2>
cd <subdir1>
stagit ../source/<subdir1>
cd ../<subdir2>
stagit ../source/<subdir2>
cd ..
stagit-index source/<subdir1> source/<subdir2> > index.html
magick convert image.png -resize 96x96 favicon.png
magick convert image.png -resize 96x96 logo.png
ln -s favicon.png <subdir1>/
ln -s favicon.png <subdir2>/
ln -s logo.png <subdir1>/
ln -s logo.png <subdir2>/

Vivliostyle CLI

install

# Node.js
pnpm add -g @vivliostyle/cli

usage

mkdir <dir>
cd <dir>
vivliostyle init
subl vivliostyle.config.js
# Edit it as needed

I don't know why, but sometimes after you use "vivliostyle preview", you need to used Task Manager to find and stop the (multi-) chromium process.

vivliostyle preview
# Build html, pdf
vivliostyle build
# Build epub
vivliostyle build --format epub -o <file>.epub

reference

appdedix

vivliostyle_01 vivliostyle_02 vivliostyle_03

Hugo

install

# Windows 10
scoop install hugo-extended

reference

cross-reference

cache

resource

mark

cache

Quiet Foodie

install

hugo new site <dir>
cd <dir>
git clone --depth=1 https://github.com/paposeco/quietfoodie themes/quietfoodie
subl hugo.toml
# Refer to https://github.com/paposeco/quietfoodie?tab=readme-ov-file#configuration

usage

# Serve
hugo serve
# Build
hugo build

reference

js

cross-reference

cache

resource

mark

cache

Tabulator

annex

// tabulator-example-mini.js
var table = [
    {:""},
    {:""},
];

var table = new Tabulator("#tabulator_", {
    headerVisible:false,
    data:table,
    dataTree:true,
    dataTreeFilter:false,
    dataTreeSort:false,
    dataTreeStartExpanded:false,
    columns:[
        {title:"", field:"n01",width:120,formatter:"html"},
        {title:"", field:"n02"},
        {title:"", field:"n03"},
        {title:"", field:"n04"},
        {title:"", field:"n05"},
    ],
});
// tabulator-example.js
var minMaxFilterEditor = function (cell, onRendered, success, cancel, editorParams) {
    var end;
    var container = document.createElement("span");
    var start = document.createElement("input");
    start.setAttribute("type", "number");
    start.setAttribute("placeholder", "Min");
    start.setAttribute("min", 0);
    start.setAttribute("max", 100);
    start.style.padding = "4px";
    start.style.width = "50%";
    start.style.boxSizing = "border-box";
    start.value = cell.getValue();
    function buildValues() {
        success({
            start: start.value,
            end: end.value,
        });
    }
    function keypress(e) {
        if (e.keyCode == 13) {
            buildValues();
        }

        if (e.keyCode == 27) {
            cancel();
        }
    }
    end = start.cloneNode();
    end.setAttribute("placeholder", "Max");
    start.addEventListener("change", buildValues);
    start.addEventListener("blur", buildValues);
    start.addEventListener("keydown", keypress);
    end.addEventListener("change", buildValues);
    end.addEventListener("blur", buildValues);
    end.addEventListener("keydown", keypress);
    container.appendChild(start);
    container.appendChild(end);
    return container;
};
function minMaxFilterFunction(headerValue, rowValue, rowData, filterParams) {
    if (rowValue) {
        if (headerValue.start != "") {
            if (headerValue.end != "") {
                return rowValue >= headerValue.start && rowValue <= headerValue.end;
            } else {
                return rowValue >= headerValue.start;
            }
        } else {
            if (headerValue.end != "") {
                return rowValue <= headerValue.end;
            }
        }
    }
    return true;
}

var table = [
    {:""},
    {:"", _children:[
        {:""},
    ]},
];

var table = new Tabulator("#tabulator", {
    height:"600px",
    layout:"fitColumns",
    headerVisible:false,
    // responsiveLayout:"hide",
    // groupBy: "gp",
    // groupStartOpen:true,
    // selectable:true,
    data:table,
    dataTree:true,
    dataTreeFilter:false,
    dataTreeSort:false,
    dataTreeStartExpanded:false,
    columns:[
        // {title:"", field:"", formatter:"html", headerFilter:"input"},
        // {title:"", field:"", formatter:"textarea", headerFilter:"input"},
        // {title:"", field:"", formatter:"progress", formatterParams:{
        //     min:0,
        //     max:10,
        //     color:["green", "orange", "red"],
        //     legendColor:"#000000",
        //     legendAlign:"center",
        // }}
    ],
});

mdBook

install

cargo install --force mdbook

usage

mdbook init <yourbook>
cd <yourbook>
# Serve
mdbook serve --open
# Build
mdbook build

reference

cross-reference

extra

cache

resource

later

extra

cache

cancel

mdbook-admonish

install

cargo install --force mdbook-admonish
mdbook-admonish install

Mdbook Embedify

install

# Cargo
cargo install --force mdbook-embedify

usage

# book.toml
[preprocessor.embedify]
# Bilibili
{% embed bilibili id="<id>" loading="lazy" %}
# Youtube
{% embed youtube id="<id>" loading="lazy" %}

reference

mdbook-force-relative-links

install

cargo install --force mdbook-force-relative-links

usage

# book.toml
[prepocessor.force-relative-links]
after = ["links"]

mdbook-tailor

install

cargo install --force mdbook-tailor

usage

# book.toml
[preprocessor.tailor]

MkDocs

reference

cross-reference

mark

resource

mark

extra

cache

Material for MkDocs

install

mkdir <site>
cd <site>
uv venv
.venv\Scripts\activate
uv pip install mkdocs-material

usage

mkdocs new .
subl config.yaml
theme:
  name: material

reference

troubleshoot

bin

reference

cross-reference

mark

later

extra

cache

cancel

asset

resource

mark

later

extra

cache

7-Zip

install

# Arch
sudo pacman -S 7zip
# Windows 10
scoop install 7zip
# Ubuntu 22 ARM
sudo pacman -S p7zip-full

usage

command

# Decomporess with password
7z x $1 -p"<password>"

# Compress with volume size is 10m
7z a -v10m <compress_dir>.7z <compress_dir>

resource

cache

abbreviate

install

go install -v github.com/dnnrly/abbreviate@latest

act

install

yay -S --noconfirm act

usage

act -l
act -n
act

appdedix

act

agg

install

cargo install --git https://github.com/asciinema/agg

usage

agg --theme 1F1F28,FFFFFF,1F1F28,D55FFF,A6E22E,F4BF75,66D9EF,AE81FF,A1EFE4,F8F8F2,75715E,D55FFF,A6E22E,F4BF75,66D9EF,AE81FF,A1EFE4,F9F8F5 --speed 1.5 --font-family "IosevkaTerm NFM" --font-size 14 --fps-cap 30 "$1" _agg.gif
agg --theme asciinema --speed 1.5 --font-family "IosevkaTerm NFM" --font-size 14 --fps-cap 30 "$1" _agg.gif

ascii-image-converter

install

# Arch
yay -S --noconfirm ascii-image-converter
# Windows 10
scoop install ascii-image-converter

usage

ascii-image-converter "$1" -C -b --dither -d 100,35

ASCII Silhouettify

install

# Node.js
pnpm add -g ascii-silhouettify

usage

ascii-silhouettify --input "$1"

appdedix

quasar-ascii-silhouettify

Aspell

install

# Arch
sudo pacman -S aspell aspell-en
# Windows 10
scoop install aspell

resource

cache

ass2srt

install

# Pip
uv tool install ass2srt

usage

ass2srt "$1.ass"

ast-grep

install

# Arch
pacman -S ast-grep
# Windows 10
scoop install ast-grep

Audio Waveform Image Generator

install

# Arch
yay -S --noconfirm audiowaveform

usage

audiowaveform -i "$1" -o "_audiowaveform.png" -z auto -w 1920 -h 150 --background-color fffff8 --waveform-color 111111 --axis-label-color fffff8 --border-color fffff8

autocast

install

# Arch
yay -S --noconfirm autocast
# Cargo
cargo install --force autocast

usage

autocast input.yaml output.cast

annex

# starfetch.yaml
settings:
  width: 132
  height: 24
  # width: 151
  # height: 36
  title: starfetch
  type-speed: 150ms
  timeout: 90s

instructions:
  - !Marker Install
  - !Wait 1s
  - !Command
    command: "git clone --depth=1 https://github.com/Haruno19/starfetch"
  - !Wait 1s
  - !Command
    command: "cd starfetch"
  - !Wait 1s
  - !Command
    command: "make -j8"
  - !Wait 1s
  - !Command
    command: "# sudo make install"
  - !Wait 1s
  - !Clear

  - !Marker Usage
  - !Command
    command: "./starfetch -h"
  - !Wait 3s
  - !Clear
  - !Wait 3s
  - !Command
    command: "./starfetch -r"
  - !Wait 3s
  - !Command
    command: "./starfetch -n orion"
  - !Wait 3s

  # Cleanup
  - !Command
    command: "rm -rf starfetch"
    hidden: true
# yt-dlp.yaml
# Record with https://github.com/Watfaq/PowerSession-rs.
settings:
  width: 151
  height: 36
  title: yt-dlp
  shell:
    program: pwsh
    prompt: "PS "
    line_split: ' \'
    quit_command: exit
  type-speed: 150ms
  timeout: 90s

instructions:
  - !Wait 1s
  - !Command
    command: "yt-dlp -F https://www.youtube.com/watch?v=LZ2kSbSrDLs"
  - !Wait 2s
  - !Clear
  - !Command
    command: "# yt-dlp -f bestvideo+bestaudio https://www.youtube.com/watch?v=LZ2kSbSrDLs"
  - !Wait 1s

autocrop

install

# Pip
uv tool install autocrop

usage

autocrop "$1" _ac_"$1" 0.1
autocrop -i <input_dir> -o <output_dir> -w 400 -H 400 -e png

AutoTrace

install

# Arch
yay -S --noconfirm autotrace

usage

magick convert "$1" -define bmp:format=bmp3 _temp.bmp && autotrace -output-file _autotrace.svg -input-format bmp -despeckle-level <level> -color-count <num> _temp.bmp

Av1an

install

# Arch
sudo pacman -S av1an
# Cargo
cargo install --force av1an

usage

av1an -i "$1" -v "--cpu-used=3 --end-usage=q --cq-level=30 --threads=8" -w 10 --target-quality 95 -a "-c:a libopus -b:a 192k -ac 2" -l "_av1en.log" -o "_av1en.mp4"

Bark

install

git lfs install
git clone https://huggingface.co/spaces/suno/bark
cd bark
uv venv
.venv\Scripts\activate
uv pip install torch --index-url https://download.pytorch.org/whl/cu121
uv pip install -e .

usage

uv pip install hf_transfer
python -m bark --text "<text>" --output_filename "temp.wav"

bat

install

# Arch
sudo pacman -S bat
# Windows 10
scoop install bat

config

Adding new syntaxes / language definitions

mkdir -p %USERPROFILE%/AppData/Roaming/bat/
cd %USERPROFILE%/AppData/Roaming/bat
mkdir syntaxes
cd syntaxes
git clone --depth=1 https://github.com/tellnobody1/sublime-purescript-syntax
cd ..
mkdir themes
cd themes
bat cache --build

usage

bat --list-themes | fzf --preview="bat --theme={} --color=always <file>"
bat

BatchPDFSign

usage

java -jar batchpdfsign-portable.jar -k <file.pfx> -p <password> -i "$1" -o "_batchpdfsign.pdf"

BeatPrints

Create eye-catching, Pinterest-style music posters effortlessly. BeatPrints integrates with Spotify and LRClib API to help you design custom posters for your favorite tracks or albums. [TrueMyst/BeatPrints]

轻松制作引人注目的Pinterest风格的音乐海报。BeatPrint与Spotify和LRClib API集成,帮助你为最喜欢的曲目或专辑设计自定义海报。 [TrueMyst/BeatPrints]

install

  1. Visit Spotify Developer Dashboard.
  2. Create app BeatPrints, add http://localhost on Redirect URIs (required).
  3. Go Settings, get Client ID, Client secret.
  4. Add SPOTIFY_CLIENT_ID, SPOTIFY_CLIENT_SECRET into PATH.
git clone --depth=1 https://github.com/TrueMyst/BeatPrints
cd BeatPrints
uv venv
.venv\Scripts\activate
uv pip install -e .
uv pip install python-dotenv

config

1

# Windows 10
mkdir C:\Users\User\AppData\Roaming\BeatPrints
subl C:\Users\User\AppData\Roaming\BeatPrints\config.toml
[general]
search_limit = 7
output_directory = "C:\\Users\\User\\Downloads"

[credentials]
client_id = "SPOTIFY_CLIENT_ID"
client_secret = "SPOTIFY_CLIENT_SECRET"

usage

beatprints

reference

appdedix

Bob

install

Get bob from Releases.

usage

bob list-remote
bob install 0.10.0

Bombadillo

appdedix

bombadillo

broot

install

# Windows 10
scoop install broot

usage

broot
broot -c ":toggle_preview" <path_to>

reference

Btop

install

# Arch
sudo pacman -S btop
# Windows 10
scoop install btop

Carapace-bin

install

# Arch
yay -S --noconfirm carapace-bin
# Windows 10
scoop install carapace-bin

chafa

install

# Arch
sudo pacman -S chafa
# Windows 10
scoop install chafa

chezmoi

install

# Arch
sudo pacman -S chezmoi
# Windows 10
scoop install chezmoi

usage

1 2

# rm -rf ~/.local/share/chezmoi
# rm -rf ~/.config/chezmoi
chezmoi init
vim ~/.local/share/chezmoi/.chezmoiignore
<ignorefile>
<ignoredir>/
chezmoi add <your_dotfiles>
chezmoi cd
git remote add origin https://github.com/<user>/<repo>
git branch -M main
git add .
git commit -m "<commit>"
git push -u origin main

On another PC:

chezmoi init https://github.com/<user>/<repo>
chezmoi diff
chezmoi apply -v
# Pull updates
chezmoi update -v

ClamAV

install

Arch

1 2

sudo pacman -S clamav
sudo vim /etc/clamav/freshclam.conf
sudo vim /etc/clamav/clamd.conf
# https://wiki.archlinux.org/title/ClamAV#Configuration

# Modify the following
ExtendedDetectionInfo yes
MaxDirectoryRecursion 20
DetectPUA yes
HeuristicAlerts yes
ScanPE yes
ScanELF yes
ScanOLE2 yes
ScanPDF yes
ScanSWF yes
ScanXMLDOCS yes
ScanHWP3 yes
ScanOneNote yes
ScanMail yes
ScanHTML yes
ScanArchive yes
Bytecode yes
AlertBrokenExecutables yes
AlertBrokenMedia yes
AlertEncrypted yes
AlertEncryptedArchive yes
AlertEncryptedDoc yes
AlertOLE2Macros yes
AlertPartitionIntersection yes

OnAccessMaxFileSize 100M
OnAccessIncludePath /home
OnAccessPrevention no
OnAccessExtraScanning yes
OnAccessExcludeUname clamav

VirusEvent /etc/clamav/virus-event.bash
sudo vim /etc/sudoers.d/clamav
clamav ALL = (ALL) NOPASSWD: SETENV: /usr/bin/notify-send
sudo vim /etc/clamav/virus-event.bash
 https://wiki.archlinux.org/title/ClamAV#Creating_notification_popups_for_alerts

!/bin/bash
PATH=/usr/bin
ALERT="Signature detected by clamav: $CLAM_VIRUSEVENT_VIRUSNAME in $CLAM_VIRUSEVENT_FILENAME"

 Send an alert to all graphical users.
for ADDRESS in /run/user/*; do
	USERID=${ADDRESS#/run/user/}
	/usr/bin/sudo -u "#$USERID" DBUS_SESSION_BUS_ADDRESS="unix:path=$ADDRESS/bus" PATH=${PATH} \
		/usr/bin/notify-send -w -u critical -i dialog-warning "Virus found!" "$ALERT"
done
sudo vim /etc/systemd/system/clamav-clamonacc.service
# clamonacc systemd service file primarily the work of ChadDevOps & Aaron Brighton
# See: https://medium.com/@aaronbrighton/installation-configuration-of-clamav-antivirus-on-ubuntu-18-04-a6416bab3b41#a340

[Unit]
Description=ClamAV On-Access Scanner
Documentation=man:clamonacc(8) man:clamd.conf(5) https://www.clamav.net/documents
Requires=clamav-daemon.service
After=clamav-daemon.service syslog.target network.target

[Service]
Type=simple
ExecStart=
ExecStart=/usr/sbin/clamonacc -F --fdpass --log=/var/log/clamav/clamonacc.log

[Install]
WantedBy=multi-user.target
# sudo mkdir /etc/systemd/system/clamav-clamonacc.service.d
# sudo chown clamav:clamav /var/log/clamav/clamonacc.log
sudo systemctl daemon-reload
sudo systemctl restart clamav-daemon.service
sudo systemctl enable --now clamav-clamonacc.service

freshclam

sudo freshclam
sudo systemctl enable --now clamav-freshclam.service

clamav-milter

sudo vim /etc/clamav/clamav-milter.conf
# https://wiki.archlinux.org/title/ClamAV#Using_the_milter

# Modify the following
MilterSocket /tmp/clamav-milter.socket
MilterSocketMode 660
FixStaleSocket yes
User clamav
MilterSocketGroup clamav
PidFile /run/clamav/clamav-milter.pid
TemporaryDirectory /tmp
ClamdSocket unix:/run/clamav/clamd.ctl
LogSyslog yes
LogInfected Basic
sudo vim /etc/systemd/system/clamav-milter.service
# https://wiki.archlinux.org/title/ClamAV#Using_the_milter

[Unit]
Description='ClamAV Milter'
After=clamav-daemon.service

[Service]
Type=forking
ExecStart=/usr/bin/clamav-milter --config-file /etc/clamav/clamav-milter.conf
Restart=Always

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now clamav-milter.service

Fangfrish

sudo mkdir -m 0770 -p /var/lib/fangfrisch
sudo chgrp clamav /var/lib/fangfrisch
su root
cd /var/lib/fangfrisch
python3 -m venv venv
source venv/bin/activate
pip install fangfrisch
vim /etc/fangfrisch.conf
# Minimal example configuration, meant for testing.

[DEFAULT]
db_url = sqlite:////var/lib/fangfrisch/db.sqlite
local_directory = /var/lib/clamav

[urlhaus]
enabled = yes
fangfrisch --conf /etc/fangfrisch/fangfrisch.conf initdb
# su <user>
# sudo /var/lib/fangfrisch/venv/bin/fangfrisch --conf /etc/fangfrisch.conf initdb

Windows 10

scoop install clamav
mkdir -p <path_to>\ClamAV\database
subl <path_to>\freshclam.conf
# Example
DatabaseDirectory "<path_to>\ClamAV\database"
UpdateLogFile "<path_to>\ClamAV\freshclam.log"
# Update database
freshclam

usage

# Test
curl https://secure.eicar.org/eicar.com.txt | clamscan -
# Scan a directory.
clamscan -r -i <dir>
# Scan a file with specified limits.
clamscan -v -a --max-filesize=1000M --max-scansize=1000M --alert-exceeds-max=yes <file>

reference

troubleshoot

1 ClamAV 2 [SOLVED] clamav-clamonacc won't start (easily)

clean-css

install

# Arch
yay -S --noconfirm nodejs-clean-css nodejs-clean-css-cli
# Npm
pnpm add -g clean-css clean-css-cli

Code2prompt

install

# Arch
yay -S --noconfirm code2prompt
# Cargo
cargo install --force code2prompt

usage

# Arch
code2prompt --output <outout.txt> <path>
# Windows 10
code2prompt <path> --output-file <outout.txt>

color-matcher

install

# Pip
uv tool install color-matcher

usage

color-matcher -s "$1" -r "$2"

coloro

install

# Pip
uv tool install coloro

COOK

install

go install -v github.com/glitchedgitz/cook/v2/cmd/cook@latest

csview

install

# Arch
yay -S --noconfirm csview
# Windows 10
scoop install csview
# Cargo
cargo install --force csview

command

# Fetch and process markdown table from GitHub, cleaning up the format and converting to CSV
curl -k https://raw.githubusercontent.com/scillidan/WALLPAP-ENG-resource/main/table.md | sd "\[\d{10}\]\(" "" | sd "(\)\|\S+subsc)" "|![](//img.shields.io/steam/subsc" | mdtable2csv | sd "//steamc" "https://steamc" | xsv select source,version,urlid | csview

CUDA

install

Windows 10

  1. Check Your GPU Compute Capability.
  2. Install python 3.* from Python Releases for Windows.
  3. Install CUDA from CUDA Toolkit - Downloads.
  4. Check PyTorch - Start Locally to install `torch``.
# Check
python --version
nvcc -V
echo %CUDA_PATH%
echo %CUDNN%

reference

curl

# Arch
sudo pacman -S curl
# Windows 10
scoop install curl

reference

reference

mark

daktilo

install

# Arch
sudo pacman -S daktilo
# Cargo
cargo install --force daktilo

dedoc

install

# Cargo
cargo install dedoc

config

# Windows 10
set "DEDOC_HOME=%USERPROFILE%\Usr\Data\dedoc"

deep-translator

install

# Pip
uv tool install deep-translator

dict-ecdict

install

1

# Ubuntu 22 ARM
sudo apt install unzip p7zip-full dictfmt dictzip python-is-python3
git clone --depth=1 --single-branch -b master https://github.com/tuberry/dict-ecdict
cd ./dict-ecdict
make
# sudo make install

DidYouMean

# Cargo
cargo install --force didyoumean

doc2dash

install

# Pip
uv tool install doc2dash

usage

# See <Document>.docset/Contents/Info.plist
doc2dash --name <identifier> -f ./build/html
mv <identifier>.docset <Document>.docset
# Put icon.png, icon@2x.png into <Document>.docset/
vim <DocumentName>.docset/Contents/Info.plist
<key>CFBundleName</key>
<string>Document (Version)</string>

Push to Kapeli/Dash-User-Contributions

1

  1. Fork https://github.com/Kapeli/Dash-User-Contributions
  2. Fork Repo → Sync fork → Update branch
git clone https://github.com/<your>/Dash-User-Contributions
cd Dash-User-Contributions
# Sync to upstream
git pull
git checkout -b "<DocumentName>-<Version>"
tar --exclude='.DS_Store' -cvzf <DocumentName>.tgz <DocumentName>.docset
mv <DocumentName>.tgz Dash-User-Contributions/docsets/<DocumentName>/
vim Dash-User-Contributions/docsets/<DocumentName>/docset.json
{
    "name": "Document Name",
    "version": "<Version>",
    "archive": "<DocumentName>.tgz"
}
# If you build a specific versions
mv <DocumentName-Version>.tgz Dash-User-Contributions/docsets/<DocumentName>/versions/<SpecificVersion>/
vim Dash-User-Contributions/docsets/<DocumentName>/docset.json
    "specific_versions": [
        {
            "version": "<SpecificVersion>",
            "archive": "versions/<SpecificVersion>/<DocumentName>.tgz"
        },
        ...
    ]
git add .
git commit -m "Update <DocumentName> to Version>"
git push -u origin <DocumentName>-<Versison>

Visit `https://github.com/<your>/Dash-User-Contributions` → Create Pull requests → Waiting check and merge.

## reference

- [Docset Contribution Checklist](https://github.com/Kapeli/Dash-User-Contributions/wiki/Docset-Contribution-Checklist#docset-requirements)

[^1]: [Contributions](https://github.com/MarcDiethelm/contributing)

doggo

install

# Arch
yay -S --noconfirm doggo-bin
# Windows 10
scoop install doggo

Dolt

install

# Windows 10
scoop install dolt

usage

dolt config --global --add user.email "user@example.com"
dolt config --global --add user.name "username"
dolt login
mkdir database_1
cd database_1
dolt init
dolt remote add origin scillidan/database_1
dolt table import --create-table --pk column_1 table_1 table_1.csv
dolt add table_1
dolt commit -m "add table_1"
# dolt status
# dolt pull origin main
dolt push origin main
# Export to csv
dolt sql -r csv -q "SELECT * FROM `blog` > file.csv

reference

Doom Emacs

appdedix

doomemacs

Dufs

install

# Arch
yay -S --noconfirm dufs-bin
# Windows 10
scoop install dufs

dvipdfm

usage

dvipdfm "$1"

echo-cli

install

# Node.js
pnpm add -g echo-cli

epub2tts

install

git clone --depth=1 https://github.com/aedocw/epub2tts
cd epub2tts
uv venv --python 3.11
.venv\Scripts\activate
uv pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
uv pip install coqui-tts --only-binary spacy
uv pip install -e .

usage

# Extract epub contents to text
epub2tts <epub> --export txt
# https://github.com/aedocw/epub2tts?tab=readme-ov-file#extract-epub-contents-to-text
# Coqui TTS 
epub2tts <formatted_txt> --engine tts --language en --speaker "Suad Qasim" --cover cover-image.jpg --sayparts

troubleshoot

Edit requirements.txt1:

# deepspeed

epub2txt

install

# Pip
uv tool install epub2txt

usage

# Convert a file
epub2txt -f <epub>

# Convert a directory
cd <epub_dir>
epub2txt

EPUB to Audiobook Converter

install

git clone --depth=1 https://github.com/p0n1/epub_to_audiobook
cd epub_to_audiobook
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt

usage

python main.py --tts edge --language en-US <epub> <output_folder>

erdtree (erd)

install

# Arch
sudo pacman -S erdtree
# Windows 10
scoop install erdtree

usage

erd
erd --color auto --hidden --follow --human --sort name --dir-order first --layout inverted

euporie

appdedix

euporie

eva

install

# Arch
sudo pacman -S eva
# Windows 10
scoop install eva
# Cargo
cargo install --force eva

Fastfetch

install

# Arch
sudo pacman -S fastfetch
# Windows
scoop install fastfetch

faviator

usage

faviator --size 512 --text "$1" --font-size 12 --font-family "Pridi" --font-color #000 --font-weight 400 --background-color #fff --border-width 0 --border-color 0 --border-radius 0 -o favicon.png

Favocon

install

cargo isntall favocon

usage

favocon "$1" -o ./favicon

fd

install

# Arch
sudo pacman -S fd
# Windows 10
scoop install fd

FFmpeg

install

# Arch
sudo pacman -S ffmpeg
# Windows 10
scoop install ffmpeg-share

usage

command

# Convert FLAC to MP3
find . -type f \( -iname "*.wav" -o -iname "*.flac" -o -iname "*.m4a" \) -print0 | xargs -0 -I {} ffmpeg -i "{}" -c:a libmp3lame -ar 44100 -b:a 256k -maxrate 320k -minrate 128k -bufsize 320k "{}.mp3"
# Convert FLACs to one MP3
find . -maxdepth 1 -type f -name '*.flac' | sort | sed "s|^\./\(.*\)$|file '\1'|" > _temp.txt
ffmpeg -f concat -safe 0 -i _temp.txt -codec:a libmp3lame -qscale:a 1 _.mp3

# Convert Audio to OGG
ffmpeg -i "$1" -map_metadata -1 -c:a libvorbis -b:a 64k -compression_level 10 -vn _.ogg
# For Music encoding
ffmpeg -i "$1" -c:a libvorbis -ar 44100 -b:a 256k -maxrate 320k -minrate 128k -bufsize 320k _.ogg
# For Voice recording
ffmpeg -i "$1" -c:a libvorbis -ar 44100 -b:a 128k -maxrate 192k -minrate 64k -bufsize 192k _.ogg

# Convert FLAC to M4B
ffmpeg -i "$1.flac" -c:a aac -b:a 128k -minrate 64k -maxrate 192k -ar 44100 _.m4b
# Convert Audio to optimized M4B
ffmpeg -i "$1" -map 0:a -map_metadata 0 -c:a aac -b:a 64k -id3v2_version 3 -movflags +faststart _opti.m4b

# Convert M4A track to MP3
ffmpeg -i "$1" -c:a libmp3lame -q:a 8 _.mp3
ffmpeg -i "$1" -vn -c:a libmp3lame -b:a 224K -ac 2 _.mp3

# Convert AAC to MP3
ffmpeg -i "$1" -codec:a libmp3lame -qscale:a 1 _.mp3

# Convert Video to MP4 with AC3 track
ffmpeg -i "$1" -map 0 -c:v copy -c:a ac3 -b:a 256K -ac 2 -c:s copy _.mp4

# Convert GIF/APNG to MP4
ffmpeg -i "$1.gif/apng" -movflags faststart -pix_fmt yuv420p -vf "fps=30,scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -crf 23 -preset veryslow _.mp4

# Generate MP4 from autocast
autocast "$1.yaml" _temp.cast
agg --theme asciinema --speed 1.5 --font-family "IosevkaTerm Nerd Font Mono" --font-size 14 --fps-cap 30 _temp.cast _temp.gif
ffmpeg -i _temp.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" _.mp4

# Create Video from Image
ffmpeg -framerate 1 -i "$04d.png" -c:v libx264 -r 30 -pix_fmt yuv420p _.mp4
ffmpeg -framerate 30 -i "$04d.png" -c:v libx264 -pix_fmt yuv420p _.mp4
ffmpeg -loop 1 -i "$1" -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -c:v libx264 -t 1 -pix_fmt yuv420p _.mp4

# Extract frame as poster
ffmpeg -i "$1.mp4" -vframes 1 _poster.jpg
# Extract Audio as MP3
ffmpeg -i "$1" -vn -acodec libmp3lame -ab 192k -ar 44100 -y _.mp3

# Export SRT subtitle
ffmpeg -i "$1" -map 0:s:0 _.srt
# Export SUP subtitle
ffmpeg -i "$1" -map 0:s:0 -c:s copy _.sup

reference

FFsubsync

install

# Pip
uv tool install ffsubsync
``

find

reference

fishdraw

install

git clone --depth=1 https://github.com/LingDong-/fishdraw
cd fishdraw

usage

node fishdraw.js --seed "$1" --format smil --speed 2 > _fishdraw.svg

fontTools

install

# Arch
sudo pacman -S python-fonttools
# Pip
uv tool install fonttools

usage

# Generate a Latin subset of a TTF file into a WOFF2 format
pyftsubset "$1" --output-file="_latin.woff2" --flavor=woff2 --layout-features=* --unicodes="U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD"

fzf

It's an interactive filter program for any kind of list; files, command history, processes, hostnames, bookmarks, git commits, etc. It implements a "fuzzy" matching algorithm, so you can quickly type in patterns with omitted characters and still get the results you want. [junegunn/fzf]

这是一个适用于任何列表的互动过滤程序;文件、命令历史记录、进程、主机名、书签、git提交等。它实现了一种“模糊”匹配算法,因此您可以快速输入省略字符的模式,依然可以获得您想要的结果。 [junegunn/fzf]

install

# Arch
sudo pacman -S fzf
# Windows 10
scoop install fzf

reference

resource

cache

annex

appdedix

Gethash

install

# pipx
pipx install gethash
# Pip
uv tool install gethash

Gifski

install

# Arch
sudo pacman -S gifski
# Windows 10
scoop install gifski

usage

# Optimize GIF
gifski -o _opti.gif "$input_file"

# Optimize GIF with special width, height, and fps
gifski --width 600 --height 600 --fps 10 -o _opti.gif "$input_file"

# Optimize GIF with special quality, width
gifsicle -O3 --lossy=80 --resize-width 600 "$input_file" -o _opti.gif

Glow

install

# Arch
sudo pacman -S glow
# Windows 10
scoop install glow

G'MIC

usage

command

# Apply match patch with warping
gmic "$1" "$2" +matchpatch[0] [1],3 +warp[-2] [-1],0

# Convert from sRGB to Lab color space, blend shapes
gmic "$1" +srgb2lab slic[-1] 16 +blend shapeaverage f[-2] "j(1,0)==i && j(0,1)==i" *[-1] [-2]

# Frame with specific parameters
gmic "$1" frame_xy 1,1,0 frame_xy 10,5,0,0,0

# Create a grid overlay on the image
gmic "$1" grid 10%,16%,0,0,0.2,255

# Apply Kuwahara filter to the image
gmic "$1" kuwahara 9

# Create a montage from the image
gmic "$1" montage H1:V0:VH2:1H0:3

# Quantize colors and apply blur
gmic "$1" quantize 6 blur 1 round[-1] quantize_area[-1] 2

# Quantize and split colors for display
gmic "$1" quantize 3 +split_colors , display_rgba

# Segment the image using watershed algorithm
gmic "$1" segment_watershed 4

# Apply topographic map effect
gmic "$1" topographic_map 10

GnuPG

install

# Arch
sudo pacman -S gnupg
# Windows 10
scoop install gnupg

usage

gpg --full-generate-key

command

# Create a GnuPG directory and sync files from the user's GnuPG directory.
mkdir <path_to>/gnupg
rsync -av --progress ~/.gnupg/ <path_to>/gnupg

Godot MCP

install

git clone --depth=1 https://github.com/Coding-Solo/godot-mcp
cd godot-mcp
npm install
npm run build

config

VScodium → Extension → Cline → Manage MCP Servers → Settings → Configure MCP Servers.

{
  "mcpServers": {
    "godot": {
      "command": "node",
      "args": ["/path/to/godot-mcp/build/index.js"],
      "env": {
        "DEBUG": "true" // Optional: Enable detailed logging
      },
      "disabled": false,
      "autoApprove": [
        "launch_editor",
        "run_project",
        "get_debug_output",
        "stop_project",
        "get_godot_version",
        "list_projects",
        "get_project_info",
        "create_scene",
        "add_node",
        "load_sprite",
        "export_mesh_library",
        "save_scene",
        "get_uid",
        "update_project_uids"
      ]
    }
  }
}

grep

reference

grex

install

# Arch
sudo pacman -S grex
# Windows 10
scoop install grex

GStreamer

install

# Windows 10
choco install gstreamer

HTMLMinifier

install

# Npm
pnpm add -g html-minifier

igir

appdedix

igir

ImageTheming

usage

java -jar imagetheming/build/libs/ImageTheming.jar "$1" -t=<theme>

Image Deduplicator

install

git clone --depth=1 https://github.com/idealo/imagededup
cd imagededup
uv python install 3.8.*
uv venv --python 3.8.*
.venv\Scripts\activate
uv pip install "cython>=0.29" setuptools
python setup.py install

ImageMagick

install

# Arch
sudo pacman -S imagemagick
# Windows 10
scoop install imagemagick

usage

command

# Add a border to an image
magick convert "$1" -bordercolor "#000" -border 1 "_border.png"

# Convert multiple PNG/JPEG images to a single PDF
magick convert "*.{png,jpeg}" -quality 100 "_output.pdf"

# Create a montage from an image
magick montage "$1" -resize 750x -geometry +0+0 -tile 1x "_montage.png"

# Crop the image from the top, keeping only the bottom 1500 pixels
magick convert "$1" -crop x1500 "_%d.png"

# Negate an image
magick convert "$1" -channel RGB -negate _negate.png

# Resize the image to a height of 1600 pixels with maximum quality
magick convert "$1" -resize x1600 -quality 100 "_*.jpg"

# Apply paint effect to the image
magick convert "$1" -paint 3 "$2"

# Apply charcoal effect
magick convert "$1" -charcoal 2 "$2"

# Apply ordered dithering (gray)
magick convert "$1" -colorspace Gray -ordered-dither o2x2 "_dither.png"

# Apply ordered dithering (8 colors)
magick convert "$1" -ordered-dither h4x4o -colors 8 "_dither.png"

# Apply sketch effect
magick convert "$1" -colorspace gray -sketch 0x10+120 "_sketch.png"

# Convert BMP file to PNG format
magick mogrify -format png "$1"

reference

troubleshoot

insanely-fast-whisper-cli

install

git clone --depth=1 https://github.com/ochen1/insanely-fast-whisper-cli
cd insanely-fast-whisper-cli
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt

usage

python insanely-fast-whisper.py --model openai/whisper-base --device cuda:0 --dtype float32 --batch-size 8 --better-transformer --chunk-length 30 <audio_file>.wav

issue2md

install

git clone --depth=1 https://github.com/bigwhite/issue2md
cd issue2md
make cmdline
# Arch
ln -sfn $(pwd)/issue2md ~/.local/bin/issue2md
# Windows 10
mklink %USERPROFILE%\.local\bin\issue2md.exe %CD%\issue2md

usage

issue2md <issue_url> file.md

Jujutsu

# Windows 10
scoop install jj

reference

resource

cache

jq

install

# Arch
sudo pacman -S jq
# Windows 10
scoop install jq

js-beautify

install

# Arch
yay -S --noconfirm js-beautify
# Npm
pnpm add -g js-beautify

just

install

# Windows 10
scoop install just

ki-cli

install

# Node.js
pnpm add -g ki-cli

usage

command

ki a b c foo.hoge bar.fuga baz.piyo long.long.long.depth | sed "s/├/-/g; s/│/ /g; s/└/-/g; s/──/--/g" | sed "s/-─/-/g"

Komga Cover Extractor

install

git clone --depth=1 https://github.com/zachstultz/komga-cover-extractor
cd komga-cover-extractor

usage

python komga_cover_extractor.py -c "True" -cq "70" -p .

Lazydocker

install

# Arch
yay -S --noconfirm lazydocker-bin
# Windows 10
scoop install lazydocker

legumes

install

git clone --depth=1 https://github.com/LingDong-/legumes
cd legumes

usage

node legc --format svg --stem-length 3 --title-text-size 28 --page-margin-x 120 "$1" > _legumes.svg

libretrans

install

# Cargo
cargo install --force libretrans

usage

libretrans -u http://<your_host> en:zh "This is a text"

linkding-cli

appdedix

linkding-cli

Lipsync Generator: Rhubarb & Whisper AI

install

git clone --depth=1 https://github.com/fralapo/LipSyncify
cd LipSyncify
uv venv
.venv\Scripts\activate
uv pip install torch torchaudio torchvision --extra-index-url https://download.pytorch.org/whl/cu121
uv pip install -r requirements.txt

usage

python3 generate_lipsync.py --background yellow

LRC to SRT Converter

install

git clone --depth=1 https://github.com/HUYDGD/lrc2srt
cd lrc2srt

usage

python lrc2srt.py <lrc_dir>

Lue

install

git clone --depth=1 https://github.com/superstarryeyes/lue
cd lue
uv venv .venv --python 3.10
source .venv/bin/activate
uv pip install torch torchvision torchaudio
uv pip install -r requirements.txt
uv pip install -e .
deactivate
ln -sfn $(pwd)/lue ~/.local/bin/lue

usage

lue <book>

Sync Lyrics and Produce an LRC file using spleeter, whisper, and text similarity.

install

conda create --name lyrics python=3.10.12
conda activate lyrics
pip install spleeter openai-whisper
pip uninstall numpy
pip install numpy==1.26.4

usage

python pysync sample.mp3 sample.txt
python pysync <music> <lyric>

M3U8

usage

m3u8 -u="$1" -o="_m3nu"

marker

install

uv venv .marker --python 3.12
.marker\Scripts\activate
uv pip install marker-pdf
# uv pip install hf_transfer

usage

# As CLI
marker_single <pdf> --output_dir <output_dir> --page_range 1-5
# As GUI
uv pip install streamlit
marker_gui

MarkItDown

install

git clone --depth=1 https://github.com/microsoft/markitdown
cd markitdown
uv venv --python 3.12
.venv\Scripts\activate
uv pip install -e "packages/markitdown[all]"
# Arch
rm ~/.local/bin/markitdown
ln -sfn $(pwd)/.venv/Scripts/markitdown ~/.local/bin/markitdown
# Window 10
rm %USERPROFILE%\.local\bin\markitdown.exe
mklink %USERPROFILE%\.local\bin\markitdown.exe %CD%\.venv\Scripts\markitdown.exe
# Update
git pull
.venv\Scripts\activate
uv pip install -e "packages/markitdown[all]"

usage

markitdown file.pdf -o file.md
markitdown file.epub -o file.md

markpdf

usage

markpdf "$1" mark.png --opacity=0.3

A MCP server for Godot RAG

install

git clone --depth=1 https://github.com/weekitmo/mcp_godot_rag
cd mcp_godot_rag
uv venv --python=3.12
.venv\Scripts\activate
uv sync
cp .env.example .env.local
python download_godot_docs.py
uv pip install docutils
python convert_rst2md.py
python chunker.py -i artifacts
python vectorizer.py -i artifacts/chunks/artifacts_chunks_SZ_400_O_20.jsonl
# Test
python main.py -d artifacts/vector_stores/chroma_db -c artifacts_chunks_SZ_400_O_20_all-MiniLM-L6-v2

config

VSCodium → Extension → Cline → Manage MCP Servers → Settings → Configure MCP Servers.

{
  "mcpServers": {
    "godot-rag": {
      "command": "/path/to/mcp_godot_rag/.venv/Scripts/python.exe",
      "args": [
        "/path/to/mcp_godot_rag/main.py",
        "-d",
        "/path/to/mcp_godot_rag/artifacts/vector_stores/chroma_db",
        "-c",
        "artifacts_chunks_SZ_400_O_20_all-MiniLM-L6-v2"
      ]
    }
  }
}

MDict Tool

usage

mdict.exe -x "汉语大词典(简体精排).mdx"  -d ./mdx

mecab

install

  1. Get mecab-0.98.exe from https://sourceforge.net/projects/mecab/files/mecab-win32/0.98/.
  2. Run mecab-0.98.exe
    • Dictionary Charset → SHIFT-JIS

reference

resource

cache

Miller

  • Miller is multi-purpose: it's useful for data cleaning, data reduction, statistical reporting, devops, system administration, log-file processing, format conversion, and database-query post-processing.
  • You can use Miller to snarf and munge log-file data, including selecting out relevant substreams, then produce CSV format and load that into all-in-memory/data-frame utilities for further statistical and/or graphical processing.
  • Miller complements data-analysis tools such as R, pandas, etc.: you can use Miller to clean and prepare your data. While you can do basic statistics entirely in Miller, its streaming-data feature and single-pass algorithms enable you to reduce very large data sets.
  • Miller complements SQL databases: you can slice, dice, and reformat data on the client side on its way into or out of a database. You can also reap some of the benefits of databases for quick, setup-free one-off tasks when you just need to query some data in disk files in a hurry.
  • Miller also goes beyond the classic Unix tools by stepping fully into our modern, no-SQL world: its essential record-heterogeneity property allows Miller to operate on data where records with different schema (field names) are interleaved.
  • Miller is streaming: most operations need only a single record in memory at a time, rather than ingesting all input before producing any output. For those operations which require deeper retention (sort, tac, stats1), Miller retains only as much data as needed. This means that whenever functionally possible, you can operate on files which are larger than your system’s available RAM, and you can use Miller in tail -f contexts.
  • Miller is pipe-friendly and interoperates with the Unix toolkit.
  • Miller's I/O formats include tabular pretty-printing, positionally indexed (Unix-toolkit style), CSV, TSV, JSON, JSON Lines, and others.
  • Miller does conversion between formats.
  • Miller's processing is format-aware: e.g. CSV sort and tac keep header lines first.
  • Miller has high-throughput performance on par with the Unix toolkit.
  • Miller is written in portable, modern Go, with zero runtime dependencies. You can download or compile a single binary, scp it to a faraway machine, and expect it to work. [johnkerl/miller]
  • Miller是多用途的:它可用于数据清理、数据减少、统计报告、开发运维、系统管理、日志文件处理、格式转换和数据库查询后处理。
  • 您可以使用米勒来捕获并处理日志文件数据,包括选择相关的子流,然后生成CSV格式并将其加载到所有内存/数据框工具中,以进行进一步的统计和/或图形处理。
  • 米勒与数据分析工具(如R、pandas等)互补:您可以使用米勒来清理和准备您的数据。虽然您可以在米勒中完全进行基本统计,但它的流式数据特性和单遍算法使您能够减少非常大的数据集。
  • 米勒还与SQL数据库互补:您可以在客户端上对数据进行切片、重组和重新格式化,以便数据在进入或离开数据库时进行处理。当您急需快速查询磁盘文件中的数据时,您也可以从数据库中获得一些好处,用于快速、无需设置的一次性任务。
  • 米勒还超越了经典的Unix工具,完全迈入我们的现代无SQL世界:它的基本记录异构性特性允许米勒在记录具有不同架构(字段名称)交错的情况下进行操作。
  • 米勒是流式的:大多数操作每次只需要在内存中保留一个记录,而不是在生成任何输出之前就接收所有输入。对于那些需要更长时间保留的数据操作(排序、反向、统计1),米勒仅保留所需的数据量。这意味着在功能上可行的情况下,您可以操作比系统可用内存更大的文件,并且可以在tail -f环境中使用米勒。
  • 米勒与Unix工具包兼容,它是友好的管道工具。
  • 米勒的输入/输出格式包括表格美化打印、按位置索引(Unix工具包风格)、CSV、TSV、JSON、JSON Lines等。
  • 米勒可以在格式之间进行转换。
  • 米勒的处理是格式感知的:例如,CSV的排序和反向保留头行。
  • 米勒具有与Unix工具包相当的高通量性能。
  • 米勒是用可移植的现代Go语言编写的,没有任何运行时依赖。您可以下载或编译一个单一的二进制文件,将其scp到远程机器上,并期望它正常工作。 [johnkerl/miller]

install

# Arch
sudo pacman -S miller
# Windows 10
scoop install miller

MinIO Client

install

# Ubuntu 22 ARM
wget https://dl.min.io/client/mc/release/linux-arm64/mc
chmod +x mc
mv mc ~/.local/bin/
mkdir -p ~/minio_recursive
mc alias set <database_name> http://<your_host>:9000 <MINIO_ROOT_USER> <MINIO_ROOT_PASSWORD>
mc list <database_name>
mc cp --recursive <database_name>/ ~/minio_recursive/

mkcert

install

# Ubuntu 22 ARM
sudo apt install libnss3-tools

usage

mkcert -install
mkcert example.com "*.example.com" example.test localhost

mnamer

install

uv tool install mnamer

usage

# Rename all files in the current directory
mnamer -b .

mprocs

install

# Arch
yay -S --noconfirm mprocs-bin
# Windows 10
scoop install mprocs

mt

install

go install github.com/mutschler/mt@latest

usage

mt -n 16 -c 4 --disable-timestamps --header=false "$1"

appdedix

mt

mtn

install

# Arch
yay -S --noconfirm mtn
# Windows 10
scoop install mtn

usage

mtn -c 4 -r 4 -g 3 -k 000000 -w 1920 -i -t -D 4 -P -o "_mtn.png" "$1"

appdedix

mtn

musicnn

install

git clone --depth=1 https://github.com/jordipons/musicnn
cd musicnn

Windows 10

subl requirements.txt
audioread==3.0.1
librosa==0.8.1
musicnn==0.1.0
numpy==1.16.6
pandas==1.1.5
scikit-learn==0.24.2
scipy==1.5.4
soundfile==0.12.1
tensorflow==2.3.4
resampy==0.2.2
ipython==7.16.3
conda create --name musicnn python=3.6.13
conda activate musicnn
pip install -r requirements.txt
pip install matplotlib
conda install  ipykernel jupyterlab
python -m ipykernel install --user --name musicnn
jupter lab

Arch

1

uv python install 3.7.9
uv venv --python 3.7.9
source .venv\Scripts\activate
uv pip install -e .
uv pip install matplotlib
yay -S libxcrypt-compat
uv run --with jupyter jupyter lab

musikcube

appdedix

musikcube

n8n MCP Server

install

git clone --depth=1 https://github.com/leonardsellem/n8n-mcp-server
cd n8n-mcp-server
npm install
npm run build
cp .env.example .env
subl .env
N8N_API_URL=http://localhost:5678/api/v1
N8N_API_KEY=<n8n_apikey>
DEBUG=false
N8N_WEBHOOK_USERNAME=<user>
N8N_WEBHOOK_PASSWORD=<password>

Get <n8n_apikey> from n8n:

  1. n8n → Settings → n8n API → Create an API Key.
  2. Label n8n-mcp-server, Expiration No Expiration → Save.
# Test
node build/index.js

config

VSCodium → Extension → Cline → Manage MCP Servers → Settings → Configure MCP Servers.

{
  "mcpServers": {
    "n8n-local": {
      "autoApprove": [],
      "disabled": false,
      "timeout": 60,
      "command": "node",
      "args": [
        "C:/Users/User/Usr/Script/n8n-mcp-server/build/index.js"
      ],
      "env": {
        "N8N_API_URL": "http://localhost:5678/api/v1",
        "N8N_API_KEY": "<your_n8n_apikey>",
        "N8N_WEBHOOK_USERNAME": "<username>",
        "N8N_WEBHOOK_PASSWORD": "<password>"
      },
      "transportType": "stdio"
    }
  }
}

Neovide

This is a simple graphical user interface for Neovim (an aggressively refactored and updated Vim editor). Where possible there are some graphical improvements, but functionally it should act like the terminal UI. [neovide/neovide]

这是一个简单的Neovim图形用户界面(一个经过激进重构和更新的Vim编辑器)。在可行的情况下进行了一些图形改进,但在功能上应该像终端用户界面一样运行。 [neovide/neovide]

install

# Arch 
sudo pacman -S neovide
# Windows 10
scoop install neovide

config

1

# Arch
mkdir ~/.config/neovide
vim ~/.config/neovide/config.toml
# Windows 10
mkdir %APPDATA%\neovide
subl %APPDATA%\neovide\config.toml

usage

command

# Launch Neovide with specific settings
neovide --size=1250x720 --frame none --no-tabs --wsl archwsl

# Unrecommended method to connect to a server with Neovide
ssh <username>@<your_host> -L 1234:0.0.0.0:1234 -- /home/<username>/.local/bin/nvim --headless --listen 0.0.0.0:1234
neovide --server <your_host>:1234

reference

annex

npms-cli

install

# Node.js
pnpm add -g npms-cli

appdedix

npms-cli

open-cli

install

# Node.js
pnpm add -g open-cli

open-pdf-sign

usage

java -jar open-pdf-sign.jar --input "$1" --output "_open-pdf-sign.pdf" --certificate <file.crt> --key <file.pem> --passphrase <password> --page -1 --locale zh-CN

OpenCC

install

# Arch
sudo pacman -S opencc

uv

# Windows 10
uv venv .opencc --python 3.10
.opencc\Scripts\activate
uv pip install opencc

usage

# Arch
opencc -c /usr/share/opencc/t2s.json -i input.txt -o output.txt
# Windows 10
.opencc\Lib\site-packages\opencc\clib\bin\opencc -c .opencc/Lib/site-packages/opencc/clib/share/opencc/t2s.json -i input.txt -o output.txt

opencubicplayer

OpenType Sanitizer

usage

ots-sanitize <ttf> <otf>

Oxipng

install

# Arch
sudo pacman -S oxipng
# Windows 10
scoop install oxipng

usage

oxipng -o 4 -i 1 --strip safe *.png

Paletter

usage

paletter -colors <num> "$1"

Pandoc

install

# Arch
sudo pacman -S pandoc-cli
# Windows 10
scoop install pandoc

usage

# Convert a reStructuredText (RST) file to Markdown format
pandoc "$1" -f rst -t markdown -o "_output.md"

Paperoni

install

pnpm add -g percollate

usage

paperoni "$1" --export epub

PDF ToC

install

uv tool install pdf-toc

usage

pdf-toc -t toc.txt -d "_pdf-toc.pdf" "$1"

Pdfalyzer

install

# Pip
uv tool install pdfalyzer

usage

pdfalyzer "$1"

Percollate

install

# Npm
pnpm add -g percollate

usage

# Convert html file to EPUB
percollate epub "$1" -o "_percollate.epub"

# Convert html file to PDF with specific CSS styles
percollate pdf "$1" -o "_percollate.pdf" --css ":root { --main-font: 'Beholden Medium';  --code-font: 'Beholden Medium'; --alt-font: 'Beholden Medium'; }"

pip_search

install

# Pip
uv tool install pip_search

appdedix

pip_search

pipe-rename

install

# Arch
sudo pacman -S pipe-rename
# Cargo
cargo install --force pipe-rename

usage

command

ls | renamer

png-to-ico

install

# Node.js
pnpm add -g png-to-ico

usage

png-to-ico "$1" > _png2ico.ico

png2svg

usage

png2svg -v -l -o "$1" _png2svg.svg

pngquant

install

# Arch
sudo pacman -S pngquant
# Windows 10
scoop install pngquant

posterust

presenterm

install

# Cargo
cargo install --force presenterm

usage

git clone --depth=1 https://github.com/mfontanini/presenterm
cd presenterm
presenterm --theme dark examples/demo.md
pipx install presenterm-export
presenterm --export-pdf --theme light examples/demo.md

Prettier

install

# Arch
sudo pacman -S prettier
# Npm
pnpm add -g prettier

usage

# Format a JSON file using Prettier
prettier --write --parser json "$1"

pro

install

go install -v github.com/wowu/pro@latest

usage

pro auth
cd <proj>
pro

Projz - RenyPy Translation Toolkit

install

git clone --depth=1 https://github.com/abse4411/projz_renpy_translation
cd projz_renpy_translation
uv venv
.venv\Scripts\activate
cp requirements_full.txt requirements_full.txt.bak
subl requirements_full.txt
# torch==2.0.1+cu117
# torchaudio==2.0.2+cu117
# torchvision==0.15.2+cu117
python -m pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2 --index-url https://download.pytorch.org/whl/cu118
python -m pip install -r requirements_full.txt

usage

python server_ui.py
python main.py
n <game_dir> -n <game_name>
i <game_name> -l schinese
t <game_name> -t openai -n {model_name} -l schinese -b 4
17 22
# lt <game_name> -m gemma3:12b

pyLanguagetool

install

uv venv .pylanguagetool
# Arch
source .pylanguagetool/bin/activate
# Windows
.pylanguagetool\Scripts\activate
uv pip install --upgrade setuptools beautifulsoup4 pylanguagetool

usage

echo "This are a exampl" | pylanguagetool --lang en-US

annex

汉字拼音转换工具(Python 版)

install

# Pip
uv tool install pypinyin

usage

pypinyin -s NORMAL <chinese_string>

Super Pyxelate

install

git clone --depth=1 https://github.com/sedthh/pyxelate
uv venv .venv --python 3.9
.venv\Scripts\activate
uv pip install -r requirements.txt
uv pip install -e .

usage

pyxelate "$1" _pyxelate.png --factor 9 --upscale 5 --palette 10 --nosvd

qsv

install

# Arch
yay -S --noconfirm qsv-bin
# Windows 10
scoop install qsv

RapidVideOCR

install

1 2 3

# CPU
pip install rapid_videocr
# GPU
git clone --depth=1 https://github.com/SWHL/RapidVideOCR
uv venv
.venv\Scripts\activate
uv pip install paddlepaddle-gpu==3.0.0b1 -i https://www.paddlepaddle.org.cn/packages/stable/cu123/
uv pip install get-pypi-latest-version
python setup.py install
# pip uninstall onnxruntime
# pip install onnxruntime-directml

usage

command

# CPU mode
rapid_videocr -o srt -i <rgb_images_dir> -s _output

# GPU mode
uv pip install rapidocr_paddle
rapid_videocr --use_cuda -o srt -i <rgb_images_dir> -s _output

# With VideoSubFinder
rapid_videocr -vsf "<path_to>\VideoSubFinder\Release_x64\VideoSubFinderWXW.exe" -video_dir "$1"

cross-reference

mark

appdedix

rapidvideocr

Rclone

reference

refreshenv

install

# Windows 10
scoop install refreshenv

rembg

install

pipx install "rembg[cli]"
pip install "rembg[gpu,cli]"
# pip install --upgrade click

usage

rembg i -a -ae 15 "$1" _rembg.png

Renamer

install

# Node.js
pnpm add -g @innocenzi/rename

usage

rn

reference

ripgrep

install

# Arch
sudo pacman -S ripgrep
sudo pacman -S ripgrep-all
# Windows 10
scoop install ripgrep
scoop install ripgrep-all

rsync

install

# Arch
sudo pacman -S rsync
# Windows 10
scoop install cwrsync

usage

# Update nvim config from ArchWSL to Windows
rsync -r ~/.config/nvim/ /mnt/c/Users/User/AppData/Local/nvim --include={".*"} --exclude={"lazy-lock.json"}

reference

resource

cache

russ

appdedix

russ

Sloc Cloc and Code (scc)

install

# Arch
yay -S --noconfirm scc
# windows 10
scoop install scc

sd

install

# Arch
sudo pacman -S sd
# Windows 10
scoop install sd

SeaGOAT

install

pipx install seagoat

usage

seagoat-server start <your_repo>

w2vgrep

usage

w2vgrep /C 2 /n /t 0.55 /m "<path_to>/googlenews-slim/GoogleNews-vectors-negative300-SLIM.bin" "$1" /f "$2"

Semantra

install

pipx install semantra

reference

serve

install

# Node.js
pnpm add -g serve

SF2 to SFZ Converter

install

git clone --depth=1 https://github.com/bashexplode/sf2-to-sfz
cd sf2-to-sfz
uv venv
.venv\Scripts\activate
uv pip install sf2utils

usage

python sf2_to_sfz.py file.sf2 file.sfz

ShellGPT

install

1

ollama pull mistral:7b-instruct
# ollama pull llama3.1:8b
uv tool install "shell-gpt[litellm]"
subl C:\Users\User\.config\shell_gpt\.sgptrc
DEFAULT_MODEL=ollama/mistral:7b-instruct
# DEFAULT_MODEL=ollama/llama3.1:8b
OPENAI_USE_FUNCTIONS=false
USE_LITELLM=true

usage

sgpt "Hello Ollama"
sgpt --model ollama/mistral:7b-instruct "Resize images to 800x 0.9 quality jpg"
cat <code_file> | sgpt --model ollama/mistral:7b-instruct --code "Generate comments for each line of my code"
# Test
sgpt --model ollama/mistral:7b-instruct --role explain "magick convert -resize 800x image.jpg -quality 90 resized_image.jpg"
sgpt --model ollama/mistral:7b-instruct --role optimize "Resize images to 800x 0.9 quality jpg"
sgpt --model ollama/mistral:7b-instruct --role summarize "Please resize all images to a maximum width of 800 pixels and save them in JPEG format with a compression quality of 0.9."
sgpt --model ollama/llama3.1:8b --role adcopy "Resizing images for web use, specifically reducing their width to 800 pixels, saving them as JPEGs with a compression quality of 0.9."

shot-scraper

install

git clone --depth=1 https://github.com/simonw/shot-scraper
cd shot-scraper
pipx install shot-scraper playwright
playwright install

usage

shot-scraper <url>

Silicon

install

# Arch
sudo pacman -S silicon
# Windows 10
scoop install silicon

usage

command

silicon --from-clipboard --language "Text" --font "'IosevkaTerm NFM'=16" --no-window-controls --pad-horiz 0 --pad-vert 0 --background "#fffff8" --tab-width 2 --line-offset 0 --line-pad 4 --output _silicon.png

Simple_Speech_Recognition

install

git clone --depth=1 https://github.com/Temmie-Flakes/Simple_Speech_Recognition
cd Simple_Speech_Recognition
uv venv
.venv\Scripts\activate
uv pip install torch --index-url https://download.pytorch.org/whl/cu121
uv pip install -r requirements.txt
uv pip install hf_transfer
  1. Read RunBaseModel.bat.
  2. Create other .bat you need liked RunMediumModel.bat.
  3. Run .bat.

so

appdedix

so

split-manga-pages

install

# Pip
uv tool install split_manga_pages

usage

split_manga_pages -d <dir> -m all

spongebob-cli

install

git clone https://github.com/trakBan/spongebob-cli
cd spongebob-cli
uv venv
.venv\Scripts\activate
uv pip install -e .

usage

python spongebob-cli

SSHFS

install

# Arch
sudo pacman -S sshfs
# Ubuntu 22 ARM
sudo apt install sshfs

usage

# Windows 10
scoop install sshfs-np winfsp-np sshfs-win-manager-np

SSHFS-Win Manager → Add Connection.

starfetch

install

# ArchWSL
git clone --depth=1 https://github.com/Haruno19/starfetch
cd starfetch
make -j8
sudo make install
# MSYS2
git clone --depth=1 https://github.com/K1ngst0m/starfetch
cd starfetch
make
# Cargo
git clone --depth=1 https://github.com/CoderCharmander/starfetch
cargo build

usage

# ArchWSL
starfetch -r
# MSYS2
./starfetch.exe -r
# Cargo
~/.cargo/tmp/debug/starfetch -d
starfetch -L
starfetch orion

annex

// summer_triangle.json for https://github.com/Haruno19/starfetch.
{
  "title": "──── smrtgl ────",
  "graph": {
    "line1": { "5": "✦"},
    "line2": { "18": "✦"},
    "line3": {},
    "line4": {},
    "line5": {},
    "line6": {},
    "line7": {},
    "line8": {},
    "line9": { "10": "✦" },
    "line10": {}
  },
  "name": "Summer Triangle",
  "quadrant": "NQ4",
  "right ascension": "18h36m56s to 20h41m26s",
  "declination": "+08°52′06″ to +45°16′49″",
  "area": "",
  "main stars": "3"
}
// summer_triangle.json for https://github.com/CoderCharmander/starfetch.
{
    "title": "──── smrtgl ────",
    "graph": [
        [5, 1, "✦"],
        [18, 2, "✦"],
        [10, 9, "✦"]
    ],
    "name": "Summer Triangle",
    "quadrant": "NQ4",
    "right_ascension": "18h36m56s to 20h41m26s",
    "declination": "+08°52′06″ to +45°16′49″",
    "area": "null",
    "main_stars": "3"
}

Starship

install

# Windows 10
scoop install starship

annex

stylua

install

# Arch
sudo pacman -S stylua
# Windows 10
scoop install stylua

sub-batch

Match and rename subtitles to videos and perform other batch operations on subtitles. [kl/sub-batch]

将字幕与视频匹配并重命名,并对字幕执行其他批量操作。 [kl/sub-batch]

install

# Cargo
cargo install --force sub-batch

usage

command

# Rename
sub-batch rename --subarea ".+"

# Adjust subtitle timings with alass
sub-batch alass

# Adjust subtitle timings interactively with mpv
sub-batch time-mpv

appdedix

sublime snnippets batch convert to vscode snippets

install

# Npm
pnpm add -g sublime-snippets-to-vscode

usage

sublimeSnippetsToVsCode -s /home/<user>/.config/sublime-text/Packages/User/Snippets -o /home/<user>/.config/nvim/snippets

subliminal

install

# Pip
uv tool install subliminal

SubPlease-ZH

install

git clone --depth=1 https://github.com/BorisNA/SubPlease-ZH
cd SubPlease-ZH
pyenv install 3.9.9
pyenv shell 3.9.9
pip install -r requirements.txt

usage

  1. Create folder liked your_book/.
  2. Put your_book.m4b, your_book.epub into your_book/.
  3. Check here to get the supported file format.
python run.py -d your_book
python gen.py -d your_book

SubPlz

install

# ArchWSL
git clone --depth=1 https://github.com/kanjieater/SubPlz
cd SubPlz
uv venv --python=3.11
source .venv/bin/activate
uv pip install .

usage

subplz sync -h

sudo(8): execute command as another user - Linux man page

install

# Windows 10
scoop install sudo

resource

SVGO

install

# Arch
sudo pacman -S svgo
# Npm
pnpm add -g svgo

s# syncabook

syncabook is a set of tools for creating ebooks with synchronized text and audio (a.k.a. read along, read aloud; like Amazon's Whispersync). You start with a list of text files (plaintext or XTML) and a list of audio files (.wav or .mp3) and get an ebook in the open EPUB3 with Media Overlays format.
The synchronization is done automatically using the afaligner library. It is a forced aligner that works by synthesizing text and then aligning synthesized and recorded audio using a variation of the DTW (Dynamic Time Warping) algorithm. [r4victor/syncabook]

syncabook是一套用于创建带有同步文本和音频的电子书的工具(也称为“跟读”、“朗读”;类似于亚马逊的Whispersync)。你可以从一系列文本文件(纯文本或XTML)和一系列音频文件(.wav或.mp3)开始,最终得到一个采用开放EPUB3带媒体叠加格式的电子书。
同步是通过使用afaligner库自动完成的。它是一个强制对齐器,通过合成文本并使用DTW(动态时间规整)算法的一种变体对合成音频和录制音频进行对齐。 [r4victor/syncabook]

install

Windows 10

  1. Get aeneas-win64-setup-*.exe from Releases - sillsdev/aeneas-installer.
  2. set "AENEAS_FORCE_CEW=True"

usage

cd books
mkdir alice_in_wonderland
cd alice_in_wonderland
mkdir plaintext
  1. For example, download "Alice in Wonderland, Retold in Words of One Syllable" by Carroll and Gorham, the Plain Text UTF-8 format from Project Gutenberg, rename to text.txt.
  2. Download the corresponding book's vocal reading audio files from LibriVox, rename to audio.zip, then decompress it to audio/.
  3. In plaintext/, create a 001_title.txt.
  4. Open text.txt, cut all content that above chapter strings liked CHAPTER I, ACT I into 001_title.txt.
# syncabook download_files <url> <book>
syncabook split_text --mode opening --p <book_index> <book>\text.txt <book>\plaintext
# syncabook split_text --mode delimeter --p <book_index> <book>\text.txt <book>\plaintext
# syncabook split_text --mode equal --n 2 <book>\text.txt <book>\plaintext
syncabook to_xhtml <book>/plaintext <book>/sync_text
syncabook sync <book>
syncabook create <book>

For example:

sudo docker run --rm -v ~/Git/_/synclibrivox/books:/books -it scillidan/syncabook:latest split_text --mode opening --p CHAPTER books/alice_in_wonderland/text.txt books/alice_in_wonderland/plaintext
sudo docker run --rm -v ~/Git/_/synclibrivox/books:/books -it scillidan/syncabook:latest to_xhtml books/alice_in_wonderland/plaintext books/alice_in_wonderland/sync_text
sudo docker run --rm -v ~/Git/_/synclibrivox/books:/books -it scillidan/syncabook:latest sync books/alice_in_wonderland
sudo docker run --rm -v ~/Git/_/synclibrivox/books:/books -it scillidan/syncabook:latest create books/alice_in_wonderland

reference

appdedix

Tabby

usage

1 2

tabby.exe serve --model StarCoder-1B --chat-model Qwen2-1.5B-Instruct
tabby.exe serve --model Qwen2.5-Coder-7B --chat-model CodeQwen-7B-Chat --device cuda
  1. Visit http://localhost:8080 and login.
  2. User → Token → `<copy_from>``.
  3. Vscodium → Plugins → Search → Tabby → Install.
  4. Tabby → Connect to Server → http://localhost:8080<paste_to>.

Television

install

# Arch
sudo pacman -S television
# Windows 10
scoop install television
# Cargo
cargo install --force television

usage

tv

termusic

# Arch
sudo pacman -S termusic
# Windows
scoop install termusic

terser

install

# Arch
yay -S --noconfirm terser
# Npm
pnpm add -g terser

tesseract

install

# Arch
sudo pacman -S tesseract tesseract-data-eng tesseract-data-chi_sim tesseract-data-chi_sim_vert
# Windows 10
scoop install tesseract tesseract-languages

tex-fmt

install

# Arch
yay -S --noconfirm tex-fmt
# Windows 10
scoop install tex-fmt

Texlab

install

# Arch
sudo pacman -S texlab
# Windows 10
scoop install texlab

thes

install

# Cargo
cargo install --force thes

timidity++

install

# Arch
sudo pacman -S timidity++

usage

command

# Convert MIDI file to MP3
timidity "$1" -Ow -o - | ffmpeg -i - -acodec libmp3lame -ab 64k "_mid2.mp3"

resource

cache

tldr

install

# Arch
sudo pacman tldr
# Windows 10
scoop install tldr

usage

# Clear local repository then clone
tldr -c
# Pulls the latest commits from github.com/tldr-pages/tldr
tldr -u

resource

cache

To CBZ

install

git clone --depth=1 https://github.com/italomaia/to-cbz
cd to-cbz

usage

python <path_to>/to-cbz/to_cbz.py <dir>

Trafilatura: Discover and Extract Text Data on the Web

install

uv tool install trafilatura

usage

trafilatura -u <url>
trafilatura -u <url> > _.txt
sed "s/$/\n/" _.txt > _2.md

trashy

install

# Arch
yay -S --noconfirm trashy
# Cargo
cargo install --force trashy

ttf2woff2

install

# Node.js
pnpm add -g ttf2woff2

Tidy Viewer (tv)

Tidy Viewer (tv) is a cross-platform data pretty printer that uses column styling to maximize viewer enjoyment. Supports CSV, TSV, PSV, and Parquet files with streaming for large datasets. [alexhallam/tv]

Tidy Viewer(tv)是一个跨平台的数据美化打印工具,使用列样式来最大化观众的视觉体验。支持CSV、TSV、PSV和Parquet文件,并具备大数据集的流式处理功能。 [alexhallam/tv]

install

# Arch
yay -S --noconfirm tidy-viewer
# Cargo
cargo install --force tidy-viewer

usage

command

# Fetch color data from various markdown sources, convert to CSV, and display with coloring tools
curl -k --remote-name-all -o - https://raw.githubusercontent.com/scillidan/color/main/data/{chinese-traditional-colors.md,china-tradition-color-monokuro.md,zhongguose.md,china-tradition-color-320.md,nipponcolors.md} | mdtable2csv | xsv select hex,spelling,name | tidy-viewer -D -a -e | coloro | less -R

UglifyJS 3

install

# Npm
pnpm add -g uglify-js

ugrep

install

# Arch
sudo pacman -S ugrep
# Windows 10
scoop install ugrep

unrar(1): extract files from rar archives - Linux man page

install

# Windows 10
scoop install unrar

resource

mark

vcsi

install

# Arch
yay -S --noconfirm vcsi
# uv
uv tool install vcsi

usage

vcsi -w 1920 --metadata-position hidden "$1"

appdedix

vcsi

vercel

install

# Node.js
pnpm add -g vercel

video-to-ascii

usage

video-to-ascii -f "$1" --strategy ascii-color

Vidmerger

install

git clone --depth=1 https://github.com/tgotwig/vidmerger
cd vidmerger
cargo build --release

usage

vidmerger -f <format> .

vimg

install

# Arch
yay -S --noconfirm vimg
# Cargo
cargo install --force vimg

usage

vimg vcs -c4 -n16 -H270 --avif-fps=20 "$1"

VirusTotal CLI

install

# Windows 10
scoop install vt-cli

usage

# Set up your API key
vt init
vt url <url>

vtracer

vtt_to_srt3

install

# Pip
uv tool install vtt_to_srt3

usage

vtt_to_srt "$1"

Wappalyzer Next

install

# Pip
uv tool install wappalyzer

Warcraft Font Merger

usage

  1. Get WarFontMerger-SC-*-windows-x64.7z from Warcraft-Font-Merger - Releases.
  2. Decompress and rename it to Warcraft-Font-Merger/.
  3. Create fonts/.
  4. Copy fonts into fonts/.
  5. Run 合并补全.bat fonts/<font1> fonts/<font2>.
  6. Rename out.ttf.

wget(1): non-interactive network downloader - Linux man page

install

# Windows 10
scoop install wget

resource

mark

which(1): shows full path of commands - Linux man page

install

# Windows 10
scoop install which

resource

mark

Whishper

install

git clone --depth=1 https://github.com/openai/whisper
cd whisper
uv venv
.venv\Scripts\activate
uv pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
uv pip install -e .

usage

whisper --model large-v3 --device cuda --language Chinese --output_format srt <input>

xan

xan is a command line tool that can be used to process CSV files directly from the shell.
It has been written in Rust to be as fast as possible, use as little memory as possible, and can very easily handle large CSV files (Gigabytes). It leverages a novel SIMD CSV parser and is also able to parallelize some computations (through multithreading) to make some tasks complete as fast as your computer can allow.
It can easily preview, filter, slice, aggregate, sort, join CSV files, and exposes a large collection of composable commands that can be chained together to perform a wide variety of typical tasks.
xan also offers its own expression language so you can perform complex tasks that cannot be done by relying on the simplest commands. This minimalistic language has been tailored for CSV data and is way faster than evaluating typical dynamically-typed languages such as Python, Lua, JavaScript etc.
Note that this tool is originally a fork of BurntSushi's xsv, but has been nearly entirely rewritten at that point, to fit SciencesPo's médialab use-cases, rooted in web data collection and analysis geared towards social sciences (you might think CSV is outdated by now, but read our love letter to the format before judging too quickly).
xan therefore goes beyond typical data manipulation and expose utilities related to lexicometry, graph theory and even scraping.
Beyond CSV data, xan is able to process a large variety of CSV-adjacent data formats from many different disciplines such as web archival (.cdx) or bioinformatics (.vcf, .gtf, .sam, .bed etc.). xan is also able to convert to & from many data formats such as json, excel files, numpy arrays etc. using xan to and xan from. See this section for more detail.
Finally, xan can be used to display CSV files in the terminal, for easy exploration, and can even be used to draw basic data visualisations. [medialab/xan]

xan是一个命令行工具,可以直接从shell处理CSV文件。
它是用Rust编写的,旨在尽可能快速,占用最少内存,并能轻松处理大型CSV文件(达到千兆字节级别)。它利用了一种新颖的SIMD CSV解析器,并能够通过多线程并行化一些计算,使某些任务能以计算机能够允许的最快速度完成。
xan能够轻松预览、筛选、切片、聚合、排序、连接CSV文件,并提供了一大堆可组合的命令,这些命令可以链式组合以执行各种典型任务。
xan还提供了自己的表达式语言,使您能够执行一些无法仅依靠最简单命令完成的复杂任务。这种极简的语言专为CSV数据而设计,其速度远快于评估典型的动态类型语言(如Python、Lua、JavaScript等)。
请注意,这个工具最初是BurntSushi的xsv的一个分支,但在那时几乎完全重写,以适应巴黎政治学院(SciencesPo)médialab的使用案例,根植于针对社会科学的网络数据收集和分析(您可能认为CSV现在已经过时,但请在过快判断之前,阅读我们对这种格式的情书)。
因此,xan超越了典型的数据操作,提供与词汇计量学、图论甚至抓取相关的实用工具。
除了CSV数据外,xan还能够处理许多来自不同学科的CSV相邻数据格式,例如Web归档(.cdx)或生物信息学(.vcf、.gtf、.sam、.bed等)。xan还能够通过xan to和xan from在许多数据格式之间进行转换,如JSON、Excel文件、NumPy数组等。有关更多详细信息,请参见这一部分。
最后,xan可以用于在终端中显示CSV文件,以便于探索,甚至可以用于绘制基本的数据可视化图表。 [medialab/xan]

install

# Arch
sudo pacman -S xan
# Windows 10
scoop install xan

annex

xargs

A program called xargs can be used to execute a program multiple times. It reads the standard input and converts it into arguments for another program. [Petr Stříbný, "Command Line Handbook"]

一个名为xargs的程序可以用于多次执行一个程序。它读取标准输入并将其转换为另一个程序的参数。[Petr Stříbný, "Command Line Handbook"]

reference

-#document xargs(1) - Linux manual page

xsv

install

# Cargo
cargo install --force xsv

xsv

yoga

install

pipx install yoga

usage

yoga image --resize 1920 "$1" _yoga.png

yq

install

# Arch
sudo pacman -S yq
# Windows 10
scoop install yq

yt-dlp

yt-dlp is a feature-rich command-line audio/video downloader with support for thousands of sites. [yt-dlp/yt-dlp]

yt-dlp是一个功能丰富的命令行音频/视频下载器,支持数千个网站。 [yt-dlp/yt-dlp]

install

# Arch
sudo pacman -S yt-dlp
# Windows 10
scoop install yt-dlp

usage

command

1

# List available formats for a given URL
yt-dlp -F "<url_1>"

# Download specific video and audio formats using their IDs
yt-dlp -f "<video_id>+<audio_id>" "<url_1>"

# Download the best video and audio available
yt-dlp -f bestvideo+bestaudio "<url_1>"

# Download MP3 using yt-dlp
yt-dlp -x --audio-format mp3 --audio-quality 320k -o "%(title)s.%(ext)s" "<url_1>"

# List playlist
yt-dlp --flat-playlist --print "%(webpage_url)s" "<url>"

# Download subtitle
yt-dlp --skip-download --write-auto-subs --sub-langs en --convert-subs srt --no-check-certificate "<url>"

troubleshoot

2

  1. Get yt-dlp-ChromeCookieUnlock.zip from release.
  2. Decompress it to yt-dlp-ChromeCookieUnlock/.
  3. Move yt-dlp-ChromeCookieUnlock\ into C:\Users\User\AppData\Roaming\yt-dlg\plugins\.

appdedix

ZonyLrcToolsX

install

# Arch
yay -S --noconfirm zonylrctools-bin

usage

zonylrctools download -d "$1" -l -n 2

zoxide

install

# Arch
sudo pacman -S zoxide
# Windows 10
scoop install zoxide

bin_arch

cross-reference

mark

later

extra

cache

resource

later

cache

asciinema

install

sudo pacman -S asciinema

reference

resource

mark

cache

asdf

install

yay -S --noconfirm asdf-vm

usage

asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby
asdf install ruby 2.7.2
asdf set -u ruby 2.7.2

reference

Atuin

install

sudo pacman -S atuin

reference

troubleshoot

bombadillo

cmus

install

sudo pacman -S cmus

usage

cmus
# cmus
:a <music_dir>

reference

firewalld

install

sudo pacman -S firewalld

usage

sudo systemctl enable --now firewalld
# Optional
sudo firewall-cmd --get-default-zone
sudo firewall-cmd --list-all-zones
sudo firewall-cmd --zone=home --list-all
ip a
sudo firewall-cmd --zone=home --change-interface={<wired_interface>,<wireless_interface>}
sudo firewall-cmd --get-services
sudo firewall-cmd --permanent --zone=home --add-service={ftp,samba,samba-dc,vnc-server}
# docker ps
# sudo firewall-cmd --zone=home --add-port=<docker_port>/tcp --permanent
sudo firewall-cmd --set-default-zone=home
sudo firewall-cmd --reload
sudo firewall-cmd --zone=home --list-all
sudo firewall-cmd --zone=work --list-all
sudo firewall-cmd --zone=work --change-interface=<wired_interface>
sudo firewall-cmd --permanent --zone=work --add-service=vnc-server
sudo firewall-cmd --reload
sudo firewall-cmd --set-default-zone=work
sudo firewall-cmd --zone=work --list-all

reference

Flatpak

install

Arch

1 2

sudo pacman -S flatpak
sudo reboot
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Ubuntu 24

3 4

sudo add-apt-repository ppa:flatpak/stable
sudo apt update
sudo apt install flatpak
sudo apt install gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
reboot
export GIO_MODULE_DIR=/usr/lib/x86_64-linux-gnu/gio/modules/
flatpak install flathub

usage

command

flatpak install flathub <application_id>
flatpak uninstall <application_id>
flatpak list --app
# flatpak install flathub com.qq.QQ
# flatpak install flathub com.wps.Office
# flatpak install flathub com.baidu.NetDisk

FTP

install

1

# Ubuntu 22 ARM
sudo apt install vsftpd

config

sudo vim /etc/vsftpd.conf
utf8_filesystem=YES

usage

sudo systemctl enable --now vsftpd

gradient-figlet

appdedix

gradient-figlet

Jackett Search Cli

install

Termux

Jackett → API Key → <copy_from>.

pkg install jq fzf
git clone --depth=1 https://github.com/rodrigo-sys/jsc
cd jsc
chmod +x jsc
vim jsc
api_key='<paste_to>'

usage

jsc -t <tracker> -s "<to_search>"
jsc -t <tracker> -s "<to_search>" | xargs -n 1 -r aria2

cross-reference

mark

keyd

install

sudo pacman -S keyd

usage

sudo systemctl enable keyd --now
sudo vim /etc/keyd/default.conf
# Copy from https://github.com/rvaiya/keyd?tab=readme-ov-file#recommended-config
[ids]

*

[main]

# shift = oneshot(shift)
# meta = oneshot(meta)
# control = oneshot(control)
# leftalt = oneshot(alt)
# rightalt = oneshot(altgr)
capslock = overload(control, esc)
insert = S-insert
sudo keyd reload

man-db

install

sudo pacman -S man-db

usage

sudo mandb

annex

menyoki

install

sudo pacman -S menyoki

usage

command

# Record 30 frames per second and encode as APNG
menyoki record apng --fps 30

Mount

Arch

(Un)mount in Thunar

1

# sudo pacman -S gvfs-smb
logout
# Re-login

Mount NTFS disk

sudo pacman -S ntfs-3g
sudo mkdir /mnt/<mount_name>
# Be careful not to format the other drive.
lsblk
sudo mount -t ntfs-3g /dev/<disk_partition> /mnt/<mount_name>
sudo blkid
sudo mount -t ntfs-3g UUID=<disk_partition_uuid> /mnt/<mount_name>

Mount NTFS disk on boot

# Get the uid
id -u $USER
sudo cp /etc/fstab /etc/fstab.bak
sudo vim /etc/fstab
UUID=<disk_uuid> /mnt/<mount_name> ntfs-3g default,uid=<uid> 0 0

Mount Samba Share

sudo pacman -S cifs-utils
sudo mkdir /mnt/<mount_name>
sudo mount -t cifs //<your_host>/<share_name> /mnt/<mount_name> -o username=<smb_user>,password=<smb_passwd>

Mount Samba Share after boot

vim <path_to>/smb_credentials
username=<smbuser>
password=<smbuser_passwd>
chmod 600 <path_to>/smb_credentials
vim ~/mount.sh
!/bin/bash
bin/mount -t cifs //<your_host>/<share_name> /mnt/<mount_name> -o uid=1000,gid=1000,credentials=<path_to>/smb_credentials,file_mode=0664,dir_mode=0775
chmod +x ~/mount.sh
sudo vim ~/.config/systemd/system/mount.service
[Unit]
Description=Mount
After=network.target

[Service]
Type=oneshot
ExecStart=/home/<user>/mount.sh
ExecStop=/bin/umount /mnt/<mount_name>
RemainAfterExit=yes

[Install]
WantedBy=default.target
# sudo systemctl enable --now mount-smb.service
sudo systemctl daemon-reload
sudo mount -a
sudo systemctl enable mount.service

reference

Mutt

install

sudo pacman -S mutt

reference

NeoMutt

install

sudo pacman -S neomutt

NetworkManager

install

sudo pacman -S networkmanager

usage

# sudo systemctl stop netctl
# sudo systemctl disable netctl
sudo systemctl enable --now networkmanager

optional

# Enable system tray
sudo pacman -S network-manager-applet

reference

Newsboat

install

sudo pacman -S newsboat

config

1

mkdir ~/.config/newsboat
vim ~/.config/newsboat/config
include /usr/share/doc/newsboat/contrib/colorschemes/plain
vim ~/.config/newsboat/urls
https://hnrss.org/newest

usage

newsboat -i <your>.opml
newsboat

reference

resource

cache

Open Codex CLI

install

git clone --depth=1 https://github.com/codingmoh/open-codex
cd open-codex
uv venv --python=3.11
.venv\Scripts\activate
uv pip install .

usage

open-codex "untar file abc.tar"

Open Codex CLI

install

pnpm i -g open-codex

usage

git clone --depth=1 https://github.com/openai/openai-fm
cd openai-fm
open-codex --provider ollama --model qwen2.5-coder:7b
open-codex --provider ollama --full-context --model qwen2.5-coder:7b

OpenSSh

install

1

sudo pacman -S openssh

usage

sudo systemctl enable --now sshd
# sudo ufw allow 22/tcp
# ip addr show

Enable Pubkey Authentication

sudo vim /etc/ssh/sshd_config
PubkeyAuthentication yes
# AuthorizedKeysFile ...
PasswordAuthentication no
sudo systemctl restart sshd
ssh-keygen -t rsa -b 2048 -f ~/.ssh/id_rsa
# Copy from ~/.ssh/id_rsa.pub

Client PC:

mkdir ~/.ssh
vim ~/.ssh/authorized_keys
vim ~/.ssh/authorized_keys2
# Paste into
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys*

pass

install

sudo pacman -S pass
pass init <your_email>
pass insert <key_name>
pass show <key_name>

cross-reference

mark

Plandex

install

1 2

# ArchWSL
git clone --depth=1 https://github.com/plandex-ai/plandex
cd plandex/app
sudo ./start_local.sh
# In a new terminal session
curl -sL https://plandex.ai/install.sh | bash

usage

cd <repo>
plandex

Ranger

install

sudo pacman -S ranger

resource

cache

sdcv

install

sudo pacman -S sdcv

config

vim <stardict>.ifo
bookname=<english_name>

usage

sdcv <word>

reference

resource

cache

asset

sddm

install

sudo pacman -S sddm

usage

sudo systemctl enable --now sddm

Terminus Font

install

1 2

# Ubuntu 22 ARM
showconsolefont
ls /user/share/kbd/showconsolefont
sudo pacman -S terminus-font
setfont drdos8x14 -m 8859-2

TeX Live

install

1 2

# Arch
yay -S --noconfirm texlive-installer
# Termux
pkg install texlive-installer
# Arch
sudo /opt/texlive-installer/install-tl
sudo /usr/local/texlive/2024/bin/x86_64-linux/tlmgr option repository https://mirrors.cernet.edu.cn/CTAN/systems/texlive/tlnet
tlmgr update --list
sudo /usr/local/texlive/2024/bin/x86_64-linux/tlmgr update --all
# Termux
termux-install-tl

usage

command

tlmgr search --global <pkg>

Upgrade from 2024 to 2025

3

sudo cp -a /usr/local/texlive/2024 /usr/local/texlive/2025
cd /usr/local/texlive/2025
sudo wget https://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sudo PATH=$PATH ./update-tlmgr-latest.sh -- --upgrade texlive/2025
sudo /usr/local/texlive/2025/bin/x86_64-linux/tlmgr option repository https://mirrors.cernet.edu.cn/CTAN/systems/texlive/tlnet
sudo /usr/local/texlive/2025/bin/x86_64-linux/tlmgr update --self --all
luaotfload-tool -fu

command

pdflatex --shell-escape "$1"

cross-reference

mark

Translate Shell

install

sudo pacman -S translate-shell

config

mkdir ~/.config/translate-shell
vim ~/.config/translate-shell/init.trans
{
	:translate-shell "0.9.0"
	:verbose         false
	:show-original   false
	:hl              "en"
	:tl              ["zh"]
	:engine          "bing"
}

ufw

install

sudo pacman -S ufw

usage

sudo systemctl enable --now ufw
sudo ufw status

reference

yay

install

# Enable [archlinuxcn]. Refer to https://www.archlinuxcn.org/archlinux-cn-repo-and-mirror
sudo pacman -Syu yay

From source

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg
sudo pacman -U yay-bin*.pkg.tar.xz
yay

z

resource

cache

zeal-lynx-cli

install

git clone --depth=1 https://github.com/Sanix-Darker/zeal-lynx-cli
uv venv
.venv\Scripts\activate
uv pip install argparse xdg==5.1.1 pathlib bs4

usage

# Put docset files into C:\Users\User\Scoop\apps\zeal\current\docsets\Vim.docset\Contents\Resources\Documents
python zeal-cli --zeal-prefix C:\Users\User\Scoop\apps\zeal\current vim arabic

Pacman

install

1 2

sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
sudo vim /etc/pacman.d/mirrorlist
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
sudo vim /etc/pacman.conf
[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch
# Default
# sudo pacman -Sy archlinux-keyring
# sudo pacman-key --init
# sudo pacman-key --populate archlinux
# Enable archlinuxcn
sudo pacman -Sy archlinuxcn-keyring
sudo pacman-key --init
sudo pacman-key --populate

usage

3

# Refreshes the package database and upgrades all installed packages.
# export http_proxy=your_proxy:<port>
# export https_proxy=your_proxy:<port>
pacman -Syyu
# unset http_proxy
# unset https_proxy
# Additional tools for pacman.
sudo pacman -S pacman-contrib
# Removes older versions of packages from the cache, keeping only the two most recent versions for each one.
sudo paccache -rk 2
# removes all orphaned packages plus their unused dependencies and their configuration files, cleaning up your system from packages that are no longer required.
sudo pacman -Rns $(pacman -Qdtq)

cross-reference

mark

resource

cache

1 USTC Mirror Help - Arch Linux 2 Arch Linux 中文社区仓库 3 10 Things You MUST DO After Installing Arch Linux (2023)

Fuzzy-pkg-finder

install

yay -S --noconfirm fuzzy-pkg-finder

Paru

install

yay -S --noconfirm paru

tmux

install

sudo pacman -S tmux

usage

command

# Save session
tmux detach

# Restore session
tmux attach

reference

cross-reference

mark

cache

troubleshoot

resource

mark

cache

cancel

annex

git clone --depth=1 https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
git clone --depth=1 https://github.com/jimeh/tmuxifier ~/.tmuxifier
chmod +x ~/.tmuxifier/bin/tmuxifier
~/.tmux/plugins/tpm/bin/install_plugins

appdedix

color_vanta

tmux-thumbs

install

# Cargo
cargo install --force thumbs

Tmuxifier

install

git clone --depth=1 https://github.com/jimeh/tmuxifier ~/.tmuxifier

config

# .zshrc
export PATH="$HOME/.tmuxifier/bin:$PATH"
export TMUXIFIER_LAYOUT_PATH="$HOME/Usr/Git/Shell/_arch/tmuxifier"
export TMUXIFIER_TMUX_OPTS=""
eval "$(tmuxifier init -)"

tmuxp

install

# Pip
uv tool install tmuxp

usage

mkdir ~/.config/tmuxp
cd ~/.config/tmuxp
vim user.yaml
# Refer to https://tmuxp.git-pull.com/configuration/index.html
tmuxp load user

annex

Zellij

install

sudo pacman -S zellij

config

vim ~/.zshrc
export ZELLIJ_CONFIG_DIR="$HOME/.config/zellij"
export ZELLIJ_CONFIG_FILE="$HOME/.config/zellij/user.kdl"

zellij_tab_name_update() {
  if [[ -n $ZELLIJ ]]; then
    local current_dir=$PWD
    if [[ $current_dir == $HOME ]]; then
      current_dir="~"
    else
      current_dir=${current_dir##*/}
    fi
      command nohup zellij action rename-tab $current_dir >/dev/null 2>&1
      fi
}
zellij_tab_name_update
chpwd_functions+=(zellij_tab_name_update)

alias zw='zellij --layout=swap'

reference

cross-reference

mark

resource

cache

zjstatus & zjframes

install

mkdir $HOME/.config/zellij/plugins
curl -L -o $HOME/.config/zellij/plugins/zjframes.wasm https://github.com/dj95/zjstatus/releases/download/v0.21.0/zjframes.wasm
curl -L -o $HOME/.config/zellij/plugins/zjstatus.wasm https://github.com/dj95/zjstatus/releases/download/v0.21.0/zjstatus.wasm

Zsh

Zsh, short for the Z shell, is an extended Unix shell designed for interactive use and scripting. It blends features from several shells (bash, ksh, tcsh) and adds many enhancements for usability, customization, and power. [perplexity.ai]

Zsh是Z shell的缩写,是一种扩展的Unix shell,旨在用于交互式使用和脚本编写。它融合了多个shell(bash、ksh、tcsh)的特性,并增加了许多增强功能,以提升可用性、自定义和功能强大性。 [perplexity.ai]

install

sudo pacman -S zsh zsh-completions

reference

cross-reference

mark

cache

troubleshoot

resource

mark

later

cache

annex

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/subnixr/minimal  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/minimal
git clone --depth=1 https://github.com/const-void/rose-pine-man ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/rose-pine-man
rm ~/.zshrc
git init
git remote add origin https://github.com/scillidan/dotfiles
git branch -M main
git pull origin main

wd

usage

# For example
wd addcd ~/.config conf
wd addcd ~/.config/nvim
wd addcd ~/.config/zsh

zpy

usage

# Arch
mkdir .<dir>
cd .<dir>
envin
pipi <pkg>
vlauncher ~/Usr/Shell/.<dir> <pkg> ~/.local/bin/pyglossary
da8
<pkg>

zsh-abbr

reference

resource

cache

zsh-ssh

reference

Zsh-z

config

vim .zshrc
zinit wait lucid for agkozak/zsh-z

# https://github.com/agkozak/zsh-z/issues/66
zz() {
  cd "$(zshz -l 2>&1 | sed 's/^[0-9,.]* *//' | fzf -q "$_last_z_args")"
}

bin_windows

cross-reference

mark

cache

resource

mark

extra

cache

Chocolatey

install

1

As Administrator:

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

ExifTool

install

# Windows 10
scoop install exiftool

reference

mingw-w64

install

# Windows 10
scoop install mingw

appdedix

mingw

Mintty

appdedix

mintty

NSSM

reference

NTop

install

scoop install ntop

SVG to PNG converter

usage

command

svg2png "$1" -w <width>
# For docset
svg2png icon.svg -w 16 icon.png
svg2png icon.svg -w 32 icon@2x.png

Clink

Clink is a Windows-oriented replacement/extension for the cmd.exe shell that brings GNU Readline-style features into the Windows command prompt. It integrates with an existing cmd.exe process, providing enhanced editing, history, completion, and scripting capabilities to make the Windows command line behave more like a Unix-style shell. [perplexity.ai]

Clink是一个面向Windows的替代/扩展版本的cmd.exe shell,它将GNU Readline风格的功能引入Windows命令提示符。它与现有的cmd.exe进程集成,提供增强的编辑、历史记录、补全和脚本功能,使Windows命令行的行为更接近Unix风格的shell。 [perplexity.ai]

reference

cross-reference

mark

extra

resource

mark

later

cache

annex

FZF integration for Clink

config

git clone --depth=1 https://github.com/chrisant996/clink-fzf
cd clink-fzf
cp fzf.lua fzf.lua.bak
subl fzf.lua
-- Optional: Change keybind
local function apply_default_bindings()
  if settings.get("fzf.default_bindings") then
		-- Add the following
		-- C-i / Tab
		rl.setbinding([["\C-I"]], [["luafunc:fzf_selectcomplete_force"]])
		-- Tab
		rl.setbinding([["\t"]], [["luafunc:fzf_complete_force"]])
		-- C-Spc
		rl.setbinding([["\e[27;5;32~"]], [["luafunc:fzf_complete"]])
		rl.setbinding([["\C-@"]], [["luafunc:fzf_complete"]])

reference

Clink Gizmos

install

git clone --depth=1 https://github.com/chrisant996/clink-gizmos
cd clink-gizmos
rm "%CMDER_ROOT%\vendor\fuzzy_history.lua"
mklink "%CMDER_ROOT%\vendor\fuzzy_history.lua" "%cd%\fuzzy_history.lua"

Clink Setup

install

scoop install https://raw.githubusercontent.com/narnaud/scoop-bucket/refs/heads/master/bucket/clink-terminal.json

usage

cmd.exe /s /k clink-terminal

zoxide support for clink

install

git clone --depth=1 https://github.com/shunsambongi/clink-zoxide
cd clink-zoxide
rm "%CMDER_ROOT%\vendor\zoxide.lua"
mklink "%CMDER_ROOT%\vendor\zoxide.lua" "%cd%\zoxide.lua"

PowerShell

install

scoop install pwsh

cross-reference

cache

resource

cache

PowerSession

install

scoop install powersession-rs

usage

powersession rec file.cast
powersession play file.cast

Scoop

install

1 2 3

Set-ExecutionPolicy ByPass -Scope Process -Force
# If scoop installed or need installing second scoop (into a NTFS mount), 
# Remove any `scoop` in PATH and Modify following two in ENV. Until the installation is complete.
$env:SCOOP='<path_to>\Scoop'
$env:SCOOP_GLOBAL='<path_to>\Scoop'
[Environment]::SetEnvironmentVariable('SCOOP_GLOBAL', $env:SCOOP_GLOBAL, 'Machine')
Get-ChildItem Env:
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"

Or Download Source code (zip) from Releases.

set SCOOP_PORTABLE=U:\Usr\Scoop
mkdir -p %SCOOP_PORTABLE%\apps\scoop
unzip "<path_to>\Scoop-0.5.3.zip"
mv <path_to>\Scoop-0.5.3 %SCOOP_PORTABLE%\apps\scoop\current
git clone --depth=1 https://github.com/ScoopInstaller/Main %SCOOP_PORTABLE%\buckets\main
iex "& {$(irm get.scoop.sh)} -RunAsAdmin"

usage

# Install pkg
# scoop update innounp
scoop install <pkg>
scoop install https://raw.githubusercontent.com/Calinou/scoop-games/refs/heads/master/bucket/doukutsu-rs.json
# Clean up old installed version
scoop cleanup *
# Only download pkg files
scoop download <pkg>
# Show local pkg files
scoop cache show
scoop cache rm *

Update scoop

scoop update scoop

Or4:

cd <path_to>\Scoop\apps\scoop\current
git fetch
git pull

Add bucket

scoop bucket add extras
scoop bucket add nonportable
scoop bucket add nirsoft
scoop bucket add versions
scoop bucket add java

Or:

cd <path_to>\Scoop\buckets
# git clone --depth=1 https://github.com/ScoopInstaller/Main
git clone --depth=1 https://github.com/ScoopInstaller/Extras
git clone --depth=1 https://github.com/ScoopInstaller/Nonportable
git clone --depth=1 https://github.com/kodybrown/scoop-nirsoft
git clone --depth=1 https://github.com/ScoopInstaller/Versions
git clone --depth=1 https://github.com/ScoopInstaller/Java

reference

cross-reference

mark

cache

resource

mark

cache

BucketTemplate

reference

Reference examples

scoop-search

install

scoop install scoop-search

git

install

# Arch
sudo pacman -S git
# Windows 10
scoop install git

config

# Linux
git config --global core.autocrlf input
# Windows
git config --global core.autocrlf true
git config --global core.editor "subl --new-window --wait"

usage

command

# Config
git config --global user.email "user@email.com"
git config --global user.name "username"
# Init
git init
git remote add origin https://github.com/<user>/<repo>
git branch -M main
# Push
# git diff
git add <file1> <dir1> <dir2>
# git status
git commit -m "<commit_info>"
# git push -u origin main
git push
# Pull
# git pull origin main
git pull
# Push tag
# git tag -d v0.0.1
# git push --delete origin v0.0.1
git tag v0.0.1
git push origin v0.0.1
# Temporary save
git stash
# Push a PR
git checkout -b <branch>
git add <file>
git commit -m "<commit>"
git push origin <branch>
# Clear Up after finishing PR
git push origin --delete <branch>
git branch -d <branch>
# Undo and re-push
git fetch --all
git reset --hard <commit-hash>
# git reset --hard HEAD~1
git push --force origin <branch>
# Rebase the above 3 commit
git rebase -i HEAD~3
# Then edit the following.
# pick <the first commit>
# squash <will merge into first commit>
# squash <will merge into first commit>
# Other
git config --global http.proxy "socks5://127.0.0.1:<port>"
git config --global --unset http.proxy
git config --global http.sslVerify false
git config --global http.sslVerify true

reference

cross-reference

mark

later

extra

cache

resource

mark

later

extra

cache

Gist

reference

Commitizen for contributors

install

# Node.js
pnpm add -g commitizen

git-branchless

git-branchless is a Rust-based suite of Git tools that enhances workflows for easier use, greater flexibility, and faster performance in large repositories or monorepos. It supports patch-stack development like Linux kernel workflows, offers commands such as git undo and git restack, and visualizes history via the smartlog (git sl). [perplexity.ai]

git-branchless 是一套基于 Rust 开发的 Git 工具套件,旨在提升工作流效率,使其更易用、更灵活,并在大型代码库或单体仓库中实现更快的性能。它支持类似 Linux 内核工作流的补丁栈开发模式,提供诸如 git undo 和 git restack 等命令,并通过智能日志(git sl)可视化历史记录。 [perplexity.ai]

install

# Windows 10
scoop install git-branchless

usage

git branchless init
git branchless init --uninstall

git-cliff

git-cliff is a highly customizable changelog generator that analyzes Git history using conventional commits and regex-powered parsers to produce formatted changelogs. The tool supports configuration files for tailoring output and integrates well with Rust, Node.js, or Python projects. [perplexity.ai]

git-cliff 是一个高度可自定义的变更日志生成工具,它通过分析 Git 提交历史,基于约定式提交规范和正则表达式解析器来生成格式化的变更日志。该工具支持通过配置文件灵活定制输出内容,并能够很好地集成到 Rust、Node.js 或 Python 项目中。 [perplexity.ai]

install

# Windows 10
scoop install git-cliff

usage

cd <proj>
git cliff --config detailed
git cliff
git cliff -o

reference

git-crypt

install

# Arch
sudo pacman -S git-crypt
# Windows 10
scoop install git-crypt

usage

cd <repo>
vim .gitattributes
<secretfile> filter=git-crypt diff=git-crypt
<secretdir/**> filter=git-crypt diff=git-crypt
git-crypt init
# git-crypt add-gpg-user <gnupg_id>
# git-crypt unlock
git-crypt export-key <path_to>/git-crypt_key_<repo>
git-crypt status
git-crypt unlock <path_to>/git-crypt_key_<repo>

With chezmoi

chezmoi init
chezmoi add ~/.gnupg
cd ~/.local/share/chezmoi
vim ~/.config/chezmoi/.chezmoiignore
* filter=git-crypt diff=git-crypt
git-crypt export-key <path_to>/git-crypt_key
git-crypt status
chezmoi cd
# chezmoi
git remote add origin https://github.com/<user>/<repo>
git branch -M main
git add .
git commit -m "<commit>"
git push -u origin main

git-filter-repo

git-filter-repo is a Git add‑on that lets you rewrite an entire repository’s history efficiently, making it a modern replacement for git filter-branch and an alternative to BFG Repo Cleaner. It is typically used to remove or edit sensitive data, shrink repo size, or rearrange directories and tags across all commits. [perplexity.ai]

是一个 Git 附加工具,能让你高效地重写整个仓库的历史记录,可作为 git filter-branch 的现代替代方案,也可取代 BFG Repo Cleaner。它通常用于删除或编辑敏感数据、压缩仓库大小,或者在所有提交中重新组织目录和标签。 [perplexity.ai]

install

# Windows 10
scoop install git-filter-repo

git-sync

install

git clone --depth=1 https://github.com/simonthum/git-sync
cd git-sync

usage

git config --bool branch.main.sync true
git-sync

gitleaks

install

# Arch
sudo pacman -S gitleaks
# Windows 10
scoop install gitleaks

gptcommit

install

# Arch
yay -S --noconfirm gptcommit-bin
# Cargo
cargo install --force gptcommit

config

Add into environment:

GPTCOMMIT__OPENAI__API_KEY=<openai_apikey>
GPTCOMMIT__OPENAI__API_BASE=<openai_base_url>
GPTCOMMIT__OPENAI__MODEL=<openai_model>

Lazygit

install

# Arch
sudo pacman -S lazygit
# Windows 10
scoop install lazygit

annex

multi-git-status

install

# Arch
yay -S --noconfirm multi-git-status

GitHub CLI

GitHub CLI is a command-line tool that lets you interact with GitHub directly from your terminal. It brings core GitHub features—such as managing repositories, issues, pull requests, and workflow runs—into the shell, so you can perform common GitHub tasks without switching to a web browser. It’s maintained by GitHub and is open source, available for macOS, Windows, and Linux. [perplexity.ai]

GitHub CLI是一个命令行工具,让您可以直接从终端与GitHub互动。它将核心GitHub功能——如管理仓库、问题、拉取请求和工作流运行——集成到shell中,因此您可以在不切换到网页浏览器的情况下执行常见的GitHub任务。它由GitHub维护,开源,适用于macOS、Windows和Linux。 [perplexity.ai]

install

# Arch
sudo pacman -S github-cli
# Windows 10
scoop install gh

config

# Windows 10
set "GH_CONFIG_DIR=%USERPROFILE%\.config\gh"

usage

gh auth login
gh extension install <user/repo>
gh extension remove <user/repo>
gh repo set-default
gh pr list
gh pr list --search "add version" --state merged --limit 200

cross-reference

mark

extra

resource

later

cache

gh-clone-org

install

gh extension install matt-bartel/gh-clone-org

gh download

install

gh extension install yuler/gh-download

Github CLI Extension: Tidy

gh tidy does several things:

  • Checks out master/main and pulls the latest from remote origin
  • Runs 'git gc' to clean up unnecessary files & optimize your local repo
  • Checks your local branches for ones that show as merged to master, and asks for your permission to delete them
  • Checks your local branches for ones that have their corresponding pull requests merged, and asks for your permission to delete them
  • If flagged, rebases all your local branches to the latest master [HaywardMorihara/gh-tidy]

gh tidy执行几个操作:

  • 检出master/main并从远程origin拉取最新内容
  • 运行'git gc'清理不必要的文件并优化本地仓库
  • 检查本地分支中是否有已合并到master的分支,并询问您是否删除它们
  • 检查本地分支中是否有其对应的拉取请求已合并的分支,并询问您是否删除它们
  • 如果被标记,重新基于最新的master合并您所有的本地分支 [HaywardMorihara/gh-tidy]

install

gh extension install HaywardMorihara/gh-tidy

Neovim

Neovim is a Vim-based text editor engineered for extensibility and usability, to encourage new applications and contributions. [neovim.io]

Neovim是一个基于Vim的文本编辑器,旨在提高可扩展性和可用性,以鼓励新的应用程序和贡献。 [neovim.io]

install

# Arch
sudo pacman -S neovim
# Windows 10
scoop insatll neovim

Build from source

1 2 3

# Ubuntu 22 ARM
sudo apt-get install ninja-build gettext cmake unzip curl
  1. Get Source code from Neovim - Releases.
  2. Decompress it to neovim/.
cd neovim
# rm -r build
make CMAKE_EXTRA_FLAGS="-DCMAKE_INSTALL_PREFIX=$HOME/neovim"
make install
ln -s ~/neovim/bin/nvim ~/.local/bin/
# rm -rf ~/.local/share/nvim/lazy/
nvim

Neovim headless service

Not recommended. I suspect it once kill my RPI-5's os.

On Ubuntu 24 ARM:

vim ~/.config/systemd/user/nvim-headless.service
[Unit]
Description=Start Neovim Headless Server

[Service]
ExecStart=nvim --headless --listen 0.0.0.0:1234
Restart=on-failure
User=<username>

[Install]
WantedBy=default.target
systemctl --user daemon-reload
systemctl --user enable --now nvim-headless

On Windows10:

C:\Users\User\Scoop\apps\git\current\usr\bin\ssh.exe <username>@<your_host> -L 1234:0.0.0.0:1234 -- /home/<your_host>/.local/bin/nvim --headless --listen 0.0.0.0:1234
neovide --server <your_host>:1234

reference

cross-reference

mark

extra

cache

resource

mark

later

cache

cancel

cmp-lsp-rimels

reference

cross-reference

cache

godotdev.nvim

install

uv tool install gdtoolkit
uv tool install neovim-remote

config

  • Godot -> Editor -> Editor Settings -> Text Editor -> External
    • Use External Editor (On)
    • Exec Path /usr/bin/neovide
    • Exec Flag --frame=none {file}

lazy.nvim

install

# Alternative installation methods on Windows 10
git clone https://github.com/folke/lazy.nvim %LOCALAPPDATA%\nvim-data\lazy\lazy.nvim

troubleshoot

LuaSnip

reference

resource

cache

LunarVim

config

1

# Windows 10
set "XDG_DATA_HOME=%APPDATA%"
set "XDG_CONFIG_HOME=%USERPROFILE%\AppData\Local"
set "XDG_CACHE_HOME=%LocalAppData%\Temp"
set "XDG_RUNTIME_DIR=%LocalAppData%\Temp"
set "LUNARVIM_BASE_DIR=%APPDATA%\lunarvim\lvim"
set "LUNARVIM_CACHE_DIR=%LocalAppData%\Temp\lvim"
set "LUNARVIM_CONFIG_DIR=%LocalAppData%\lvim"
set "LUNARVIM_RUNTIME_DIR=%APPDATA%\lunarvim"

usage

lvim

reference

appdedix

lunarvim

mason.nvim

install

Fix

# Remove incomplete LSP installations
rm $XDG_DATA_HOME/nvim-data/manson/bin/<lsp>
rm -rf $XDG_DATA_HOME/nvim-data/manson/packages/<lsp>

reference

resource

mark

mini.nvim

resource

mark

cache

nvim-dap

reference

resource

mark

cache

nvim-treesitter

install

Fix

# Files installed by TS
$XDG_DATA_HOME/nvim-data/lazy/nvim-treesitter/parser
$XDG_DATA_HOME/nvim-data/lazy/nvim-treesitter/parser-info

reference

troubleshoot

resource

mark

cache

troubleshoot

obsidian.nvim

reference

packer.nvim

reference

vanta.nvim

appdedix

vanta.nvim

Blink Completion (blink.cmp)

reference

cross-reference

mark

troubleshoot

resource

mark

later

cache

blink-cmp-dictionary

install

yay -S --noconfirm wordnet-common
mkdir -p ~/.config/nvim/dictionary
wget ~/.config/nvim/dictionary/word.txt https://raw.githubusercontent.com/dwyl/english-words/refs/heads/master/words.txt

telescope.nvim

reference

cross-reference

mark

resource

mark

cache

Telescope-media-files.nvim

install

# Arch
sudo pacman -S ffmpegthumbnailer
yay -S --noconfirm pdftoppm epub-thumbnailer-git

Ollama

install

# Windows 10
scoop install ollama-full

usage

ollama pull llama3.1:8b
ollama pull deepseek-r1:8b
# ollama pull qwen2.5-coder:7b
ollama pull qwen3:14b
ollama pull nomic-embed-text
ollama list

config

1

Add into environment:

OLLAMA_HOST=0.0.0.0
OLLAMA_ORIGINS=*

reference

  • #blog [Navigating the World of Open-Source Large Language Models]https://www.bentoml.com/blog/navigating-the-world-of-large-language-models)

cross-reference

extra

gemma3-translator

install

ollama pull zongwei/gemma3-translator:4b

annex

improve-grammar

install

ollama pull gnokit/improve-grammar

usage

ollama run gnokit/improve-grammar "<text>"

Vim

install

# Arch
sudo pacman -S vim
# Windows 10
scoop install vim

config

1

vim ~/.vimrc
set tabstop=4
set shiftwidth=4
set noexpandtab

reference

cross-reference

cache

resource

cache

appdedix

gvim

Wim

config

# Windows 10
set "PYTHONHOME=%LocalAppData%\Programs\Python\Python310"
set "PYTHONPATH=%LocalAppData%\Programs\Python\Python310\python.exe"
set "PYTHONIOENCODING=UTF-8"
set "DYNAMIC_PYTHON3_DLL=%LocalAppData%\Programs\Python\Python310\python310.dll"

appdedix

wim

Yazi

Yazi is a blazing-fast terminal file manager written in Rust, designed around asynchronous I/O. It focuses on high performance, extensibility, and rich terminal UI features, making file exploration and management in the command line faster and more convenient for power users. Key highlights include full asynchronous I/O, real-time task management, multiple image and preview protocols, a plugin system, and tight integrations with common developer tooling. [sxyazi/yazi]

Yazi是一个以Rust编写的快速终端文件管理器,设计围绕异步I/O。它专注于高性能、可扩展性和丰富的终端用户界面特性,使得在命令行中的文件浏览和管理对高级用户来说更快速和便利。主要亮点包括完全的异步I/O、实时任务管理、多个图像和预览协议、插件系统,以及与常用开发工具的紧密集成。 [sxyazi/yazi]

install

# Arch
sudo pacman -S yazi
# Windows 10
scoop install yazi

config

1

# Arch
mkdir ~/.config/yazi/
# Windows 10
mkdir %AppData%\yazi\config

command

ya pkg add <pkg>
ya pkg upgrade

reference

cross-reference

later

cache

resource

mark

later

annex

ya pkg add gosxrgxx/flexoki-dark
ya pkg add gosxrgxx/flexoki-light
ya pkg add AnirudhG07/custom-shell
ya pkg add kirasok/epub-preview
ya pkg add lihuax-me/hevi
ya pkg add Lil-Dank/lazygit
ya pkg add boydaihungst/mediainfo
ya pkg add yazi-rs/plugins:piper
# Only Arch
ya pkg add NoponyAsked/sxiv
ya pkg add lpnh/fr
ya pkg add uhs-robert/recycle-bin

duckdb.yazi

install

ya add wylie102/duckdb
vim ~/.config/yazi/init.lua
require("duckdb"):setup()
vim ~/.config/yazi/yazi.toml
[plugin]
prepend_preloaders = [
	{ name = "*.csv", run = "duckdb", multi = false },
  { name = "*.tsv", run = "duckdb", multi = false },
  { name = "*.json", run = "duckdb", multi = false },
  { name = "*.parquet", run = "duckdb", multi = false },
  { name = "*.txt", run = "duckdb", multi = false },
  { name = "*.xlsx", run = "duckdb", multi = false },
]
prepend_previewers = [
  { name = "*.csv", run = "duckdb" },
  { name = "*.tsv", run = "duckdb" },
  { name = "*.json", run = "duckdb" },
  { name = "*.parquet", run = "duckdb" },
  { name = "*.txt", run = "duckdb" },
  { name = "*.xlsx", run = "duckdb" },
  { name = "*.db", run = "duckdb" },
  { name = "*.duckdb", run = "duckdb" },
]
vim ~/.config/yazi/keymap.toml
[[mgr.prepend_keymap]]
on = "H"
run = "plugin duckdb -1"
desc = "Scroll one column to the left"

[[mgr.prepend_keymap]]
on = "L"
run = "plugin duckdb +1"
desc = "Scroll one column to the right"

[[mgr.prepend_keymap]]
on = ["d", "o"]
run = "plugin duckdb -open"
desc = "open with duckdb"

[[mgr.prepend_keymap]]
on = ["d", "u"]
run = "plugin duckdb -ui"
desc = "open with duckdb ui"

whoosh.yazi

install

ya pkg add WhoSowSee/whoosh
vim ~/.config/yazi/init.lua
local bookmarks = {
	-- For example
	{ tag = "Downloads", path = "~/Downloads", key = { "d", "d" } },
	{ tag = "Usr", path = "~/Usr", key = { "d", "u" } },
}
-- Windows
if ya.target_family() == "windows" then
	local home_path = os.getenv("USERPROFILE")
	table.insert(bookmarks, {
		tag = "Scoop Local",
		path = os.getenv("SCOOP") or (home_path .. "\\scoop"),
		key = "p",
	})
end
require("whoosh"):setup({
	bookmarks = bookmarks,
	jump_notify = false,
	keys = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
	path = (ya.target_family() == "windows" and os.getenv("APPDATA") .. "\\yazi\\config\\bookmark")
		or (os.getenv("HOME") .. "/.config/yazi/bookmark"),
	path_truncate_enabled = false,
	path_max_depth = 3,
	fzf_path_truncate_enabled = false,
	fzf_path_max_depth = 5,
	path_truncate_long_names_enabled = false,
	fzf_path_truncate_long_names_enabled = false,
	path_max_folder_name_length = 20,
	fzf_path_max_folder_name_length = 20,
	history_size = 10,
	history_fzf_path_truncate_enabled = false,
	history_fzf_path_max_depth = 5,
	history_fzf_path_truncate_long_names_enabled = false,
	history_fzf_path_max_folder_name_length = 30,
})
vim ~/.config/yazi/keymap.toml
[[mgr.prepend_keymap]]
on = "["
run = "plugin whoosh jump_by_key"
desc = "Jump bookmark by key"

# Direct fuzzy search access
[[mgr.prepend_keymap]]
on = "}"
run = "plugin whoosh fuzzy"
desc = "Direct fuzzy search for bookmarks"

# Basic bookmark operations
[[mgr.prepend_keymap]]
on = ["]", "a"]
run = "plugin whoosh save"
desc = "Add bookmark (hovered file/directory)"

[[mgr.prepend_keymap]]
on = ["]", "A"]
run = "plugin whoosh save_cwd"
desc = "Add bookmark (current directory)"

# Temporary bookmarks
[[mgr.prepend_keymap]]
on = ["]", "t"]
run = "plugin whoosh save_temp"
desc = "Add temporary bookmark (hovered file/directory)"

[[mgr.prepend_keymap]]
on = ["]", "T"]
run = "plugin whoosh save_cwd_temp"
desc = "Add temporary bookmark (current directory)"

# Jump to bookmarks
[[mgr.prepend_keymap]]
on = ["]", "f"]
run = "plugin whoosh jump_by_fzf"
desc = "Jump bookmark by fzf"

# Delete bookmarks
[[mgr.prepend_keymap]]
on = ["]", "d"]
run = "plugin whoosh delete_by_key"
desc = "Delete bookmark by key"

[[mgr.prepend_keymap]]
on = ["]", "D"]
run = "plugin whoosh delete_by_fzf"
desc = "Delete bookmarks by fzf (use TAB to select multiple)"

[[mgr.prepend_keymap]]
on = ["]", "C"]
run = "plugin whoosh delete_all"
desc = "Delete all user bookmarks"

# Rename bookmarks
[[mgr.prepend_keymap]]
on = ["]", "r"]
run = "plugin whoosh rename_by_key"
desc = "Rename bookmark by key"

[[mgr.prepend_keymap]]
on = ["]", "R"]
run = "plugin whoosh rename_by_fzf"
desc = "Rename bookmark by fzf"

dev

reference

cross-reference

later

extra

cache

resource

cache

3D Printer

reference

cache

E-ink

reference

resource

cache

Printer

reference

resource

cache

GPi CASE 2

GPi CASE 2 is a handheld gaming case designed to house the Raspberry Pi Compute Module 4 (CM4). It transforms the CM4 into a portable retro gaming console resembling a Game Boy. The device includes a 3.0-inch IPS screen, a built-in 4000mAh lithium battery with USB-C charging, and various buttons including hidden rear X/Y and turbo/home buttons. It supports popular retro gaming software such as RetroPie and Recalbox, enabling users to play games from multiple retro platforms. Due to the nature of using the CM4, the GPi CASE 2 does not support using an SD card slot if the CM4 has built-in eMMC storage; instead, the storage size for games is limited to the eMMC capacity on the CM4. A "safe shutdown" script and display patches are often installed to optimize the system for this setup. The case is sold without the CM4 included, supporting various CM4 models including those with or without WiFi or eMMC.
In summary, GPi CASE 2 is a compact, Game Boy-inspired Raspberry Pi CM4 case for retro gaming emulation with enhanced performance over earlier versions that used Raspberry Pi Zero boards. [perplexity.ai]

GPi CASE 2是一个手持游戏盒,旨在容纳树莓派计算模块4(CM4)。它将CM4转变为一个便携式复古游戏机,外形类似于Game Boy。该设备包括一个3.0英寸IPS屏幕、内置4000mAh锂电池(支持USB-C充电),以及包括隐藏的后面X/Y按钮和涡轮/主页按钮在内的各种按钮。它支持流行的复古游戏软件,如RetroPie和Recalbox,使用户能够玩来自多个复古平台的游戏。由于使用CM4的特性,如果CM4内置了eMMC存储,GPi CASE 2不支持使用SD卡插槽;相反,游戏的存储大小受到CM4上eMMC容量的限制。通常会安装“安全关机”脚本和显示补丁,以优化该系统的设置。该盒子销售时不包含CM4,支持包括有WiFi或无WiFi和eMMC的各种CM4型号。
总之,GPi CASE 2是一个紧凑型、受到Game Boy启发的树莓派CM4机壳,旨在进行复古游戏模拟,性能优于早期使用树莓派Zero主板的版本。 [perplexity.ai]

Choose a OS

Flash OS to SD card

  1. Get SD Memory Card Formatter. Use it to format SD card.
  2. Get Raspberry Pi Imager.
  3. Raspberry Pi Imager:
    1. Raspberry Pi Device → Raspberry Pi 4
    2. 请选择需要写入的操作系统 → Emulation and game OS
    3. 储存卡 → SD card
    4. 可选配置 → 在完成后卸载磁盘 (Off)
    5. Next

Install display patch and safe-shutdown script

  1. Click Download GPiCase2 patch on GPiCase2-Script to download GPi_Case2_patch/.
  2. Decompress it to GPi_Case2_patch/.
  3. Copy all files under GPi_Case2_patch_<os> to <SD card>/.
  4. (Windows 10) Run Install_patch.bat.
  5. Create a file gpi.sh:
wget -O - "https://raw.githubusercontent.com/RetroFlag/GPiCase2-Script/main/retropie_install_gpi2.sh" | sudo bash

First boot

  1. Insert SD card into GPi CASE 2, turn it on.
  2. After first boot, you can hold a button to configure keymap. You can hold any button until it is be skipped.

reference

cross-reference

mark

appdedix

gpi-case-2_20241018.mp4

Raspberry Pi 4

reference

Raspberry Pi 5

install

  1. Get balenaEtcher-win32-x64-*.zip from Etcher - Releases.
  2. Decompress it to balenaEtcher/.
  3. Get Raspberry Pi Imager.
  4. Raspberry Pi Imager
    1. Raspberry Pi Device → Raspberry Pi 5
    2. 请选择需要写入的操作系统 → Other general-purpose OS → Ubuntu → Ubuntu Desktop 24.10 (64-bit)
    3. 储存卡 → SD card
    4. Next
  5. Install SD card in Pi5 and do user settings
    1. Enable WiFi
    2. Enable SSH1:
      sudo apt install ssh
      sudo systemctl enable ssh
      sudo ufw allow ssh
      sudo ufw enable
      sudo shutdown
      
  6. Put SD card into card reader. Add new line dtparam=pciex1_gen3 into SD card\config.txt2.
  7. balenaEtcher → clone SD card to NVMe driver.
  8. Install NVMe driver in Pi5, power on.
  9. You can log in to it via SSH.

reference

Uconsole CM4

1 2 3

Install Arch Linux ARM

sudo wipefs --all /dev/sdc
sudo fdisk --list
sudo fdisk /dev/sdc
sudo mkfs.vfat /dev/sdc1
sudo mkfs.ext4 /dev/sdc2
sudo umount /mnt/boot
sudo umount /mnt
sudo fdisk --list
sudo mount /dev/sdc2 /mnt
sudo mkdir /mnt/boot
sudo mount /dev/sdc1 /mnt/boot
sudo pacman -Sy
sudo pacman -S qemu-user-static qemu-user-static-binfmt arch-install-scripts
sudo bsdtar -xpf ArchLinuxARM-aarch64-latest.tar.gz -C /mnt
ls -l /mnt
sudo genfstab -U /mnt | sudo tee -a /mnt/etc/fstab
sudo arch-chroot /mnt
pacman-key --init
pacman-key --populate archlinuxarm
pacman -Sy raspberrypi-bootloader firmware-raspberrypi
pacman -R linux-aarch64
pacman -U --noconfirm linux-uconsole-cm3-rpi64*.pkg.zst
pacman -U --noconfirm ap6256-firmware*.pkg.tar
git clone --depth=1 https://github.com/PotatoMania/uconsole-cm3
# git clone --depth=1 https://github.com/systematiccaos/uconsole-cm3-cm4
cd uconsole-cm3/PKGBUILDs/linux-uconsole-cm3-rpi64
git clone --depth=1 -b rpi-6.1.y https://github.com/raspberrypi/linux.git
tar -czvf linux.tar.gz linux
cd linux
git status
git restore --source=HEAD :/
sudo pacman -S cpio pahole aarch64-linux-gnu-gcc make flex bison patch
makepkg
pacman -Syu
useradd -m auruser
passwd auruser
echo "auruser ALL=(ALL) ALL" > /etc/sudoers.d/auruser
chmod 440 /etc/sudoers.d/auruser
chmod u+w /home/auruser/ap6256-firmware
pacman -S fakeroot sudo
su - auruser
ls -l /home/auruser/ap6256-firmware
export PKGDEST=/tmp/my_package_destination
export SRCDEST=/tmp/my_source_directory
export BUILDDIR=/tmp/my_build_directory
makepkg
pacman -U /tmp/my_package_destination/ap6256-firmware-0.1.20231120-1-any.pkg.tar.xz
sudo vim /mnt/boot/config.txt
ignore_lcd=1
disable_fw_kms_setup=1
max_framebuffers=2
arm_boost=1

# setup headphone detect pin
gpio=10=ip,np

# boot kernel directly
kernel=Image.gz
arm_64bit=1
initramfs initramfs-linux.img followkernel

# overlays
dtoverlay=dwc2,dr_mode=host
dtoverlay=vc4-kms-v3d
dtoverlay=audremap,pins_12_13
dtparam=audio=on
dtoverlay=uconsole
pacman -S iwe
sudo vim /mnt/boot/config.txt
[all]
ignore_lcd=1
disable_fw_kms_setup=1
disable_audio_dither
pwm_sample_bits=20

# setup headphone detect pin
gpio=10=ip,np

# boot custom kernel
kernel=Image.gz
arm_64bit=1
initramfs initramfs-linux.img followkernel

dtoverlay=dwc2,dr_mode=host
dtoverlay=audremap,pins_12_13
dtparam=audio=on

[pi3]
dtoverlay=vc4-kms-v3d
dtoverlay=uconsole

[cm4]
arm_boost=1
max_framebuffers=2
dtoverlay=vc4-kms-v3d-pi4
dtoverlay=uconsole,cm4

[all]
# whatever you need
sudo umount /mnt/boot /mnt

reference

resource

cache

lib

reference

cross-reference

mark

later

extra

cache

asset

resource

mark

cache

EPUB

reference

Formulas

reference

LLM

resource

later

Regex

reference

SQL

usage

command

-- Generate feed URLs based on subscription type.
IF(ISNUMBER(SEARCH("release", [subscribe])), CONCATENATE([url], "/releases.atom"), IF(ISNUMBER(SEARCH("commit", [subscribe])), CONCATENATE([url], "/commits.atom"), ""))
-- Select all records from table with multi-column sorting.
SELECT *
FROM `table_1`
ORDER BY `column_1` ASC, `column_2` ASC, `column_2` ASC;
-- Search for a string in multiple columns of a table.
SELECT *
FROM `table_1`
WHERE `column_1` LIKE '%string%'
OR `column_2` LIKE '%string%'
OR `column_3` LIKE '%string%';

reference

annex

SVG

reference

lib_windows

cross-reference

mark

cache

resource

mark

cache

Cygwin

install

scoop install cygwin
# Cygwin
apt-cyg update

update

# Cygwin
apt-cyg install gcc-core gcc-g++ make automake autoconf libtool pkg-config

MSYS2

install

scoop install msys2

usage

pacman -Syyu
# pacman -S mingw-w64-ucrt-x86_64-gcc
# pacman -S mingw-w64-x86_64-cargo-c mingw-w64-x86_64-protobuf
# cargo install atuin

reference

resource

mark

annex

AutoHotkey

install

scoop install autohotkey1.1
# scoop install autohotkey

reference

cross-reference

mark

later

extra

cache

resource

mark

cache

annex

ahk-keyboard-locker

install

git clone --depth=1 https://github.com/sophice/ahk-keyboard-locker
cd ahk-keyboard-locker
autohotkeyu64 keyboard-locker.ahk

config

subl settings.ini
; Change hotkey
shortcut=^!+k
shortcut-hint=Ctrl+Alt+Shift+k

KeyMap

install

git clone --depth=1 https://github.com/Gustice/AHK-KeyMap
cd AHK-KeyMap
<path_to>\autohotkey1.1\AutoHotkeyU64.exe KeyMap.ahk

config

subl KeyMap.ahk
# Modify or add yours
::#>::→
::#<::←
::#^::↑
::#v::↓
::#<>::↔

GoldenDictOCR

install

git clone --depth=1 https://github.com/VimWei/GoldenDictOCR
cd GoldenDictOCR
ahk2exe.exe /in GoldenDictOCR.ahk /icon IncludeAHK\GO.ico  /out GoldenDictOCR.exe

KBLAutoSwitch

install

git clone --depth=1 https://github.com/ArturTkaczuk/toggle-screen-autohotkey

QuickSwitch

install

git clone --depth=1 https://github.com/fenchai23/QuickSwitch

config

QuickSwitch → MBtn_R → Always AutoSwitch (On)

ShortScript

install

git clone --depth=1 https://github.com/RichKMLS/ShortScript

Toggle screen autohotkey

install

git clone --depth=1 https://github.com/ArturTkaczuk/toggle-screen-autohotkey

beancount: Double-Entry Accounting from Text Files

install

# Windows 10
pipx install beanquery

reference

Go

install

# Arch
sudo pacman -S go
# Windows 10
scoop install go122

config

1

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
# go env -w GOPROXY=

cross-reference

cache

goenv

install

git clone --depth=1 https://github.com/go-nv/goenv ~/.goenv
sudo vim ~/.zshrc
export GOENV_ROOT="$HOME/.goenv"
export PATH="$GOENV_ROOT/bin:$PATH"
eval "$(goenv init -)"
source ~/.zshrc

usage

# wget https://go.dev/dl/go1.22.0.linux-arm64.tar.gz
# mkdir -p ~/.goenv/cache
# mv go1.22.0.linux-arm64.tar.gz ~/.goenv/cache/
goenv install 1.22.0
go version

gvm

install

# Arch
yay -S gvm-git
# Windows 10
scoop install gvm

usage

gvm install 1.21.0
gvm use 1.21.0

resource

cache

Godot

reference

resource

cache

Java

cross-reference

mark

JDK

install

# Windows 10
scoop install openjdk22

LaTeX

reference

cross-reference

mark

cache

asset

resource

later

cache

adjustbox

The main feature of adjustbox is the general \adjustbox macro which extends the key=value interface of \includegraphics from the graphicx package, and applies it to general text content. It also provides further text/box modifications keys, macros and envionments. [ctan.org/pkg/adjustbox]

adjustbox的主要功能是通用的\adjustbox宏,它扩展了graphicx包的\includegraphics的key=value接口,并将其应用于通用文本内容。它还提供进一步的文本/框修改关键字、宏和环境。 [ctan.org/pkg/adjustbox]

usage

example

\usepackage{adjustbox}
\adjustbox{angle=90}{
  Rotating the text by 90 degrees
}

reference

array

The CTAN package "array" is an extended implementation of LaTeX's standard array and tabular environments. It enhances the formatting options available for columns and provides more programmable format specifications. This means that users can customize column styles and layout in tables and arrays more flexibly than with the default LaTeX tools. It also addresses some technical issues by allowing fragile LaTeX commands to be used inside arrays and tables without needing additional protection. The package adds features such as the ability to adjust extra row height for better spacing, specify special fonts or formatting for individual columns directly in the preamble, and more refined control over table appearance. [perplexity.ai]

CTAN包“array”是对LaTeX标准array和tabular环境的扩展实现。它增强了列的格式选项,并提供了更多可编程的格式规范。这意味着用户可以比使用默认的LaTeX工具更灵活地自定义表格和数组中的列样式和布局。它还通过允许在数组和表格中使用脆弱的LaTeX命令而无需额外保护来解决了一些技术问题。该包添加了诸如调整额外行高以获得更好间距、在前言中直接为单个列指定特殊字体或格式以及对表格外观更精细控制等功能。 [perplexity.ai]

usage

example

\usepackage{array}
\begin{tabular}{|>{\centering}p{3cm}|>{\raggedleft}p{3cm}|}
    \hline
    Centered Text & Right-aligned Text \\
    \hline
    Sample 1 & Example 1 \\
    Sample 2 & Example 2 \\
    \hline
\end{tabular}

blowup

This package only defines the user-level macro \blowUp, which can be used to scale all pages of a document up or down. It is similar to the TeX primitive \mag, but more accurate and user-friendly. \blowUp can be useful for creating posters from a normal sized document and for many other types of fine-tuning of a finished document (e.g., minor scaling changes and position of the pages). [ctan.org/pkg/blowup]

该包仅定义了用户级宏\blowUp,可用于对文档的所有页面进行放大或缩小。它类似于TeX原始命令\mag,但更加准确和用户友好。\blowUp对于将正常大小的文档制作成海报,以及对已完成文档进行其他类型的微调(例如,微小的缩放变化和页面位置的调整)非常有用。 [ctan.org/pkg/blowup]

usage

example

\documentclass[letterpaper,twoside]{article}
\usepackage{xcolor}
\usepackage{blowup}
\AddToHook{shipout/background}{
    \put(0,0){\textcolor{green!30}{\rule[-\paperheight]{\paperwidth}{\paperheight}}}
}
\blowUp{target=a4,pos=c}

\begin{document}
Letter-size document on A4-size paper
\end{document}

reference

ccicons

This package offers authors who want to publish their documents under a Creative Commons license an easy way to include the relevant icons in their documents. [ctan.org/pkg/ccicons]

该包为希望将其文档以知识共享许可证发布的作者提供了一种简单的方式,以便在其文档中包含相关图标。 [ctan.org/pkg/ccicons]

usage

example

\usepackage{ccicons}
\ccby \\
\ccbysa \\
\ccbynd \\
\ccbync \\
\ccbynceu \\
\ccbyncjp \\
\ccbyncsa \\
\ccbyncsaeu \\
\ccbyncsajp \\
\ccbyncnd \\
\ccbyncndeu \\
\ccbyncndjp \\
\cczero \\
\ccpd

cjk

CJK is a macro package for LaTeX, providing simultaneous support for various Asian scripts in many encodings (including Unicode): Chinese (both traditional and simplified), Japanese, Korean and Thai.
A special add-on feature is an interface to the Emacs editor (cjk-enc.el) which gives simultaneous, easy-to-use support to a bunch of other scripts in addition to the above — Cyrillic, Greek, Latin-based scripts, Russian and Vietnamese are supported. [ctan.org/pkg/cjk]

CJK是一个LaTeX宏包,提供对多种亚洲文字的同时支持,涵盖多种编码(包括Unicode):中文(繁体和简体)、日文、韩文和泰文。
一个特别的附加功能是与Emacs编辑器的接口(cjk-enc.el),除了上述文字外,还为其他多种文字提供了同时且易于使用的支持——支持西里尔字母、希腊字母、拉丁字母、俄文和越南文。 [ctan.org/pkg/cjk]

usage

example

\documentclass{article}
\usepackage{CJKutf8}

\begin{document}
\begin{CJK}{UTF8}{gbsn}

你好

\end{CJK}
\end{document}

cleveref

The cleveref package enhances LATEX’s cross-referencing features, allowing the format of cross-references to be determined automatically ac-cording to the “type” of cross-reference (equation, section, etc.) and the context in which the cross-reference is used. The formatting for each cross-reference type can be fully customised in the preamble of your document. In addition, cleveref can typeset cross-references to lists of multiple la-bels, automatically formatting them according to their types, sorting them, and compressing sequences of numerically consecutive labels. Again, the multiple-reference formatting is fully customisable.
Normally, the latest version of the cleveref package is available via CTAN. Occasionally, slightly newer “pre-release” versions are available at www.dr-qubit.org/latex.php#cleveref a little before they make their way onto CTAN. [ctan.org/pkg/cleveref]

cleveref包增强了LATEX的交叉引用功能,允许根据交叉引用的“类型”(方程、章节等)和交叉引用使用的上下文自动确定交叉引用的格式。每种交叉引用类型的格式可以在文档的前言中完全自定义。此外,cleveref可以排版多个标签的交叉引用,根据它们的类型自动格式化,排序,并压缩数值连续标签的序列。同样,多个引用的格式化也是完全可自定义的。
通常,cleveref包的最新版本可以通过CTAN获得。偶尔,稍新一些的“预发布”版本会在www.dr-qubit.org/latex.php#cleveref上提供,稍早于它们上架CTAN。 [ctan.org/pkg/cleveref]

usage

example

\documentclass{article}
\usepackage{amsmath}
\usepackage{cleveref}

\begin{document}

We will refer to equation \cref{eq1} to demonstrate our approach.

\begin{equation}
  \label{eq1}
  E = mc^2
\end{equation}

In \Cref{eq1}, we present a fundamental equation.

\end{document}

clrstrip

This lightweight package provides the colorstrip environment, that places its contents into a full page width colour strip. [ctan.org/pkg/clrstrip]

该轻量级包提供了colorstrip环境,将其内容放置在占据整页宽度的色条中。 [ctan.org/pkg/clrstrip]

usage

example

\usepackage{xcolor}
\usepackage{clrstrip}
\begin{colorstrip}{red!5}
	\blindduck
\end{colorstrip}

colorblind

In colorblind-safe documents, the contents are presented in a way that the same information is conveyed to readers regardless of a potential color vision deficiency. This package provides the tools necessary for colorblind-safe typesetting in LaTeX. It provides color schemes for a wide range of applications.
The most commonly used schemes are qualitative schemes, providing easily distinguishable colors for use in graphics, but also for text coloring or highlighting. Additionally, diverging and sequential schemes are included which can be used for encoding quantitative information using colors. This package incorporates colorblind-safeness into the writing process, making it both less cumbersome and less error-prone. [ctan.org/pkg/colorblind]

在色盲安全文档中,内容的呈现方式确保无论读者是否有潜在的色彩视觉缺陷,都能传达相同的信息。该包提供了在LaTeX中进行色盲安全排版所需的工具。它提供了适用于广泛应用的配色方案。
最常用的方案是定性方案,提供易于区分的颜色,适用于图形,但也可用于文本着色或高亮。此外,包含了发散型和顺序型方案,可用于使用颜色编码定量信息。该包将色盲安全性纳入写作过程,使其既不繁琐又不容易出错。 [ctan.org/pkg/colorblind]

usage

example

\documentclass{article}

\usepackage{xcolor}
\usepackage{soul}
\usepackage[keep-defaults, Tol, OkabeIto, pgf]{colorblind}

\newcommand\colorblind{\textbf{colorblind}}
\newcommand\hlc[2][T-Q-PH4]{{
    \colorlet{foo}{#1}
    \sethlcolor{foo}\hl{#2}}
}

\begin{document}

\hlc[T-Q-B1]{blue} \\
\hlc[T-Q-B2]{cyan} \\
\hlc[T-Q-B3]{green} \\
\hlc[T-Q-B4]{yellow} \\
\hlc[T-Q-B5]{red} \\
\hlc[T-Q-B6]{violet} \\
\hlc[T-Q-B0]{gray}

\end{document}

reference

ctex

ctex is a collection of macro packages and document classes for LaTeX Chinese typesetting. [ctan.org/pkg/ctex]

ctex是一个用于LaTeX中文排版的宏包和文档类的集合。 [ctan.org/pkg/ctex]

draftwatermark

The draftwatermark package extends LATEX providing a means to add a watermark (typically textual and light gray, but possibly more sophisticated) on the pages of a document (either on every page, on the first page, or on selected pages). Typical usage may consist in writing words such as "DRAFT" or "CONFIDENTIAL" across the pages. The package may remind in some sense draftcopy by Dr. Juergen Vollmer, but its implementation is lighter (as the reduced code footprint shows) and does not rely on postscript specials, making the package fully compatible with pdfLATEX, XƎLATEX and LuaLATEX. Its feature set is somehow restricted because the emphasis is on the simplicity of the interface. For complex layouts, consider scrlayer.sty from the KOMA script bundle or directly using the new LATEX shipout hooks. [ctan.org/pkg/draftwatermark]

draftwatermark包扩展了LATEX,提供了一种在文档页面上添加水印的方法(通常是文本形式,且为浅灰色,但也可能更加复杂),可以在每一页、首页或选定页面上使用。典型用法是在页面上写入诸如“DRAFT”或“CONFIDENTIAL”的字样。该软件包在某种意义上可以与Dr. Juergen Vollmer的draftcopy相提并论,但其实现更为轻便(如减少的代码占用所示),且不依赖于postscript特性,使得该软件包与pdfLATEX、XƎLATEX和LuaLATEX完全兼容。其功能集在某种程度上受到限制,因为重点是界面的简洁性。对于复杂的布局,请考虑使用KOMA脚本包中的scrlayer.sty或直接使用新的LATEX shipout钩子。 [ctan.org/pkg/draftwatermark]

usage

example

\documentclass{article}
\usepackage[svgnames]{xcolor}
\usepackage[firstpageonly, color={[gray]{0.9}},
text=DRAFT\\COPY]{draftwatermark}
\usepackage{mathptmx}
\usepackage{lipsum}

\title{Sample document for the draftwatermark package}
\author{}

\begin{document}
\maketitle
\section{One}
\lipsum[1-3]
\end{document}

enumext

This package provides enumerated list environments compatible with tagging PDF for creating “simple exercise sheets” along with “multiple choice questions”, storing the “answers” to these in memory using the multicol package. [ctan.org/pkg/enumext]

该包提供了与PDF标记兼容的编号列表环境,用于创建“简单练习表”和“多项选择题”,并使用multicol包将这些题目的“答案”存储在内存中。 [ctan.org/pkg/enumext]

usage

example

\usepackage{enumext}
\begin{enumext*}[widest=10,columns=4]
	\item The first
	\item* The second
	\item The third
	\item The fourth
	\item(3)* The fifth item is way too long for this and needs three columns
	\item The sixth
	\item The seventh
	\item(2)[X] The eighth item is way too long for this and needs two columns
	(\the\itemwidth)
	\item The ninth
	\item[Z] The tenth (\the\itemwidth)
\end{enumext*}

fbb

The package provides a Bembo-like font package based on Cardo but with many modifications, adding Bold Italic, small caps in all styles, six figure choices in all styles, updated kerning tables, added figure tables and corrected f-ligatures. Both OpenType and Adobe Type 1 versions are provided; all necessary support files are provided.
The font works well with newtxmath’s libertine option. [ctan.org/pkg/fbb]

该包提供了一种类似于Bembo的字体包,基于Cardo,但进行了许多修改,增加了粗斜体、所有样式的小型大写字母、所有样式的六种数字选择、更新的字距表、添加的数字表以及修正的f连字。提供了OpenType和Adobe Type 1版本;所有必要的支持文件均已提供。
该字体与newtxmath的libertine选项兼容良好。 [ctan.org/pkg/fbb]

usage

example

\usepackage{fbb}
\begin{document}
\title{Sample Document}
\author{Your Name}
\date{\today}
\maketitle
This text is in the fbb font, which resembles Bembo.
\end{docuemnt}

fontawesome7

This package provides LaTeX support for the included “Font Awesome 7 Free” icon set. These icons were designed by Fort Awesome and released under the SIL OFL 1.1 license. The commercial “Pro” version has only preliminary alpha support for now, if it is installed and XeLaTeX or LuaLaTeX is used. For this font you need a paid license, for more information visit Fort Awesome Pro. More information about Font Awesome is available at Fort Awesome.
To use an icon after the package is loaded, just enter the name of the icon in CamelCase prefixed with \fa, for example \faAddressBook for the address-book icon.
The TeX files are derived from the Font Awesome 5package, are maintained by Daniel Nagel and are released under the LaTeX Project Public License version 1.3c. All included fonts are provided by Fort Awesome under the SIL OFL 1.1 license This package is not an official Fort Awesome project. [ctan.org/pkg/fontawesome7]

该包为包含的“Font Awesome 7 Free”图标集提供LaTeX支持。这些图标由Fort Awesome设计,并根据SIL OFL 1.1许可证发布。商业“Pro”版本目前仅提供初步的alpha支持,如果安装了它,并使用XeLaTeX或LuaLaTeX。对于该字体,您需要支付许可证,更多信息请访问Fort Awesome Pro。关于Font Awesome的更多信息可在Fort Awesome网站上找到。
加载包后,要使用图标,只需输入图标名称,使用CamelCase并以\fa为前缀,例如\faAddressBook用于地址簿图标。
TeX文件源自Font Awesome 5包,由Daniel Nagel维护,并根据LaTeX项目公共许可证第1.3c版发布。所有包含的字体均由Fort Awesome根据SIL OFL 1.1许可证提供。该包不是Fort Awesome的官方项目。 [ctan.org/pkg/fontawesome7]

usage

example

\usepackage{fontawesome7}
Multiple versions of the file icon:
	\faFile~
	\faFile[solid]~
	\faFile[regular]~.\\
Alternative syntax:
	\faIcon{file}~
	\faIcon[solid]{file}~
	\faIcon[regular]{file}~.

reference

Bible de Genève 1564

install

fonts\* can also be named:

EB Garamond 08 Italic.ttf
EB Garamond 08 Regular.ttf
EB Garamond 12 AllSC.ttf
EB Garamond 12 Bold.ttf
EB Garamond 12 Italic.ttf
EB Garamond 12 Regular.ttf
EB Garamond Initials.ttf
EB Garamond Initials Fill1.ttf
EB Garamond Initials Fill2.ttf
EB Garamond SC 08 Regular.ttf
EB Garamond SC 12 Regular.ttf

geometry

The package provides an easy and flexible user interface to customize page layout, implementing auto-centering and auto-balancing mechanisms so that the users have only to give the least description for the page layout. For example, if you want to set each margin 2cm without header space, what you need is just \usepackage[margin=2cm,nohead]{geometry}.
The package knows about all the standard paper sizes, so that the user need not know what the nominal ‘real’ dimensions of the paper are, just its standard name (such as a4, letter, etc.).
An important feature is the package’s ability to communicate the paper size it’s set up to the output (whether via DVI \specials or via direct interaction with pdf(La)TeX). [ctan.org/pkg/geometry]

该包提供了一个简单灵活的用户界面,用于自定义页面布局,采用自动居中和自动平衡机制,使用户只需提供最少的页面布局描述即可。例如,如果你想将每个边距设置为2厘米且不留头部空间,你只需使用\usepackage[margin=2cm,nohead]{geometry}
该包了解所有标准纸张尺寸,因此用户无需知道纸张的名义“真实”尺寸,只需知道其标准名称(如a4、letter等)。
一个重要的特性是该包能够将其设置的纸张尺寸传达给输出(无论是通过DVI的\specials还是通过与pdf(La)TeX的直接交互)。 [ctan.org/pkg/geometry]

usage

example

\usepackage[margin=2em]{geometry}

geometry.dtx

href-ul

This LaTeX package makes hyperlinks underscored, just like on the web. The package uses hyperref and ulem. [ctan.org/pkg/href-ul]

该LaTeX包使超链接带下划线,就像在网页上一样。该包使用hyperref和ulem。 [ctan.org/pkg/href-ul]

usage

example

\pagestyle{empty}
\usepackage{href-ul}
Go to \href{https://www.ctan.org}{CTAN}!

invoice2

Typeset invoices with automatic VAT and calculation of totals. Supports internationalization, invoices are typeset with booktabs for readability. Does not support separate projects per invoice.
Can be used as a replacement for invoice in most cases. [ctan.org/pkg/invoice2]

自动排版发票,包括增值税的自动计算和总额计算。支持国际化,发票使用booktabs排版以提高可读性。不支持每张发票单独的项目。
在大多数情况下可以作为发票的替代品使用。 [ctan.org/pkg/invoice2]

usage

example

\usepackage{invoice2}
\begin{invoice}[currency-symbol={CHY}, currency-in-header]
\invoicesingleitem{Ignition!}{4087.99}
\invoicesingleitem{The Art of Computer Programming 1--4}{162.99}
\invoicesingleitem{The TeXbook}{55.69}
\end{invoice}

kdpcover

The problem this class solves is the necessity to change the size of the cover PDF according to the number of pages in the book — the bigger the book, the larger the spine of the book must be. The provided class makes the necessary calculations on-the-fly, using the qpdf tool. Obviously, you need to have it installed. Also, you must run pdflatex with the --shell-escape option, in order to allow LaTeX to run qpdf. [ctan.org/pkg/kdpcover]

该类解决的问题是根据书籍的页数更改封面PDF的大小——书籍越大,书脊的宽度就必须越大。提供的类实时进行必要的计算,使用qpdf工具。显然,你需要安装它。此外,你必须使用--shell-escape选项运行pdflatex,以允许LaTeX运行qpdf。 [ctan.org/pkg/kdpcover]

usage

example

\documentclass[pages=200,6x9]{kdpcover}

\begin{document}
\putSpine{kdpcover, a LaTeX class for KDP books}
\putVolume{1}
\putVersion{0.6.1}
\putPrice{\$0.00}
\putCopyright{\the\year}{Yegor Bugayenko}
\putTitle{kdpcover}
\putAuthor{Yegor Bugayenko}
\putTLDR{This book will tell you
	an interesting story!}
% Download this from https://mirrors.ctan.org/macros/latex/contrib/kdpcover/cactus.pdf
\putPicture{cactus.pdf}

\end{document}

latexindent

latexindent.pl is a Perl script that indents .tex (and other) files according to an indentation scheme that the user can modify to suit their taste. Environments, including those with alignment delimiters (such as tabular), and commands, including those that can split braces and brackets across lines, are usually handled correctly by the script. Options for verbatim-like environments and commands, together with indentation after headings (such as chapter, section, etc) are also available. The script also has the ability to modify line breaks, and to add comment symbols and blank lines; furthermore, it permits string or regex-based substitutions. All user options are customisable via the switches and the YAML interface. [ctan.org/pkg/latexindent]

latexindent.pl是一个Perl脚本,用于根据用户可以修改的缩进方案对.tex(和其他)文件进行缩进。该脚本通常能够正确处理环境,包括带对齐分隔符的环境(如tabular),以及可以跨行拆分大括号和中括号的命令。还提供了对类verbatim环境和命令的选项,以及在标题(如章节、节等)后进行缩进的功能。该脚本还具有修改换行符的能力,可以添加注释符号和空行;此外,它还允许基于字符串或正则表达式的替换。所有用户选项都可以通过开关和YAML接口进行自定义。 [ctan.org/pkg/latexindent]

make4ht

make4ht is a build system for TEX4ht, TEX to XML converter. It provides a command line tool that drives the conversion process. It also provides a library that can be used to create customized conversion tools. An example of such a tool is tex4ebook, a tool for conversion from TEX to ePub and other e-book formats. [ctan.org/pkg/make4ht]

make4ht是一个用于TEX4ht的构建系统,TEX到XML的转换器。它提供了一个命令行工具来驱动转换过程。它还提供了一个库,可以用来创建自定义的转换工具。这样的工具的一个例子是tex4ebook,它是用于将TEX转换为ePub及其他电子书格式的工具。 [ctan.org/pkg/make4ht]

menukeys

This package is designed to format menu sequences, paths and keyboard shortcuts automatically. There are several predefined styles and one can define one’s own styles in a flexible way. [ctan.org/pkg/menukeys]

该包旨在自动格式化菜单序列、路径和键盘快捷键。它提供了几种预定义的样式,并且用户可以以灵活的方式定义自己的样式。 [ctan.org/pkg/menukeys]

usage

example

\usepackage{menukeys}
\menu[,]{Extras,Settings,{Units, rulers and origin}}

microtype

The package provides a LaTeX interface to the micro-typographic extensions that were introduced by pdfTeX and have since also propagated to XeTeX and LuaTeX: most prominently, character protrusion and font expansion, furthermore the adjustment of interword spacing and additional kerning, as well as hyphenatable letterspacing (tracking) and the possibility to disable all or selected ligatures.
These features may be applied to customisable sets of fonts, and all micro-typographic aspects of the fonts can be configured in a straight-forward and flexible way. Settings for various fonts are provided.
Note that character protrusion requires pdfTeX, LuaTeX, or XeTeX. Font expansion works with pdfTeX or LuaTeX. The package will by default enable protrusion and expansion if they can safely be assumed to work. Disabling ligatures requires pdfTeX or LuaTeX, while the adjustment of interword spacing and of kerning only works with pdfTeX. Letterspacing is available with pdfTeX, LuaTeX or XeTeX.
The alternative package ‘letterspace’, which also works with plain TeX, provides the user commands for letterspacing only, omitting support for all other extensions. [ctan.org/pkg/microtype]

该包提供了一个LaTeX接口,用于微排版扩展,这些扩展是由pdfTeX引入的,后来也传播到了XeTeX和LuaTeX:最显著的包括字符突出、字体扩展,此外还有单词间距的调整和额外的字距调节,以及可断字的字母间距(跟踪)和禁用所有或选定连字的可能性。
这些功能可以应用于可定制的字体集,所有微排版方面的字体设置都可以以简单和灵活的方式进行配置。提供了各种字体的设置。
请注意,字符突出需要pdfTeX、LuaTeX或XeTeX。字体扩展可以在pdfTeX或LuaTeX下工作。该包默认启用突出和扩展功能,如果可以安全地假定它们可以正常工作。禁用连字需要pdfTeX或LuaTeX,而单词间距和字距的调整仅在pdfTeX下有效。字母间距在pdfTeX、LuaTeX或XeTeX下可用。
替代包“letterspace”也支持plain TeX,仅提供字母间距的用户命令,省略对所有其他扩展的支持。 [ctan.org/pkg/microtype]

usage

example

\documentclass{article}
\usepackage{lipsum}
\usepackage[protrusion=true,expansion]{microtype}}

\begin{document}
\lipsum[1-2]
\end{document}

multicolrule

This package lets you customize the appearance of the vertical rule that appears between columns of multicolumn text. It is primarily intended to work with the multicol package, hence its name, but also supports the twocolumn option and \twocolumn macro provided by the standard classes (and related classes such as the KOMA-Script equivalents).
The package depends on expl3 and xparse. [ctan.org/pkg/multicolrule]

该包允许您自定义在多列文本之间出现的垂直规则的外观。它主要旨在与multicol包配合使用,因此得名,但也支持标准类提供的twocolumn选项和\twocolumn宏(以及KOMA-Script等相关类的等效项)。
该包依赖于expl3和xparse。 [ctan.org/pkg/multicolrule]

usage

example

\documentclass{article}
\usepackage{lipsum}
\usepackage[tikz]{multicolrule}[2019/10/01]

\begin{document}
\begin{multicols}{2}[Default]
\lipsum[1-2]
\end{multicols}
\end{document}

oPlotSymbl

This package is named oPlotSymbl and it includes symbols, which are not easily available. Especially, these symbols are used in scientific plots, but the potential user is allowed to use them in other ways.
This package uses TikZ and xcolor. [ctan.org/pkg/oplotsymbl]

该包名为oPlotSymbl,包含一些不易获得的符号。这些符号主要用于科学绘图,但潜在用户可以以其他方式使用它们。
该包使用TikZ和xcolor。 [ctan.org/pkg/oplotsymbl]

usage

example

\usepackage{oplotsymbl}
Some symbols:
	\circlet~
	\circletfill~

pagelayout

The pagelayout class enables you to layout pages declaratively using simple macros for pages, covers, grids, templates, text, and graphics to create graphic rich, perfectly typeset, and print ready PDFs.
The integration of Inkscape allows you to create box shadows.
The integration of ImageMagick allows you to configure compression and sharpening for bitmap graphics to export web, print or preview versions of your document. Parallelized image optimization, caching, and a draft mode enable fast PDF creation and a responsive workflow, even for large documents with lots of photos and graphics.
The pagelayout class also integrates the PGF/TikZ and tcolorbox LaTeX packages. [ctan.org/pkg/pagelayout]

pagelayout类使您能够使用简单的宏以声明方式布局页面,包括页面、封面、网格、模板、文本和图形,以创建图形丰富、排版完美且适合打印的PDF。
Inkscape的集成允许您创建框阴影。
ImageMagick的集成允许您配置位图图形的压缩和锐化,以导出文档的网页、打印或预览版本。并行图像优化、缓存和草稿模式使得即使对于包含大量照片和图形的大型文档也能快速创建PDF并实现高效的工作流程。
pagelayout类还集成了PGF/TikZ和tcolorbox LaTeX包。 [ctan.org/pkg/pagelayout]

usage

example

\documentclass[draft,grid,graphpaper,preflight,optimize={density=600}]{pagelayout}
\usepackage{microtype}

\pagewidth=5.5cm
\pageheight=4cm
\margin=5mm
\gutter=5mm
\bleed=2mm
\setpagecolor{white}

\begin{document}
  \newtemplate{my template}{
    \setgrid{
      {[2]{3!}{2!}}
    }
    \placeholder{0 0 1 1}
    \placeholder{0 1 1 2}
  }
  \template{my template}{}

  \nogrid
  \newborder{my border}{width = 1mm, color = white, radius = 5mm}
  \newshadow{my shadow}{size = 7}
  \template{my template}{
    \graphic[
      scale=1.05,
      hpos=0,
      vpos=0.3,
      shadow=my shadow,
      border=my border,
      border radius=0mm
			% A exampleImage.jpg here.
			]{exampleImage}
  }
\end{document}

parnotes

The parnotes package adds a new note type, \parnote. Parnotes are set as normal, running paragraphs and may be placed two ways:

  • Automatically, at the end of the paragraph
  • Manually, using the \parnotes command
    This package was inspired by a question on the TEX Stack Exchange3 that asked for notes which are placeable immediately after the paragraph in which they are mentioned, to avoid the interruption posed by footnotes. [ctan.org/pkg/parnotes]

parnotes包添加了一种新的注释类型\parnote。parnotes作为正常的运行段落设置,可以通过两种方式放置:

  • 自动放置在段落末尾
  • 手动放置,使用\parnotes命令
    该包的灵感来源于TEX Stack Exchange上的一个问题,该问题询问如何将注释放在提到它们的段落后,以避免脚注带来的干扰。 [ctan.org/pkg/parnotes]

usage

example

\usepackage{parnotes}
Text\parnote{``Placing footnotes or endnotes at the end of the current paragraph''} \\
-
Text\parnote{``Placing footnotes or endnotes at the end of the current paragraph''}
\parnotes

reference

pdfprivacy

Creating pdfs with pdfLaTeX populates several pdf meta-data fields such as date/time of creation/modification, information about the LaTeX installation (e.g., pdfTeX version), and the relative paths of included pdfs.
The pdfprivacy package provides support for emptying several of these pdf meta-data fields as well as suppressing some pdfTeX meta-data entries in the resulting pdf. [ctan.org/pkg/pdfprivacy]

使用pdfLaTeX创建pdf文件会填充多个pdf元数据字段,例如创建/修改的日期/时间、关于LaTeX安装的信息(例如pdfTeX版本)以及包含的pdf的相对路径。
pdfprivacy包提供了对这些pdf元数据字段进行清空的支持,以及在生成的pdf中抑制一些pdfTeX元数据条目的功能。 [ctan.org/pkg/pdfprivacy]

phfextendedabstract

Here are the main features of the phfextendedabstract class:

  • The class phfextendedabstract loads the revtex4-2 class, so you can directly use REVTEX’s features such as author affiliations, etc.
  • Only two sectioning commands are enabled: \section and \paragraph. Both have run-in headings. If you find yourself needing additional sectioning levels, it might be that your extended abstract is too detailed and you might want to think about how to keep it at a higher level. It might also be that phfextendedabstract is too limited for your needs. By default, section and paragraphs have “decorations” (by default a symbol in the margin) to guide the reader through the overall high-level structure of the document. (Disable them with the noheadingdecorations class option.)
  • You can easily scale all vertical spacing dimensions (section and paragraph spacing, vertical space around theorems and list environments, etc.) by a common factor with a class option. Do you have those extra two lines that make you exceed your 3-page limit? Try squeezing everything together with a class option like compressverticalspacing=0.7.
  • The phfnote package is loaded in order to provide a set of default LATEX packages and set up hyperlinks. A generous default set of standard LaTeX packages are loaded, including caption and enumitem; see phfnote’s documentation for the option pkgset=extended. You are expected to include \usepackage{hyperref} somewhere in your preamble. We deliberately don’t include hyperref when loading the class in order to give you greater control of package loading order (most packages you might want to use must be loaded before hyperref).
  • The page margins are tweaked with the geometry package. (Simply call \geometry{...} if you’d like to further change them. Refer to the geometry package’s documentation.)
  • Lists, i.e. the itemize and enumerate environments, are customized using the enumitem package so that they take up less space. You also get a enumerate* environment that typesets its items in-line, in a single paragraph. (Note that this customization won’t work if you choose to load a package set via a pkgset= option that doesn’t include enumitem.)
  • By default we load the phfthm package and set a customized theorem style so that it stands out but also so that it contrasts well with the section and paragraph headings. [ctan.org/pkg/phfextendedabstract]

以下是phfextendedabstract类的主要特点:

  • 类phfextendedabstract加载了revtex4-2类,因此您可以直接使用REVTEX的功能,如作者附属关系等。
  • 仅启用两个分级命令:\section和\paragraph。两个命令都有行内标题。如果您发现自己需要额外的分级层次,可能是因为您的扩展摘要过于详细,您可能需要考虑如何将其保持在更高的层次。也可能是phfextendedabstract对您的需求过于有限。默认情况下,章节和段落有“装饰”(默认为边缘的一个符号),以引导读者了解文档的整体高层结构。(使用noheadingdecorations类选项禁用它们。)
  • 您可以使用类选项轻松缩放所有垂直间距尺寸(章节和段落间距、定理和列表环境周围的垂直间距等),以一个共同的因子。如果您有额外的两行使您超出了3页限制,可以尝试使用类似compressverticalspacing=0.7的类选项将所有内容压缩在一起。
  • 加载phfnote包以提供一组默认的LATEX包并设置超链接。加载了一组慷慨的标准LaTeX包,包括caption和enumitem;有关选项pkgset=extended的详细信息,请参见phfnote的文档。您需要在导言区某处包含\usepackage{hyperref}。我们故意不在加载类时包含hyperref,以便让您更好地控制包的加载顺序(大多数您可能想使用的包必须在hyperref之前加载)。
  • 页面边距使用geometry包进行了调整。(如果您想进一步更改它们,只需调用\geometry{...}。参见geometry包的文档。)
  • 列表,即itemize和enumerate环境,使用enumitem包进行了自定义,以减少空间。您还可以获得一个enumerate*环境,将其项目排版为内联,呈现在一个段落中。(注意,如果您选择通过不包括enumitem的pkgset=选项加载包集,则此自定义将不起作用。)
  • 默认情况下,我们加载phfthm包并设置自定义的定理样式,以便其突出而与章节和段落标题形成良好的对比。 [ctan.org/pkg/phfextendedabstract]

usage

example

% Bug here
\documentclass[papertype=a4paper]{phfextendedabstract}
\usepackage{hyperref}

\begin{document}
\title{Title goes here}
\author{Author 1}
\author{Author 2}
\maketitle
\section{Introduction.}
Lorem ipsum ...
\section{Results.}
We had some cool results about
\begin{enumerate*}
\item a first result,
\item a second result,
\item a final result.
\end{enumerate*}
\paragraph{First result.}
Here’s a first result ...
\paragraph{Second result.}
Here’s another result ...
...
\end{document}

polyglossia

This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX. This version includes support for over 80 different languages, some of which in different regional or national varieties, or using a different writing system.
Polyglossia makes it possible to automate the following tasks:

  • Loading the appropriate hyphenation patterns.
  • Setting the script and language tags of the current font (if possible and available), using the package fontspec.
  • Switching to a font assigned by the user to a particular script or language.
  • Adjusting some typographical conventions in function of the current language (such as afterindent, frenchindent, spaces before or after punctuation marks, etc.).
  • Redefining the document strings (like “chapter”, “figure”, “bibliography”).
  • Adapting the formatting of dates (for non-gregorian calendars via external packages bundled with polyglossia: currently the Hebrew, Islamic and Farsi calendars are supported).
  • For languages that have their own numeration system, modifying the formatting of numbers appropriately.
  • Ensuring the proper directionality if the document contains languages written from right to left (via the packages bidi and luabidi, available separately). [ctan.org/pkg/polyglossia]

该包为XeLaTeX和LuaLaTeX的用户提供了对Babel的替代方案。此版本支持超过80种不同语言,其中一些语言有不同的地区或国家变体,或使用不同的书写系统。
Polyglossia使得自动化以下任务成为可能:

  • 加载适当的断字模式。
  • 设置当前字体的脚本和语言标签(如果可能且可用),使用包fontspec。
  • 切换到用户为特定脚本或语言分配的字体。
  • 根据当前语言调整某些排版惯例(比如缩进后的空格、法语缩进、标点符号前后的空格等)。
  • 重新定义文档字符串(如“章节”、“图”、“参考文献”)。
  • 调整日期的格式(针对非公历的日历,通过与polyglossia捆绑的外部包:目前支持希伯来历、伊斯兰历和法尔斯历)。
  • 对于有自己数字系统的语言,适当修改数字的格式。
  • 确保文档的正确方向性,如果文档包含从右到左书写的语言(通过分别提供的包bidi和luabidi)。 [ctan.org/pkg/polyglossia]

usage

example

% !TeX program = xelatex

\documentclass{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\setdefaultlanguage{chinese}
\setotherlanguage{english}
% Package noto, notoCJKsc
\setmainfont{Noto Serif CJK SC}[Script=CJK]
\newfontfamily\chinesefont{Noto Serif CJK SC}[Script=CJK]
% Package arphic-ttf
%\setmainfont{bkai00mp.ttf}[Script=CJK]% ZenKai-Medium
%\setmainfont{bsmi00lp.ttf}[Script=CJK]% ShanHeiSun-Light
%\setmainfont{gbsn00lp.ttf}[Script=CJK]% BousungEG-Light-GB
%\setmainfont{gkai00mp.ttf}[Script=CJK]% GBZenKai-Medium
\begin{document}
\parindent0em

\begin{center}
  \abstractname
\end{center}
\begin{english}
This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX. This version includes support for over 80 different languages, some of which in different regional or national varieties, or using a different writing system.
\footnote{%
  This is a footnote.}

This is today: \today
\end{english}

\section{(简体中文, Simplified Chinese)}

该软件包为使用XeLaTeX和LuaLaTeX的用户提供了Babel的替代方案。此版本支持超过80种不同的语言,其中一些具有不同的区域或国家变体,或使用不同的书写系统。

\today

localnumeral: \localnumeral{1863}, chinesenumeral: \chinesenumeral{1863}

\renewfontfamily\chinesefont{Noto Serif CJK TC}[Script=CJK]
\begin{chinese}[variant=traditional,numerals=chinese]

\section{(繁體中文, Traditional Chinese)}

該軟體包為使用XeLaTeX和LuaLaTeX的用戶提供了Babel的替代方案。此版本支持超過80種不同的語言,其中一些具有不同的區域或國家變體,或使用不同的書寫系統。

\today

localnumeral: \localnumeral{1863}, chinesenumeral: \chinesenumeral{1863}

\end{chinese}

\section{numeral}
\begin{english}

numerals=arabic: \textchinese[numerals=arabic]{\localnumeral{1863}, \chinesenumeral{1863}}

numerals=chinese: \textchinese[numerals=chinese]{\localnumeral{1863}, \chinesenumeral{1863}}

\end{english}

\end{document}

Q-and-A

Q-and-A is a LaTeX document class for you to typeset Q&A-style conversation. It turns simple pure text Q&A dialog into a carefully designed document.
Notably, it features two themes, ChatGPT-light and ChatGPT-dark, enabling you to format your Q&A dialog in a way that closely resembles the interface of ChatGPT. [ctan.org/pkg/q-and-a]

Q-and-A是一个LaTeX文档类,旨在帮助您排版问答式对话。它将简单的纯文本问答对话转换为精心设计的文档。
特别值得注意的是,它具有两种主题,ChatGPT-light和ChatGPT-dark,允许您以接近ChatGPT界面的方式格式化您的问答对话。 [ctan.org/pkg/q-and-a]

usage

example

\documentclass[%11pt,
  numbered answer,
  numbered question,
  % scroll,
]{Q-and-A}
\geometry{paperwidth=12cm, paperheight=8.2cm}

\begin{document}
Q:
  What is `...`?

A:
  A `...` is a `...`. It has the following features:

  [Feature A]
    [*Aspect one] Firstly, ...
    [*Aspect two] Secondly, ...

  [Feature B]
    It also ...

Q:
  Can you provide some examples for `...`?

A:
  Certainly. There are many types of `...`, for example:
    [*] *emphasized*
    [*] **bold**
    [*] ***bold and emphasized***
\end{document}

rerunfilecheck

The package provides additional rerun warnings if some auxiliary files have changed. It is based on MD5 checksum, provided by pdfTEX. [ctan.org/pkg/rerunfilecheck]

该包提供额外的重新运行警告,如果某些辅助文件发生了更改。它基于pdfTEX提供的MD5校验和。 [ctan.org/pkg/rerunfilecheck]

responsive

Responsive design aims to display text and other design elements well on variety of outputs, including electronic devices or various paper sizes. It originated on the Web, using Cascading Style Sheets to change design elements.
This package tries to achieve similar results with LaTeX. The main aim is to support the output of multiple editions of one document with readable font sizes regardless of the physical size of the produced PDF, from smartphones or e-ink readers to printed A4 pages. [ctan.org/pkg/responsive]

响应式设计旨在使文本和其他设计元素在多种输出设备上表现良好,包括电子设备或各种纸张大小。它起源于网络,使用层叠样式表来改变设计元素。
该包试图在LaTeX中实现类似的效果。其主要目的是支持同一文档的多个版本的输出,确保无论生成的PDF的物理大小如何,字体大小都可读,从智能手机或电子书阅读器到打印的A4页面。 [ctan.org/pkg/responsive]

usage

example

\documentclass{article}
\usepackage{lipsum}
\usepackage{responsive}

\begin{document}
\noindent
\fbox{
\begin{minipage}{8cm}
  \setsizes[38]{28}
  \huge huge \\ 
  \large large \\
  \normalsize normal \\
  \scriptsize scriptsize
\end{minipage}
}
\fbox{
\begin{minipage}{4cm}
  \mediaquery{min-textwidth=3.9cm}{
    media query matched
    \ResponsiveSetup{scale=tetratonic}
    \setsizes[38]{28}
  }{media query not matched}
  \huge huge \\
  \large large \\
  \normalsize normal \\
  \scriptsize scriptsize
\end{minipage}
}
\noindent
\fbox{
\begin{minipage}{4cm}
  \ResponsiveSetup{scale=tritonic}
  \setsizes[38]{28}
  \huge huge \\
  \large large \\
  \normalsize normal \\
  \scriptsize scriptsize
\end{minipage}
}
\fbox{
\begin{minipage}{4cm}
  \ResponsiveSetup{scale=heptatonic}
  \setsizes[38]{28}
  \huge huge \\
  \large large \\
  \normalsize normal \\
  \scriptsize scriptsize
\end{minipage}
}
\fbox{
\begin{minipage}{4cm}
  \ResponsiveSetup{number=10,ratio=6}
  \setsizes[38]{28}
  \huge huge \\
  \large large \\
  \normalsize normal \\
  \scriptsize scriptsize
\end{minipage}
}
\end{document}

sectionbreak

This package provides LaTeX support for section breaks, used mainly in fiction books to signal changes in a story, like changes in time, location, etc. It supports the asterism symbol, text content, or custom macros as the section break mark symbol. [ctan.org/pkg/sectionbreak]

该包为LaTeX提供了章节分隔符的支持,主要用于小说书籍中以标示故事中的变更,如时间、地点等的变化。它支持星形符号、文本内容或自定义宏作为章节分隔符标记符号。 [ctan.org/pkg/sectionbreak]

usage

example

\documentclass{article}
\usepackage[asterism]{sectionbreak}

\begin{document}
Section separated by three exclamation marks.
\sectionbreak[!!!]
Section separated by asterism section mark requested in \texttt{\textbackslash usepackage}.
\sectionbreak
Section separated by a rule.
\sectionbreakmark{\rule{10em}{3pt}}
\sectionbreak
\end{document}

semesterplanner

This package encapsules several useful environments for a printable semester plan. It includes a timetable (which is using the schedule-Package) as well as appointments, deadlines and exams. While creating my own plan I thought that it could come handy for somebody else, so I extracted the code into a LATEX-package. This package requires color, tikz, schedule and fontawesome. Furthermore documents need to be compiled with LuaLaTeX. [ctan.org/pkg/semesterplanner]

该包封装了多个用于可打印学期计划的有用环境。它包括一个时间表(使用schedule包)以及约会、截止日期和考试。在创建我自己的计划时,我想这可能对其他人有用,因此我将代码提取到一个LATEX包中。该包需要color、tikz、schedule和fontawesome。此外,文档需要使用LuaLaTeX编译。 [ctan.org/pkg/semesterplanner]

usage

example

\documentclass{article}
\usepackage{semesterplanner}

\begin{document}
\begin{timetable}
  \lecture    {Software\\Engineering} {-}    {\zoom}  {M}
  {08:30-10:00} {\phigh}
  \tutorial   {Numerik I}             {\tbd} {\teams} {M}  {16:15-17:45} {\pmid}
  \officehour {Software\\Engineering} {-}    {\zoom}  {T}
  {08:30-10:00} {\phigh}
  \lecture    {Numerik I}             {-}    {\teams} {T}  {10:15-11:45} {\pmid}
  \meeting    {Tutor Meeting}         {-}    {\teams} {T}
  {14:00-15:00} {\phigh}
  \lecture    {Numerik I}             {-}    {\teams} {Th} {14:15-15:45} {\pmid}
  \tutorial   {MfN I}                 {-}    {\teams} {F}  {10:15-11:45} {}
  \seminar    {Machine Learning}      {-}    {\zoom}  {F}
  {12:15-13:45} {\pmandatory}
\end{timetable}
\end{document}

semesterplannerLua

This package provides a mean to easily print a timetable e.g. for a semesterplan. The reason for this package to exist is that I wanted to reimplement https:// github.com/nlschn/semesterplanner/ with printing the timetable with tikz only (which is more easily to be modified) and with the ability of making entries spanning only a fraction of the column (for showing simultanious events). Documents using this package need to be compiled with LuaLaTeX. The package requires xcolor, fontawesome, tikz (and pgfkeys). [ctan.org/pkg/semesterplannerlua]

该包提供了一种简单的方式来打印时间表,例如学期计划。此包的存在原因是我想重新实现https://github.com/nlschn/semesterplanner/,仅使用tikz打印时间表(这更易于修改),并能够创建仅跨越列的一部分的条目(用于显示同时发生的事件)。使用此包的文档需要使用LuaLaTeX编译。该包需要xcolor、fontawesome、tikz(和pgfkeys)。 [ctan.org/pkg/semesterplannerlua]

sidenotesplus

Sidenotesplus is a comprehensive package for placing labeled or referenced notes, temporary alerts, bibliography references, figures and tables into the margin. Marginals can be either floated or at fixed positions relative to the text. Twoside symmetry is preserved. For BibLaTeX users, macros for side references are provided.
Three margin styles are provided. Two-page symmetric layouts either as (i) Ragged outer with note reverences in the margin separator or (ii) justified with last line ragged outer. And (iii) a classic look, justified with last line ragged right and note reference to the left of the note, but two-page symmetry is lost.
The command \sidenote mimics the \footnote command and provides labelled (numbers, alphabetic, roman) references. However, un-numbered and custom symbols can also be specified.
Temporary sidealerts are rendered only if the package option alerton is specified. Alerts are useful as to do reminders during document development.
Furthermore, captions for figures and tables can also be placed into margin. Also, full width environments for figures, tables and text are provided. The text environment can be partially widened, suitable if that extra space for an equation is required. [ctan.org/pkg/sidenotesplus]

Sidenotesplus是一个综合包,用于将标记或引用的注释、临时提醒、文献引用、图形和表格放置在页边。在边缘中的内容可以是浮动的或相对于文本的固定位置。保留两面对称。对于BibLaTeX用户,提供了用于侧面引用的宏。
提供三种边距样式。两页对称布局可选:(i) 边缘不整齐,带有边界分隔符中的注释引用,或(ii) 对齐,最后一行边缘不整齐;还有(iii) 经典风格,对齐,最后一行右边不整齐,注释引用在注释左侧,但失去了两页对称。
命令\sidenote模仿\footnote命令,提供标记(数字、字母、罗马数字)引用。然而,也可以指定无编号和自定义符号。
只有在指定包选项alerton时,临时侧面提醒才会显示。提醒在文档开发过程中非常有用,可以作为待办事项提醒。
此外,对于图形和表格,标题也可以放置在边缘中。同时,也提供了图形、表格和文本的全宽环境。如果需要额外空间放置公式,文本环境可以部分扩展。 [ctan.org/pkg/sidenotesplus]

reference

skrapport

The "skrapport" package on CTAN is a LaTeX document class designed for creating simple yet stylish documents, primarily reports such as those submitted for coursework. It aims to make typesetting these documents as effortless as possible by reimplementing much of the default article class functionality in LaTeX3, with modifications to both form and function for improved usability and aesthetics.
Key features of skrapport include:

  • A small and straightforward design inspired by the PracTeX journal style.
  • Options to control paper size (e.g., A4, A5) and text layout, handled internally via the typearea package.
  • Support for two-column layouts implemented through a combination of the multicol and grid packages.
  • Multiple font stacks available, including kpfonts, lmodern, palatino, minion, skdoc, and word, with special handling for XeLaTeX and LuaLaTeX users.
  • Language support loading either babel or polyglossia for Swedish or English documents.
  • Optional loading of the skmath package for mathematical typesetting improvements.
  • Enhanced author and date macros, including ISO 8601 date formatting and improved author email handling.
  • A range of user-level commands and environments adapted for simple report writing.
  • Compatibility considerations with some LaTeX packages due to its reimplementation in LaTeX3.
    The class is maintained by Simon Sigurdhsson, licensed under the LaTeX Project Public License 1.3, and its latest version is 0.12k dated 2019. It is included in TeX Live and MiKTeX distributions. The package source, documentation, and bug tracker are available on GitHub and CTAN.
    Overall, skrapport is aimed at users who want a modern, clean, and easy-to-use class for reports and similar documents, especially in academic or coursework contexts, with a stylish but straightforward layout and good language and font support options. [ctan.org/pkg/skrapport]

“skrapport”包在CTAN上是一个LaTeX文档类,旨在创建简单但时尚的文档,主要用于课程作业提交的报告。它的目标是通过在LaTeX3中重新实现大部分默认文章类的功能,使这些文档的排版尽可能轻松,同时在形式和功能上进行修改,以改善可用性和美观性。
skrapport的主要特点包括:

  • 小而简单的设计,灵感来源于PracTeX期刊风格。
  • 控制纸张大小(如A4、A5)和文本布局的选项,通过typearea包内部处理。
  • 通过multicol和grid包的结合实施对两列布局的支持。
  • 提供多种字体栈,包括kpfonts、lmodern、palatino、minion、skdoc和word,并为XeLaTeX和LuaLaTeX用户提供特殊处理。
  • 语言支持,加载babel或polyglossia以适应瑞典语或英语文档。
  • 可选加载skmath包以改进数学排版。
  • 增强的作者和日期宏,包括ISO 8601日期格式和改进的作者电子邮件处理。
  • 一系列适用于简单报告写作的用户级命令和环境。
  • 由于在LaTeX3中的重新实现,对于某些LaTeX包的兼容性考虑。
    该类由Simon Sigurdhsson维护,依据LaTeX项目公共许可证1.3授权,最新版本为0.12k,日期为2019年。它已包含在TeX Live和MiKTeX发行版中。包的源代码、文档和错误追踪器可在GitHub和CTAN上获得。
    总体而言,skrapport旨在为那些希望获得现代、简洁且易于使用的报告及类似文档类的用户,特别是在学术或课程作业背景下,提供时尚但简单的布局以及良好的语言和字体支持选项。 [ctan.org/pkg/skrapport]

soul

This version is a merge of the original package soul (version 2.5 which contains some small corrections compared to the version 2.4 from 2003) and the soulutf8 which added some support for UTF-8. Namely the input encodings utf8.def from package inputenc and package ucs’s utf8x.def are supported. The original soul package has been renamed to soul-ori and is still loaded. Its documentation is still relevant. [ctan.org/pkg/soul]

这个版本是原始软件包soul(版本2.5,与2003年的版本2.4相比,包含了一些小的修正)和soulutf8的合并,后者增加了对UTF-8的支持。即,输入编码utf8.def来自软件包inputenc,软件包ucs的utf8x.def也得到了支持。原始的soul软件包已经更名为soul-ori,并仍然被加载。其文档仍然适用。 [ctan.org/pkg/soul]

usage

example

\documentclass{article}
\usepackage{xcolor}
\sethlcolor{yellow}
\setulcolor{blue}
\setstcolor{red}
\usepackage{soul}

\begin{document}
\hl{Highlighted text} % Highlighted text \\
\ul{Underlined text} % Underlined text \\
\st{Strikethrough text} % Strikethrough text \\
\so{Small-caps text} % Small caps \\
\hl{\st{highlighted and strikethrough}}
\end{document}

stage

The "stage" package on CTAN is a LaTeX class specifically designed for creating plays of any length in a standard manuscript format suitable for production and submission. It builds upon the default LaTeX book class and includes special commands and environments tailored to the structure of stage plays, such as title pages, cast pages, acts, scenes, stage directions, and dialogues.
Key features include:

  • Support for title page with contact/address blocks,
  • A dedicated cast page environment with commands to add characters,
  • Commands for acts, scenes, and dialogues,
  • Customization and translation support for automatic text (e.g., changing "The End" to other words),
  • A format that meets common manuscript standards for theatrical scripts,
  • Easy integration with LaTeX for playwrights preparing submission-ready scripts. [ctan.org/pkg/stage]

CTAN上的“stage”包是一个专门为创建任何长度的舞台剧而设计的LaTeX类,采用适合制作和提交的标准手稿格式。它基于默认的LaTeX书籍类,并包含特别命令和环境,适用于舞台剧的结构,例如封面页、角色页、幕、场、舞台指示和对话。
主要特点包括:

  • 支持带有联系方式/地址块的封面页,
  • 一个专用的角色页环境,带有添加角色的命令,
  • 幕、场和对话的命令,
  • 支持自动文本的定制和翻译(例如,将“The End”改为其他字词),
  • 符合戏剧剧本的常见手稿标准格式,
  • 与LaTeX的轻松集成,方便编剧准备提交的剧本。 [ctan.org/pkg/stage]

usage

example

\documentclass{stage}

\title{}
\author{}
% \address{}

\begin{document}
\maketitle
%%% Uncomment the following line to add a quote page.
% \quotepage{Quote}{Author}
%%% Uncomment the next few lines to add a cast page.
% \begin{castpage}
%
\addcharacter{Name}{Description}
%
% \end{castpage}
% The magic happens here...
%
% \act
% \scene
% \opensd{Opening stage directions.}
% \dialog{who}{what}
\end{document}

tabularray

LaTeX tables are implemented using TeX commands such as \halign, \noalign, \span, and \omit. In order to implement new features, many macro packages have modified the inner table commands inside LaTeX. This makes package code complicated, difficult to maintain, and often conflicts with each other.
At present, the LaTeX3 programming layer is basically mature. This tabularray package will discard the old \halign commands and directly use LaTeX3 functions to parse the table, and then typeset the entire table. Under the premise of being compatible with the basic syntax of LaTeX2 tables, this macro package will completely separate the contents and styles of the table, and the styles of the table can be completely set in key-value way. [ctan.org/pkg/tabularray]

LaTeX表格是通过TeX命令如\halign、\noalign、\span和\omit来实现的。为了实现新特性,许多宏包修改了LaTeX内部的表格命令。这使得宏包的代码变得复杂,难以维护,并且经常相互冲突。
目前,LaTeX3编程层基本上已经成熟。这个tabularray包将抛弃旧的\halign命令,直接使用LaTeX3函数来解析表格,然后排版整个表格。在与LaTeX2表格基本语法兼容的前提下,这个宏包将完全分离表格的内容和样式,表格的样式可以完全通过键值方式设置。 [ctan.org/pkg/tabularray]

usage

example

\documentclass{article}
\usepackage{tabularray}

\begin{document}
\begin{tblr}{lccr}
  \hline
  Alpha & Beta & Gamma & Delta \\
  \hline
  Epsilon & Zeta & Eta & Theta \\
  \hline
  Iota & Kappa & Lambda & Mu \\
  \hline
\end{tblr}
\end{document}

tex4ebook

TeX4ebook is a tool for conversion from \LaTeX\ to ebook formats, such as EPUB, MOBI and EPUB 3. It is based on TeX4ht^[https://tug.org/tex4ht/], which provides instructions for the actual \LaTeX\ to HTML conversion, and on make4ht^[https://ctan.org/pkg/make4ht?lang=en].
The conversion is focused on the logical structure of the converted document and metadata. Basic visual appearance is preserved as well, but you should use custom configurations if you want to make the document more visually appealing. You can include custom CSS or fonts in a configuration file.
TeX4ebook supports the same features as make4ht, in particular build files and extensions. These may be used for post-processing of the generated HTML files, or to configure the image conversion. See the make4ht documentation to see the supported features. [ctan.org/pkg/tex4ebook]

TeX4ebook 是一个将 \LaTeX\ 转换为电子书格式(如EPUB、MOBI和EPUB 3)的工具。它基于TeX4ht^[https://tug.org/tex4ht/],该工具提供实际的 \LaTeX\ 到HTML转换的指令;同时基于make4ht^[https://ctan.org/pkg/make4ht?lang=en]。
该转换专注于被转换文档的逻辑结构和元数据。基本的视觉外观也得以保留,但如果你希望让文档在视觉上更加吸引人,应该使用自定义配置。你可以在配置文件中包含自定义 CSS 或字体。
TeX4ebook 支持与 make4ht 相同的功能,尤其是构建文件和扩展。这些可以用于生成的HTML文件的后处理,或者配置图像转换。请参见 make4ht 文档以了解支持的功能。 [ctan.org/pkg/tex4ebook]

typed-checklist

The main goal of this package is to provide means for typesetting checklists in a way that stipulates users to explicitly distinguish checklists for goals, for tasks, for artifacts, and for milestones — i.e., the type of checklist entries.
The intention behind this is that a user of the package is coerced to think about what kind of entries he/she adds to the checklist. This shall yield a clearer result and, in the long run, help with training to distinguish entries of different types. [ctan.org/pkg/typed-checklist]

该包的主要目标是提供一种排版检查表的方法,要求用户明确区分用于目标、任务、工件和里程碑的检查表——即检查表条目的类型。
这样做的目的是让包的用户被迫思考他们添加到检查表中的条目类型。这将产生更清晰的结果,并且从长远来看,有助于训练区分不同类型的条目。 [ctan.org/pkg/typed-checklist]

usage

example

\documentclass{article}
\usepackage{typed-checklist}

\begin{document}
\begin{CheckList}{Goal}
  \Goal{open}{I have a trendy haircut}
  \begin{CheckList}{Task}
    \Task{done}{find a hairdresser}
    \Task{started}{make an appointment}
    \Task{open}{go to the hairdresser}
  \end{CheckList}
  \Goal{achieved}{I have a typed checklist}
\end{CheckList}
\end{document}

typog

This package provides macros for micro-typographic enhancements. It covers a variety of topics:

  • Precise hyphenation control
  • Disable/break ligatures
  • Manual italic correction
  • Extra kerning for slash and hyphen
  • Raising selected characters (e.g. hyphen, en-dash, and em-dash)
  • Aligning of the last line of a paragraph
  • Filling of the last line of a paragraph
  • Word spacing control
  • Microtype front-end
  • Slightly sloppy paragraphs
  • Vertically partially-tied paragraphs
  • Breakable displayed equations
  • Setspace front-end
  • Smooth ragged-right paragraphs
    Moreover, typog provides an environment to flag interesting parts of the information deluge typically accumulating in a LaTeX log-file and an associated tool, typog-grep, that selectively retrieves these parts. [ctan.org/pkg/typog]

该包提供用于微排版增强的宏。它涵盖了多种主题:

  • 精确的连字符控制
  • 禁用/打断连字
  • 手动斜体调整
  • 斜杠和连字符的额外字距
  • 提升选定字符(如连字符、短破折号和长破折号)
  • 对齐段落的最后一行
  • 填充段落的最后一行
  • 控制字间距
  • 微排版前端
  • 略显松散的段落
  • 垂直部分连接的段落
  • 可断开的显示公式
  • 设置行距的前端
  • 平滑的右侧不整齐段落
    此外,typog提供一个环境,用于标记在LaTeX日志文件中通常积累的信息洪流中的有趣部分,以及一个相关工具typog-grep,用于有选择地检索这些部分。 [ctan.org/pkg/typog]

wallcalendar

This package provides a wall calendar class with custom layouts and support for internationalization.
It comes with the following layouts:

  • Full page photo, the calendar days overlaid with opacity
  • Full page photo, the photo above the calendar days
  • Small landscape photo, with a calendar grid
  • Year planner
  • Thumbnails and captions
  • Varnish mask
    There is also support for loading event marks from a CSV file. [ctan.org/pkg/wallcalendar]

这个包提供了一个带有自定义布局和国际化支持的日历类。
它包含以下布局:

  • 全页照片,日历天数覆盖透明度
  • 全页照片,照片在日历天数之上
  • 小型横向照片,带有日历网格
  • 年度规划
  • 缩略图和说明
  • 清漆蒙版
    还支持从CSV文件加载事件标记。 [ctan.org/pkg/wallcalendar]

reference

xcolor

xcolor provides easy driver-independent access to several kinds of colors, tints, shades, tones, and mixes of arbitrary colors by means of color expressions like \color{red!50!green!20!blue}. It allows to select a documentwide target color model and offers tools for automatic color schemes, conversion between twelve color models, alternating table row colors, color blending and masking, color separation, and color wheel calculations. [ctan.org/pkg/xcolor]

xcolor通过颜色表达式(如 \color{red!50!green!20!blue})提供了独立于驱动程序的多种颜色、色调、阴影、色彩和任意颜色混合物的便捷访问。它允许选择文档范围内的目标颜色模型,并提供自动颜色方案、在十二种颜色模型之间转换、交替表格行颜色、颜色混合和遮罩、颜色分离,以及颜色轮计算的工具。 [ctan.org/pkg/xcolor]

appdedix

\listfiles

The command \listfiles in LaTeX is used to generate a list of all the files used during the compilation of the document. This command should be placed in the preamble of your LaTeX document, before the \begin{document} command.

Here are some key features of \listfiles:

  • Output: When you compile the document, LaTeX will create a log file (with a .log extension) that includes a list of all the packages and files that were loaded during the compilation process, along with their versions. This information is printed in the console output as well.

  • Useful for Debugging: Using \listfiles is particularly helpful for debugging and ensuring that you are using the correct versions of packages or to check which packages are being loaded. This can be helpful if you are encountering issues that may be related to package compatibility.

  • Not Visible in Document: The command does not produce any visible output in the final document; it only affects the compilation log.

Here’s a simple example of how to use \listfiles:

\documentclass{article}
\listfiles % Lists files used during compilation

\begin{document}

This is a sample document.

\end{document}

After you compile this document, check the log file or the terminal output, and you should see a listing of all the packages used along with their respective versions. [GPT-4o mini]

在 LaTeX 中,命令 \listfiles 用于生成在文档编译过程中使用的所有文件的列表。此命令应放置在 LaTeX 文档的导言区,即 \begin{document} 命令之前。

以下是 \listfiles 的一些关键特性:

  • 输出:当你编译文档时,LaTeX 会创建一个日志文件(扩展名为 .log),其中包含在编译过程中加载的所有软件包和文件的列表,以及它们的版本信息。这些信息也会打印在控制台输出中。

  • 有助于调试:使用 \listfiles 特别有助于调试,确保你使用的是正确版本的软件包,或者检查正在加载哪些软件包。如果你遇到可能与软件包兼容性有关的问题,这会非常有帮助。

  • 文档中不可见:该命令不会在最终文档中产生任何可见输出;它仅影响编译日志。

以下是使用 \listfiles 的简单示例:

\documentclass{article}
\listfiles % 列出编译过程中使用的文件

\begin{document}

这是一个示例文档。

\end{document}

编译完此文档后,请检查日志文件或终端输出,你应该能看到所有使用过的软件包及其各自版本的列表。 [GPT-4o mini]

\null

The command \null in LaTeX is used to create an empty box or a "null" element. It effectively serves several purposes:

  • Creates an Empty Box: When you use \null, it produces a box with zero height and zero width. This can be useful in various situations where you need a placeholder or need to force material to appear in a certain way without adding visible content.

  • Control Spacing: You can use \null to manipulate spacing and layout. For example, placing \null before or after other elements can help with alignment without displaying any text.

  • Preventing Underfull Boxes: In some situations where you might be dealing with typesetting issues, inserting \null can help avoid warnings about underfull or overfull boxes by creating a space that LaTeX can use.

Here's an example to illustrate the use of \null:

\documentclass{article}
\begin{document}

This is some text.

\null % Inserts an empty box

This text appears after a null box.
\end{document}

In this code, \null does not produce any visible output but serves as a point in the text where you might want to control alignment or spacing. [GPT-4o mini]

命令 \null 在 LaTeX 中用于创建一个空盒子或“空”元素。它有效地服务于多个目的:

  • 创建一个空盒子:当你使用 \null 时,它会生成一个高度和宽度都为零的盒子。这在需要占位符或者需要强制材料以某种方式出现而不添加可见内容的各种情况下非常有用。

  • 控制间距:你可以使用 \null 来操控间距和布局。例如,在其他元素之前或之后放置 \null 可以帮助对齐而不显示任何文本。

  • 防止欠满盒子:在某些情况下,当你处理排版问题时,插入 \null 可以帮助避免关于欠满或过满盒子的警告,通过创建一个 LaTeX 可以使用的空间。

以下是一个使用 \null 的示例:

\documentclass{article}
\begin{document}

这是一段文本。

\null % 插入一个空盒子

这段文本在空盒子后出现。
\end{document}

在这段代码中,\null 不产生任何可见的输出,但作为文本中的一个点,可以帮助你控制对齐或间距。 [GPT-4o mini]

\twoside

The \twoside option in LaTeX is used in document classes to specify that the document will be printed on both sides of the pages (duplex printing). When you enable this option, LaTeX adjusts the layout of the pages to account for the binding on the left side for odd-numbered pages and the right side for even-numbered pages. This results in appropriate margins for text to be comfortably read.

Here are some key points about the \twoside option:

  • Usage: You can enable the \twoside option by including it in the document class declaration. For example:
\documentclass[twoside]{article}
  • Margin Adjustments: When \twoside is enabled, LaTeX automatically adjusts the inner and outer margins. The inner margin is larger to allow for binding, while the outer margin is smaller to keep the text looking balanced.

  • Different First Page: In a two-sided document, LaTeX treats the first page differently. It typically uses a different layout for odd and even pages, allowing for a more polished appearance.

  • Benefits: Using \twoside is beneficial for documents such as theses or books, where printed copies will be bound.

Here's a simple example of using the \twoside option in a LaTeX document:

\documentclass[twoside]{book}

\begin{document}

\chapter{Introduction}
This is the introduction chapter.

\newpage

\chapter{Second Chapter}
This is the second chapter.

\end{document}

In this example, the document is set up as a book with the \twoside option, which means LaTeX will apply appropriate formatting and margins for both odd and even pages. [GPT-4o mini]

\twoside 选项在 LaTeX 中用于指定文档类,以便文档将在页面的两面打印(双面打印)。启用此选项后,LaTeX 会调整页面的布局,以考虑奇数页左侧的装订和偶数页右侧的装订。这将使文本的边距适合舒适阅读。

以下是有关 \twoside 选项的一些关键点:

  • 用法:您可以通过在文档类声明中包含此选项来启用 \twoside。例如:
\documentclass[twoside]{article}
  • 边距调整:启用 \twoside 时,LaTeX 会自动调整内侧和外侧边距。内侧边距较大,以便于装订,而外侧边距较小,以保持文本的平衡性。

  • 不同的首页:在双面文档中,LaTeX 对首页的处理是不同的。它通常对奇数页和偶数页使用不同的布局,从而使外观更加精致。

  • 好处:使用 \twoside 对于诸如论文或书籍等文档是有益的,因为打印的副本将被装订。

以下是一个在 LaTeX 文档中使用 \twoside 选项的简单示例:

\documentclass[twoside]{book}

\begin{document}

\chapter{引言}
这是引言章节。

\newpage

\chapter{第二章节}
这是第二章节。

\end{document}

在这个示例中,文档设置为一本书,并启用了 \twoside 选项,这意味着 LaTeX 将为奇数页和偶数页应用适当的格式和边距。 [GPT-4o mini]

LÖVE

reference

resource

later

cache

Lua

install

# Windows 10
scoop instlal lua51
# Termux
pkg install lua53 luarocks

reference

cross-reference

cache

resource

cache

hererocks

install

# Pip
uv tool install hererocks

usage

# Arch
mkdir $HOME/Usr/Lib
cd $HOME/Usr/Lib
hererocks lua53 -l5.3 -rlatest
source lua53/bin/activate
lua -v
deactivate-lua
# add $HOME/Usr/Lib/lua51/bin/ into path

LuaJIT

Build from source

1

# MSYS2
git clone --depth=1 https://luajit.org/git/luajit.git
cd luagit
git checkout v2.1
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make
make CFLAGS=-DLUAJIT_ENABLE_LUA52COMPAT TARGET_LDFLAGS=-mwindows

Node.js

usage

# Download and install pnpm
corepack enable pnpm

cross-reference

mark

NPM

usage

Publish npm package

npm login
# Publish
npm init
npm publish
# npm version patch
# Deprecate
npm deprecate <pkg> "Deprecate `<pkg>`"

Other

npm config set proxy http://127.0.0.1:<port>
npm config set https-proxy http://127.0.0.1:<port>
npm config get proxy
npm config get https-proxy
npm config delete proxy
npm config delete https-proxy
npm config get proxy
npm config get https-proxy

nvm

install

# Arch
sudo pacman -S nvm

1

# Windows 10
scoop install nvm
# Termux
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

usage

# Arch
nvm install --lts
nvm use --lts
# Windows 10
nvm list available
nvm install lts
nvm use lts
# nvm install iron
# nvm install hydrogen

2

# Termux
PREFIX= nvm install stable
PREFIX= nvm use --delete-prefix stable

config

vim ~/.nvm/settings.txt
node_mirror: https://npmmirror.com/mirrors/node/

reference

cross-reference

mark

cache

pnpm

install

# Arch
sudo pacman -S pnpm
# Windows 10
scoop install pnpm

Python

install

# Windows 10
scoop install python310
scoop install python312

usage

command

# Install pkg from a specified package index URL of the Python Package Index (PyPI)
pip install <pkg> --index-url https://pypi.org/simple

# Remove all cached packages
pip cache purge

# Install pipx
python -m pip install pipx
pipx ensurepath

Publish python package

1

python -m pip install -e .
python -m pip install build twine
python setup.py sdist bdist_wheel
python -m build

cross-reference

mark

later

cache

reference

Anaconda

1

config

subl ~/.condarc
channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/r
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.ustc.edu.cn/anaconda/cloud
  bioconda: https://mirrors.ustc.edu.cn/anaconda/cloud
conda clean -i

Beautiful Soup

reference

Jupyter

install

pip install jupyterlab

usage

# pip install --user ipykernel
# ipython kernel install
jupyter-lab

Miniconda

install

# Arch
yay -S --noconfirm miniconda3
# Windows 10
scoop install miniconda3-py310

config

# Arch
conda init zsh
# Windows 10
conda init cmd.exe

pipx

install

sudo pacman -S python-pipx

pyenv-virtualenv

install

1

git clone --depth=1 https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
vim ~/.zshrc
eval "$(pyenv virtualenv-init -)"
source ~/.zshrc
pyenv virtualenv 3.9.13 <venv>
cd <project>
pyenv local <venv>

pyenv

install

# Arch
sudo pacman -S pyenv

1 2

# Ubuntu 22 ARM
sudo apt update
sudo apt-get install -y build-essential curl libbz2-dev libffi-dev liblzma-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev libxml2-dev libxmlsec1-dev llvm make tk-dev wget xz-utils zlib1g-dev
git clone --depth=1 https://github.com/pyenv/pyenv.git ~/.pyenv
vim ~/.zshrc
export PYENV_ROOT="$HOME/.pyenv"
[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
source ~/.zshrc

3 4

# Windows 10
git clone --depth=1 https://github.com/pyenv-win/pyenv-win ~/.pyenv

usage

# Windows 10
# mkdir ~/.pyenv/cache
# Put pkg-files into ~/.pyenv/cache
# pyenv install -l | findstr 3.7
# pyenv install 3.7.9-win32
pyenv install -l | findstr 3.11
pyenv install 3.11.9
pyenv shell 3.11
# pyenv install 3.11-dev
# pyenv global 3.11-dev
# pyenv shell 3.11-dev
# pip install build wheel

reference

uv

install

# Arch
sudo pacman -S uv
# Windows 10
scoop install python310
scoop install python311
scoop install python312
scoop install uv

usage

# Install a specific version
uv python list
uv python install <version>
uv python pin <version>
# Install a package
uv tool install <pkg>
# Create a virtual environment
uv venv .venv --python <version>
uv venv
# Arch
source .venv/Scripts/activate
deactivate
# Windows 10
.venv\Scripts\activate
deactivate.bat
# Create a virtual environment and install all dependencies
# Or sync virtual environment
uv sync
# Activate the virtual environment and execute a command
uv run <script> <input_text>
# Install in development/editable mode
uv pip install -e .
# Initialize a project
uv init <project> --name <package> --python 3.12

virtualenv

install

pyenv exec pip install virtualenv

usage

virtualenv <venv>
source <venv>/bin/activate

Renpy

usage

Build Distributions (Windows 10)

  1. Download SDK.zip from Download Ren'Py.
  2. Decompress it to renpy-*-sdk\.
  3. Run renpy-*-sdk\renpy.exe.
  4. preferences → General → Projects Directory → <path_to>\proj_renpy → Return.
  5. cd <path_to>\proj_renpy.
  6. git clone --depth=1 https://codeberg.org/fhs/katawa-shoujo-re-engineered.
  7. Renpy → PROJECTS → refresh → Select katawa-shoujo-re-engineered.
  8. Build Distributions → Build.

Build Android (Windows 10)

  1. Install JDK and Gradle. For example:
  2. Download and Decompress OpenJDK21U-jdk_x64_windows_hotspot_21.0.4_7.zip to jdk-21.04\.
  3. Download and Decompress gradle-8.5-bin.zip to gradle-8.5\. Or put gradle-8.5-bin.zip into %USERPROFILE%\.gradle\wrapper\dists\gradle-8.5-bin\<some_string>\.
  4. Add jdk-21.04\bin, gradle-8.5\bin into PATH.
  5. Restart Renpy.
  • Renpy → Android → Build
    1. Install SDK
    2. Generate Keys
    3. Build Package

Build renpy documentation (Ubuntu 24.04 ARM)

1

sudo apt install virtualenvwrapper python3-dev libavcodec-dev libavformat-dev libswresample-dev libswscale-dev libharfbuzz-dev libfreetype6-dev libfribidi-dev libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh
mkvirtualenv renpy
pip install -U setuptools future six typing pefile requests ecdsa
pip install -U "cython<3.0.0"
git clone --depth=1 https://www.github.com/renpy/pygame_sdl2
pushd pygame_sdl2
python setup.py install
python install_headers.py $VIRTUAL_ENV
popd
LATEST_RELEASE=$(curl -s https://api.github.com/repos/renpy/renpy/releases/latest | jq -r .tag_name)
wget https://github.com/renpy/renpy/archive/refs/tags/$LATEST_RELEASE.zip
unzip $LATEST_RELEASE.zip
pushd renpy-*
pushd module
python setup.py install
cd ..
pushd sphinx
pip install -U sphinx sphinx_rtd_theme sphinx_rtd_dark_mode
./build.sh

cross-reference

reference

resource

mark

later

cache

Cancal

Ruby

install

Install specific versions

Get ruby-2.7.2.tar.bz2 from Ruby 2.7.2 Released.

tar -xjf ruby-2.7.2.tar.bz2 -C ruby-2.7.2
cd ruby-2.7.2
./configure
make
sudo make install
ruby-build 2.7.2 ~/Usr/Lib/ruby-2.7.2

cross-reference

mark

cache

chruby

install

yay -S --noconfirm chruby

rbenv

install

sudo pacman -S rbenv
yay -S --noconfirm ruby-build
# git clone --depth=1 https://github.com/rbenv/ruby-build "$(rbenv root)"/plugins/ruby-build

rbenv for Windows

$env:HOME = "C:\Users\User"
$env:RBENV_ROOT = "$env:HOME\Usr\Lib\rbenv"
iwr -useb "https://github.com/RubyMetric/rbenv-for-windows/raw/main/tool/install.ps1" | iex
$env:RBENV_USE_MIRROR = "CN"
& "$ENV:RBENV_ROOT\rbenv\bin\rbenv.ps1" init
  1. Set variable RBENV_ROOT=C:\Users\User\Usr\Lib\rbenv.
  2. Add %RBENV_ROOT%\rbenv\bin, %RBENV_ROOT%\shims into PATH.

usage

rbenv install <version>

Rust

install

1

# Arch
sudo pacman -S rustup
# Windows 10
scoop install rustup
# Ubuntu 22 ARM
sudo apt install rustc cargo

usage

rustup default stable
rustup update

reference

cross-reference

cache

Cargo-sweep

install

# Arch
yay -S --noconfirm cargo-sweep
# Cargo
cargo install --force cargo-sweep

usage

cd <repo>
cargo sweep --time 30
cargo sweep --toolchains stable
cargo sweep --installed

Slidev

usage

1

pnpm create slidev
cd <proj_dir>
pnpm install @slidev/theme-seriph
pnpm install --save-dev prettier prettier-plugin-slidev
subl .prettierrc.json
# Copy from https://sli.dev/features/prettier-plugin#_2-activate-the-plugin
pnpm run dev
pnpm run build

optional

pnpm add -D playwright-chromium
pnpm exec playwright install
pnpm run export
# slidev export --with-toc --output <filename>
# slidev export -format pptx --dark
# slidev export -format png --omit-background

reference

annex

appdedix


tags:

  • Slidev
  • Syntax

Block Frontmatter

---
theme: default
---

# Slide 1

---

```yaml
layout: quote
```

# Slide 2

---

# Slide 3

Building and Hosting


tags:

  • Presenter
  • Animation

Click Markers

<!--
Content before the first click

[click] This will be highlighted after the first click

Also highlighted after the first click

- [click] This list element will be highlighted after the second click

[click:3] Last click (skip two clicks)
-->

tags:

  • Layout

Draggable Elements

# Directive - Data from the frontmatter

---
dragPos:
  square: Left,Top,Width,Height,Rotate
---

<img v-drag="'square'" src="https://sli.dev/logo.png">
# Directive - Data from the directive value

<img v-drag="[Left,Top,Width,Height,Rotate]" src="https://sli.dev/logo.png">
# Component - Data from the frontmatter

---
dragPos:
  foo: Left,Top,Width,Height,Rotate
---

<v-drag pos="foo" text-3xl>
  <div class="i-carbon:arrow-up" />
  Use the `v-drag` component to have a draggable container!
</v-drag>
# Component - Data from props

<v-drag pos="Left,Top,Width,Height,Rotate" text-3xl>
  <div class="i-carbon:arrow-up" />
  Use the `v-drag` component to have a draggable container!
</v-drag>
# Draggable Arrow

<v-drag-arrow />

tags:

  • Drawing

Drawing & Annotations

---
drawings:
  persist: true
  presenterOnly: true
  # enabled: false
  # enabled: dev
---

tags:

  • Theme
  • CLI

Eject Theme

---
theme: ./theme
---
slidev theme eject

Frontmatter & Headmatter

---
theme: seriph
title: Welcome to Slidev
---

# Slide 1

The frontmatter of this slide is also the headmatter

---
layout: center
background: /background-1.png
class: text-white
---

# Slide 2

A page with the layout `center` and a background image

---

# Slide 3

A page without frontmatter

---
src: ./pages/4.md  # This slide only contains a frontmatter
---

---

# Slide 5

tags:

  • Syntax

Frontmatter Merging

# ./slides.md

---
src: ./cover.md
background: https://sli.dev/bar.png // [!code highlight]
class: text-center
---
# ./cover.md

---
layout: cover
background: https://sli.dev/foo.png // [!code highlight]
---

# Cover

Cover Page

Will be:

---
layout: cover
background: https://sli.dev/bar.png // [!code highlight]
class: text-center
---

# Cover

Cover Page

tags:

  • Export
  • Build

Generate PDF when Building

---
download: true
# download: 'https://remote.com/skip-render.pdf'
---

tags:

  • Navigation
  • Layout

Global Layers

<!-- global-bottom.vue -->
<template>
  <footer class="absolute bottom-0 left-0 right-0 p-2">Your Name</footer>
</template>
<!-- custom-nav-controls -->
<template>
  <button class="icon-btn" title="Next" @click="$nav.next">
    <div class="i-carbon:arrow-right" />
  </button>
</template>
<!-- hide the footer from Page 4 -->
<template>
  <footer
    v-if="$nav.currentPage !== 4"
    class="absolute bottom-0 left-0 right-0 p-2"
  >
    Your Name
  </footer>
</template>
<!-- hide the footer from "cover" layout -->
<template>
  <footer
    v-if="$nav.currentLayout !== 'cover'"
    class="absolute bottom-0 left-0 right-0 p-2"
  >
    Your Name
  </footer>
</template>
<!-- an example footer for pages -->
<template>
  <footer
    v-if="$nav.currentLayout !== 'cover'"
    class="absolute bottom-0 left-0 right-0 p-2"
  >
    {{ $nav.currentPage }} / {{ $nav.total }}
  </footer>
</template>
<!-- custom-nav-controls -->
<!-- hide the button in Presenter model -->
<template>
  <button v-if="!$nav.isPresenter" class="icon-btn" title="Next" @click="$nav.next">
    <div class="i-carbon:arrow-right" />
  </button>
</template>

tags: - Components

Icons

<uim-rocket />
<uim-rocket class="text-3xl text-red-400 mx-2" />
<uim-rocket class="text-3xl text-orange-400 animate-ping" />

tags:

  • Codeblock
  • Syntax

Import Code Snippets

<<< @/snippets/snippet.js#region-name ts {monaco}{height:200px}
<<< @/snippets/snippet.js {2,3|5}{lines:true}
<<< @/snippets/snippet.js {*}{lines:true}

tags:

  • Syntax

Importing Slides

# ./slides.md

# Title

This is a normal page

---
src: ./pages/toc.md // [!code highlight]
---

<!-- this page will be loaded from './pages/toc.md' -->

Contents here are ignored

---

# Page 4

Another normal page

---
src: ./pages/toc.md   # Reuse the same file // [!code highlight]
---
# ./pages/toc.md

# Table of Contents

Part 1

---

# Table of Contents

Part 2

Import file:

---
src: ./another-presentation.md#2,5-7
---

tags: - Codeblock - Syntax

LaTeX

$\sqrt{3x-1}+(1+x)^2$
$$ {1|3|all}
\begin{aligned}
\nabla \cdot \vec{E} &= \frac{\rho}{\varepsilon_0} \\
\nabla \cdot \vec{B} &= 0 \\
\nabla \times \vec{E} &= -\frac{\partial\vec{B}}{\partial t} \\
\nabla \times \vec{B} &= \mu_0\vec{J} + \mu_0\varepsilon_0\frac{\partial\vec{E}}{\partial t}
\end{aligned}
$$

Layout

---
layout: quote
---

tags:

  • Codeblock
  • Animation

Line Highlighting

```ts {none|2-3|5|all|hide}
function add(
  a: Ref<number> | number,
  b: Ref<number> | number
) {
  return computed(() => unref(a) + unref(b))
}
```

Line Numbers

```ts {6,7}{lines:true,startLine:5}
function add(
  a: Ref<number> | number,
  b: Ref<number> | number
) {
  return computed(() => unref(a) + unref(b))
}
```
```ts {*}{lines:true,startLine:5}
// ...
```

tags:

  • Codeblock
  • Layout

Max Height

```ts {2|3|7|12}{maxHeight:'100px'}
function add(
  a: Ref<number> | number,
  b: Ref<number> | number
) {
  return computed(() => unref(a) + unref(b))
}
/// ...as many lines as you want
const c = add(1, 2)
```
```ts {*}{maxHeight:'100px'}
// ...
```

tags:

  • Syntax
  • Styling

MDC Syntax

---
mdc: true
---

This is a [red text]{style="color:red"} :inline-component{prop="value"}

![](/image.png){width=500px lazy}

::block-component{prop="value"}
The **default** slot
::

tags:

  • Diagram

Mermaid Diagrams

```mermaid {theme: 'neutral', scale: 0.8}
graph TD
B[Text] --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]
```

tags:

  • Codeblock
  • Editor

Monaco Editor

```ts {monaco}
console.log('HelloWorld')
```

tags:

  • Codeblock
  • Editor

Monaco Runner

```ts {monaco-run}
function distance(x: number, y: number) {
  return Math.sqrt(x ** 2 + y ** 2)
}
console.log(distance(3, 4))
```

tags:

  • Navigation
  • Styling

Navigation Direction Variants

/* example: delay on only forward but not backward */
.slidev-nav-go-forward .slidev-vclick-target {
  transition-delay: 500ms;
}
.slidev-nav-go-backward .slidev-vclick-target {
  transition-delay: 0;
}
<div v-click class="transition forward:delay-300">Element</div>

Notes

---
layout: cover
---

# Slide 1

This is the cover page.

<!-- This is a **note** -->

---

# Slide 2

<!-- This is NOT a note because it is not at the end of the slide -->

The second page

<!--
This is _another_ note
-->

tags:

  • Diagram

PlantUML Diagrams

```plantuml
@startuml
Alice -> Bob : Hello!
@enduml
```

tags:

  • Drawing
  • Animation

Rough Markers

<span v-mark="{ at: 5, color: '#234', type: 'circle' }">
Important text
</span>

tags:

  • Codeblock
  • Animation

Shiki Magic Move

````md magic-move
```js
console.log(`Step ${1}`)
```
```js
console.log(`Step ${1 + 1}`)
```
```ts
console.log(`Step ${3}` as string)
```
````
````md magic-move {at:4, lines: true} // [!code hl]
```js {*|1|2-5} // [!code hl]
let count = 1
function add() {
  count++
}
```

Non-code blocks in between as ignored, you can put some comments.

```js {*}{lines: false} // [!code hl]
let count = 1
const add = () => count += 1
```
````

tags:

  • Layout

Slide Canvas Size

---
# aspect ratio for the slides
aspectRatio: 16/9
# real width of the canvas, unit in px
canvasWidth: 980
---

# Your slides here

tags:

  • Client-API

Slide Hooks

import { onSlideEnter, onSlideLeave, useIsSlideActive } from '@slidev/client'

const isActive = useIsSlideActive()

onSlideEnter(() => {
  /* Called whenever the slide becomes active */
})

onSlideLeave(() => {
  /* Called whenever the slide becomes inactive */
})

tags:

  • Styling
  • Syntax

Slide Scope Styles

# Slidev

> Hello **world**

<style>
blockquote {
  strong {
    --uno: 'text-teal-500 dark:text-teal-400';
  }
}
</style>

tags:

  • Layout
  • Syntax

Slot Sugar for Layouts

---
layout: two-cols
---

::right::

# Right

This shows on the right

::default::

# Left

This is shown on the left

tags:

  • Layout

The Transform Component

<Transform :scale="0.5">
  <YourElements />
</Transform>

Theme and Addons

---
theme: seriph
addons:
  - '@slidev/plugin-notes'
---

tags:

  • Codeblock

TwoSlash Integration

```ts twoslash
import { ref } from 'vue'

const count = ref(0)
//            ^?
```

tags:

  • Codeblock
  • Editor

Writable Monaco Editor

<<< ./some-file.ts {monaco-write}

tags:

  • Layout

Zoom Slides

zoom: 0.8

typst

install

scoop install typst
# VSCodium
scoop install tinymist typstyle

reference

asset

resource

mark

later

extra

cache

opt

cross-reference

mark

later

extra

cache

resource

mark

later

extra

cache

abogen

install

# Windows 10
git clone --depth=1 https://github.com/denizsafak/abogen
cd abogen
uv venv
source .venv/bin/activate
uv pip install torch torchaudio torchvision --index-url https://download.pytorch.org/whl/cu128
uv pip install abogen
abogen
# Arch
python -m venv .abogen
source .abogen/bin/activate
pip3 install abogen
# For AMD GPU
pip3 uninstall torch 
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.4
ln -sfn $(pwd)/.abogen/bin/abogen ~/.local/bin/abogen
deactivate

arch1t3cht's Aegisub "fork"

reference

Anki

optional

  • Tools → Preferences → Syncing.
    • Self-hosted sync server http://<your_host>:<port>.
      • If <your_host> don't work, try used ip.
    • AnkiWeb Account → Login → Used <username>, <password> set in Anki Sync Server's environment SYNC_USER.

reference

cross-reference

extra

resource

later

extra

cache

AnythingLLM

install

# Windows 10
scoop install anythingllm

reference

mark

later

cache

Aseprite

Animated sprite editor & pixel art tool (Windows, macOS, Linux). [aseprite/aseprite]

动画精灵编辑器和像素艺术工具(适用于Windows、macOS、Linux)。 [aseprite/aseprite]

resource

cache

Audacity

Audacity is an easy-to-use, multi-track audio editor and recorder for Windows, macOS, GNU/Linux and other operating systems. Audacity is free, open source software. [audacityteam.org]

Audacity是一款易于使用的多轨音频编辑和录音软件,适用于Windows、macOS、GNU/Linux和其他操作系统。Audacity是免费的开源软件。 [audacityteam.org]

install

# Arch
sudo pacman -S audacity
# Windows 10
scoop install audacity

usage

  • Edit → Preferences
    • Libraries → FFmpeg Library → Locate → C:\Users\User\Scoop\apps\ffmpeg-shared\current\bin\avformat-62.dll
    • Modules → mod-script-pipe → Enabled
  • Effect → Noise Removal and Repair
    • Noise Reduction
    • Noise Gate

reference

AudioBookConverter

AudioBookConverter was originally designed as simple and lightweight application to convert a set of mp3 files to a single m4b (aac) file to be played on your i-device (or any device now) Over time AudioBookConverter evolved and currently can support conversion of most of popular formats to m4b, it also can handle existing m4b files and process them. AudioBookConverter can work smart to find relevant artwork and can do advanced chapter management.
Note: Mac and Linux versions are experimental and may require some skills to install and run them and may not work as you expect [yermak/AudioBookConverter]

AudioBookConverter最初设计为一个简单轻量的应用程序,可以将一组mp3文件转换为单个m4b(aac)文件,以便在您的i设备(或任何设备)上播放。随着时间的推移,AudioBookConverter逐渐发展,目前可以支持将大多数流行格式转换为m4b,它还可以处理现有的m4b文件并对其进行处理。AudioBookConverter能够智能地查找相关的封面艺术,并且可以进行高级章节管理。
注意:Mac和Linux版本是实验性的,可能需要一定的技能来安装和运行,且可能无法如您所期望的那样正常工作。 [yermak/AudioBookConverter]

usage

For example, I have chapters audio files for a book.

  1. Add → Folder → Add folder.
  2. If audio files alright have title → Chapters → Chapter 1 → Edit
    • "Chapter" (Off)
    • Chapter No (Off) title
    • Duration (Off)
    • Apply for all chapters (On)
  3. If not have, Chapter 1 → Edit → Enter custom title. Do it for every chapters.
  4. Edit Book Info.
  5. Go tab Art Work, Add the cover picture.
  6. Quality:
    Preset: android 5+
    Format: m4b
    Split by: parts
    Speed: 1.0
    Sampling frequency, Hz: 44100
    Channels: 2
    Cut-off frequencies higher than: 12000
    Force re-encoding: Auto
    Constant bitrate, kb/s: 128
    
  7. Start.

Name template

Book filename teamplate:

<WRITER><if(SERIES)> - <SERIES><if(BOOK_NUMBER)> - Book <BOOK_NUMBER; format="%,02d"><endif><endif> - <TITLE><if(NARRATOR)> {<NARRATOR>}<endif>

Book Part filename template (Default):

<if(WRITER)><WRITER> <endif><if(SERIES)>- [<SERIES><if(BOOK_NUMBER)> -<BOOK_NUMBER><endif>] - <endif><if(TITLE)><TITLE><endif><if(NARRATOR)> (<NARRATOR>)<endif><if(YEAR)>-<YEAR><endif><if(PART)>, Part <PART; format="%,03d"><endif>

Chapter template (Default):

<if(BOOK_NUMBER)><BOOK_NUMBER>. <endif><if(BOOK_TITLE)><BOOK_TITLE>. <endif><if(CHAPTER_TEXT)><CHAPTER_TEXT> <endif><if(CHAPTER_NUMBER)><CHAPTER_NUMBER; format="%,03d"> <endif><if(TAG)><TAG> <endif><if(CUSTOM_TITLE)><CUSTOM_TITLE> <endif><if(DURATION)> - <DURATION; format="%02d:%02d:%02d"><endif>

appdedix

audiobookconverter

BallonsTranslator

深度学习辅助漫画翻译工具,支持一键机翻和简单的图像/文本编辑。 [dmMaze/BallonsTranslator]

Yet another computer-aided comic/manga translation tool powered by deep learning. [dmMaze/BallonsTranslator]

install

git clone --depth=1 https://github.com/dmMaze/BallonsTranslator
cd BallonsTranslator
uv venv --python 3.12
.venv\Scripts\activate
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu124
uv pip install -r requirements.txt
uv pip install pip
launch_win.bat

usage

python launch.py

config

  • Setting
    • DL Module → Translator
    • General → Typesetting → Auto layout (Off)

annex

rem start_ballonstranslator.bat
@echo off

cd C:\Users\User\Usr\OptWeb\SakuraLLM
start .venv\Scripts\python.exe server.py --trust_remote_code --model_name_or_path models/sakura-13b-lnovel-v0.9b-Q2_K.gguf --model_version 0.9 --no-auth --llama_cpp --use_gpu --log debug

cd C:\Users\User\Usr\OptWeb\BallonsTranslator
start .venv\Scripts\python.exe launch.py

pause

appdedix

ballonstranslator

chaiNNer

A node-based image processing GUI aimed at making chaining image processing tasks easy and customizable. Born as an AI upscaling application, chaiNNer has grown into an extremely flexible and powerful programmatic image processing application. [chaiNNer-org/chaiNNer]

一个基于节点的图像处理图形用户界面,旨在使图像处理任务的链式操作变得简单且可定制。作为一款AI放大应用程序,chaiNNer发展成为一个极其灵活和强大的编程图像处理应用程序。 [chaiNNer-org/chaiNNer]

  1. Get chaiNNer-windows-x64-**.zip from Releases.
  2. Decompress .zip to chaiNNer/.
  3. Download cpython-3.11.5+20230826-x86_64-pc-windows-msvc-shared-install_only.tar.gz from integratedPython.ts1.
  4. Decompress .tar.gz to python/.
  5. Put python/ into chaiNNer/python/.

Enable model architecture support

cd chaiNNer/python/python
# pytorch
python -m pip install torch==2.1.2 torchvision==0.16.2 --index-url https://download.pytorch.org/whl/cu121
python -m pip install facexlib==0.3.0 einops==0.6.1 safetensors==0.4.0 spandrel==0.3.4 spandrel-extra-arches==0.1.1
# ncnn
python -m pip install ncnn==2023.6.18
# onnx
python -m pip install onnx==1.16.0 onnxoptimizer==0.3.13 onnxruntime-gpu==1.17.1 protobuf==4.24.2
  1. Get PyTorch models from Model Architecture Support or get ONNX model from Model Architecture Support. Or find models in multiple formats on OpenModelDB.
  2. Or you can convert PyTorch model to ONNX, NCNN model in chaiNNer.
  3. chaiNNer → Manage Dependencies → Packages → PyTorch, ONNX, NCNN → Install
  4. Restart chaiNNer.
  5. Usage with LOAD MODEL node and corresponding node for PROCESSING.

Enable Stable Diffusion (External)

cd stable-diffusion-webui
webui-user.bat --api
  1. chaiNNer → Settings → Advanced → Enable experimental features → Restart chaiNNer
  2. chaiNNer → Use System Python instead

reference

appdedix

chainner

clawPDF

usage

  • PDF阅读器 → 打印 → clawPDF → 属性 → 页面设置 → 方向(横向) → 确定 → 缩放类型(每张纸多页面) → 每张页面数(2)

appdedix

clawpdf

CUETools

install

# Arch
sudo pacman -S cuetools
# Windows 10
scoop install cuetools

usage

  • 导出 → [%directoryname%\]%artist% - %album%\%filename%-new[%unique%].cue

Darktable

darktable is an open source photography workflow application and non-destructive raw developer - a virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images, enhance them and export them to local or remote storage. [darktable-org/darktable]

darktable是一款开源摄影工作流应用程序和非破坏性RAW开发工具——为摄影师提供的虚拟灯箱和暗房。它在数据库中管理您的数字底片,让您通过可缩放的灯箱查看它们,并使您能够开发RAW图像、增强图像并将其导出到本地或远程存储。 [darktable-org/darktable]

install

# Arch
sudo pacman -S darktable
# Windows 10
scoop install darktable

resource

cache

DBeaver

Free multi-platform database tool for developers, SQL programmers, database administrators and analysts.

  • Has a lot of features including schema editor, SQL editor, data editor, AI integration, ER diagrams, data export/import/migration, SQL execution plans, database administration tools, database dashboards, Spatial data viewer, proxy and SSH tunnelling, custom database drivers editor, etc.
  • Out of the box supports more than 100 database drivers.
  • Supports any database which has JDBC or ODBC driver (basically - almost all existing databases). [dbeaver/dbeaver]

为开发人员、SQL程序员、数据库管理员和分析师提供的免费多平台数据库工具。

  • 具有许多功能,包括模式编辑器、SQL编辑器、数据编辑器、AI集成、ER图、数据导出/导入/迁移、SQL执行计划、数据库管理工具、数据库仪表盘、空间数据查看器、代理和SSH隧道、自定义数据库驱动编辑器等。
  • 开箱即用支持100多种数据库驱动。
  • 支持任何具有JDBC或ODBC驱动的数据库(基本上几乎所有现有数据库)。 [dbeaver/dbeaver]

install

# Windows 10
scoop install dbeaver

reference

Delect It Easy

install

scoop install detect-it-easy

Discord

resource

cache

DocumentCorrector

install

git clone --depth=1 https://github.com/Robomarchello/DocumentCorrector
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
pip install nuitka setuptools

usage

python makeExe.py

appdedix

documentcorrector

dupeGuru

install

# Arch
yay -S --noconfirm dupeguru
# Windows 10
scoop install dupeguru

espanso

install

# Arch
yay -S --noconfirm espanso-x11-bin
# Windows 10
scoop install espanso

reference

resource

annex

Etcher

install

# Arch
yay -S --noconfirm etcher-bin
# Windows 10
scoop install etcher

Exaile

appdedix

exaile

ExifCleaner

install

# Arch
yay -S --noconfirm exifcleaner
# Windows 10
scoop install exifcleaner

appdedix

exifcleaner

FastFlix

install

# Arch
yay -S --noconfirm fastflix-bin
# Windows 10
scoop install fastflix

appdedix

fastflix

Fluent Reader

install

# Arch
yay -S --noconfirm fluent-reader
# Windows 10
scoop install fluent-reader

config

  1. miniflux_host → Settings → API Keys → Create a new API key → fluent-reader → Copy the Token
  2. Fluent Reader → Setting → Select a service Service → Miniflux:
    Endpoint: http://127.0.0.1:8070
    Type: API Key
    Password: <token>
    

reference

appdedix

fluent-reader

FotoKilof

appdedix

fotokilof

FreeCAD

FreeCAD is a 3D parametric modeling application. It is primarily made for mechanical design, but also serves all other uses where you need to model 3D objects with precision and control over modeling history.
FreeCAD has been under development since 2002, and it offers a large list of features. Capabilities are still missing but it is powerful enough for hobbyist use, and small workshops. There is a fast-growing community of enthusiastic users who participate in the FreeCAD forum, and you can find many examples of quality projects developed with FreeCAD there. [wiki.freecad.org]

FreeCAD是一款3D参数化建模应用程序。它主要用于机械设计,但也适用于需要精确建模和对建模历史进行控制的其他各种用途。
FreeCAD自2002年以来一直在开发,提供了大量功能。尽管仍有一些功能缺失,但它足够强大,适合爱好者使用以及小型工作坊。有一个快速增长的热心用户社区,他们参与FreeCAD论坛,您可以在那找到许多使用FreeCAD开发的优质项目示例。 [wiki.freecad.org]

install

# Arch
sudo pacman -S freecad
# Windows 10
scoop install freecad

reference

Game2Text

install

git clone --depth=1 https://github.com/mathewthe2/Game2Text
cd Game2Text
uv venv .venv --python 3.7
.venv\Scripts\activate
uv pip install -r requirements.txt

Garlmap

install

# Arch
yay -S --noconfirm garlmap

appdedix

garlmap

GIMP

install

# Arch
sudo pacman -S gimp
# Windows 10
scoop install gimp

usage

  • 复制图层 → 选中新图层 → 颜色 → 去色 → 去色 → 模式 → luma
  • 添加图层模板 → 选区工具 → 填充黑色
  • 模式 → 点光/叠加/色相

reference

GitHub Desktop

install

1

# Arch
yay -R github-desktop-bin
rm -rf ~/.config/GitHub\ Desktop
sudo pacman -S gnome-keyring
yay -S --noconfirm github-desktop-bin

config

  • Github Desktop > File > Options
    • Integrations
      • External editor
      • Shell

Gitify

GitHub Notifications on your menu bar. Available on macOS, Windows and Linux. [gitify-app/gitify]

GitHub通知可在您的菜单栏中查看。适用于macOS、Windows和Linux。 [gitify-app/gitify]

install

# Arch
yay -S --noconfirm gitify-bin
# Windows 10
scoop install gitify

config

  • Gitify → Filters → Turn on
    • Type
      • Commit
      • Discussion
      • Issue
      • Pull Request
    • Reason
      • Approval Requested
      • Assigned
      • Authored
      • Commented
      • Mentioned
      • Review Requested
      • State Changed

G'MIC-Qt

gPodder

gPodder is a simple, open source podcast client.
In development since 2005 with a proven, mature codebase. [gpodder.github.io]

gPodder是一款简单的开源播客客户端。
自2005年以来一直在开发,拥有成熟、经过验证的代码库。 [gpodder.github.io]

install

# Arch
sudo pacman -S gpodder
# Windows 10
scoop install gpodder

config

  • gPodder → Preferences
    • Updating
      • Maximum number of episodes per podcast → 1000
      • Check connection before updating (if supported) (Off)
      • Extension
        • (Arch) Gtk Status Icon (On)
        • "Open website" episode and podcast context menu (On)
        • Enqueue/Resume in media players (On)
        • Minimize on start (On)
        • Rename episodes after download (On)

resource

cache

GridPlayer

install

# Arch
yay -S --noconfirm gridplayer-appimage
sudo pacman -S vlc
# Windows 10
scoop install gridplayer vlc

HandBrake

install

# Arch
sudo pacman -S handbrake handbrake-cli
# Windows 10
scoop install handbrake handbrake-cli

config

  • HandBrake → Preferences
    • General → Path to Media Player → Path → Browse → <player_app>
    • Output Files → Automatically name output files
      • Default Path → Browse → <save_to_path>
      • File Format → {source}.{preset}
      • Change case to Title Case (Off)
      • Replace underscores with a space (Off)

usage

# Encode video using Handbrake CLI with a preset
handbrakecli --preset-import-file <preset.json> --input "$1" --output "_handbrake.mp4"

reference

annex

HTTrack

appdedix

httrack

Inkscape

Inkscape is a Free and open source vector graphics editor. It offers a rich set of features and is widely used for both artistic and technical illustrations such as cartoons, clip art, logos, typography, diagramming and flowcharting. It uses vector graphics to allow for sharp printouts and renderings at unlimited resolution and is not bound to a fixed number of pixels like raster graphics. Inkscape uses the standardized SVG file format as its main format, which is supported by many other applications including web browsers.
SVG Features include basic shapes, paths, text, markers, clones, alpha blending, transforms, gradients, and grouping. In addition, Inkscape supports Creative Commons meta-data, node-editing, layers, complex path operations, text-on-path, and SVG XML editing. It also imports several formats like EPS, Postscript, JPEG, PNG, BMP, and TIFF and exports PNG as well as multiple vector-based formats.
Inkscape's main motivations are to provide the Open Source community with a fully W3C compliant XML, SVG, and CSS2 drawing tool emphasizing a lightweight core with powerful features added as extensions, and the establishment of a friendly, open, community-oriented development processes. [inkscape/inkscape]

Inkscape是一款免费开源的矢量图形编辑器。它提供了一套丰富的功能,广泛用于艺术和技术插图,如卡通、剪贴画、徽标、排版、图表和流程图。它使用矢量图形以实现清晰的打印和无限分辨率的渲染,而不是像栅格图形那样受到固定像素数量的限制。Inkscape使用标准化的SVG文件格式作为其主要格式,这种格式被许多其他应用程序(包括网页浏览器)所支持。
SVG功能包括基本形状、路径、文本、标记、克隆、alpha混合、变换、渐变和分组。此外,Inkscape支持创意共享元数据、节点编辑、图层、复杂路径操作、路径上的文本以及SVG XML编辑。它还可以导入多种格式,如EPS、Postscript、JPEG、PNG、BMP和TIFF,并可以导出PNG以及多种基于矢量的格式。
Inkscape的主要动机是为开源社区提供一个完全符合W3C标准的XML、SVG和CSS2绘图工具,强调轻量级核心并通过扩展添加强大功能,以及建立一个友好、开放、以社区为导向的开发流程。 [inkscape/inkscape]

install

# Arch
sudo pacman -S inkscape
# Windows 10
scoop install inkscape

resource

cache

Joplin

Joplin is a free, open source note taking and to-do application, which can handle a large number of notes organised into notebooks. The notes are searchable, can be copied, tagged and modified either from the applications directly or from your own text editor. The notes are in Markdown format.
Notes exported from Evernote can be imported into Joplin, including the formatted content (which is converted to Markdown), resources (images, attachments, etc.) and complete metadata (geolocation, updated time, created time, etc.). Plain Markdown files can also be imported.
Joplin is "offline first", which means you always have all your data on your phone or computer. This ensures that your notes are always accessible, whether you have an internet connection or not.
The notes can be securely synchronised using end-to-end encryption with various cloud services including Nextcloud, Dropbox, OneDrive and Joplin Cloud.
Full text search is available on all platforms to quickly find the information you need. The app can be customised using plugins and themes, and you can also easily create your own.
The application is available for Windows, Linux, macOS, Android and iOS. A Web Clipper, to save web pages and screenshots from your browser, is also available for Firefox and Chrome. [laurent22/joplin]

Joplin是一款免费开源的笔记和待办事项应用程序,能够处理大量按照笔记本组织的笔记。笔记是可搜索的,可以被复制、标记和修改,可以直接通过应用程序或通过您自己的文本编辑器进行修改。笔记采用Markdown格式。
从Evernote导出的笔记可以导入到Joplin中,包括格式化内容(转换为Markdown)、资源(图像、附件等)以及完整的元数据(地理位置、更新时间、创建时间等)。普通Markdown文件也可以被导入。
Joplin是“优先离线”的,这意味着您的所有数据始终保存在手机或计算机上。这确保了无论是否有互联网连接,您的笔记始终可访问。
笔记可以通过端到端加密与多种云服务安全同步,包括Nextcloud、Dropbox、OneDrive和Joplin Cloud。
所有平台均提供全文搜索,以快速找到所需信息。应用程序可以通过插件和主题进行自定义,您也可以轻松创建自己的插件和主题。
该应用程序支持Windows、Linux、macOS、Android和iOS。还提供Web Clipper,可以从浏览器保存网页和屏幕截图,支持Firefox和Chrome。 [laurent22/joplin]

resource

mark

cache

Kamite

Kamite is desktop software to aid learning Japanese through immersion in native media. It brings Japanese text from those media into a web browser interface, enabling lookup with pop-up dictionaries (such as Yomichan) and websites (such as DeepL Translate), and more. [fauu/Kamite]

Kamite是一款桌面软件,旨在通过沉浸式媒体来帮助学习日语。它从这些媒体中提取日语文本,并在网页浏览器界面中显示,允许使用弹出式词典(如Yomichan)和网站(如DeepL Translate)等工具进行查询,支持更多的功能。 [fauu/Kamite]

usage

mpv --input-ipc-server=/./pipe/kamite-mpvsocket --sub-file="$2" --sid=2 --secondary-sid=1 --secondary-sub-visibility=no --save-position-on-quit "$1"

config

config.hocon:

# https://github.com/fauu/Kamite/blob/master/config/config.default.hocon
# The modified lines, for example
lookup {
  targets = [
    ${LOOKUP_TARGETS.deepl}
    ${LOOKUP_TARGETS.reverso}
  ]
}

ocr: {
  engine: mangaocr
  tesseract: {
    path: "tesseract"
  }
  mangaocr: {
    pythonPath: "<path_to>/manga-ocr/Scripts/python.exe"
  }
  ocrspace: {
    engine: 1
  }
}

LOOKUP_TARGETS {
  deepl {
    symbol = DEP
    name = DeepL
    url = "https://www.deepl.com/translator#ja/en/{}"
  }
  reverso {
    symbol = REV
    name = Reverso
    url = "https://www.reverso.net/text-translation#sl=jpn&tl=eng&text={}"
  }
}

integrations: {
  agent: {
    enable: no
    host: "127.0.0.1:9001"
  }
}

appdedix

Kdenlive

Kdenlive is the acronym for KDE Non-Linear Video Editor. It works on Linux, Windows, macOS, and BSD. [kdenlive.org]

Kdenlive是KDE非线性视频编辑器的缩写。它可以在Linux、Windows、macOS和BSD上运行。 [kdenlive.org]

install

# Arch
sudo pacman -S kdenlive
# Windows 10
scoop install kdenlive

usage

  • 导出 → 导出项目 → Generic → Matroska-H264/AAC → 嵌入字幕而不是合成到画面

appdedix

kdenlive

KiCad

KiCad is an open-source software suite for creating electronic circuit schematics, printed circuit boards (PCBs), and associated part descriptions. KiCad supports an integrated design workflow in which a schematic and corresponding PCB are designed together, as well as standalone workflows for special uses. KiCad also includes several utilities to help with circuit and PCB design, including a PCB calculator for determining electrical properties of circuit structures, a Gerber viewer for inspecting manufacturing files, a 3D viewer for visualizing the finished PCB, and an integrated SPICE simulator for inspecting circuit behavior.
KiCad runs on all major operating systems and a wide range of computer hardware. It supports PCBs with up to 32 copper layers and is suitable for creating designs of all complexities. KiCad is developed by a volunteer team of software and electrical engineers around the world with a mission of creating free and open-source electronics design software suitable for professional designers. [kicad.org]

KiCad是一个开源软件套件,用于创建电子电路原理图、印刷电路板(PCB)和相关部件描述。KiCad支持集成设计工作流程,其中原理图和相应的PCB一起设计,也支持用于特殊用途的独立工作流程。KiCad还包括多个实用工具,以帮助电路和PCB设计,包括用于确定电路结构电气特性的PCB计算器、用于检查制造文件的Gerber查看器、用于可视化完成的PCB的3D查看器,以及用于检查电路行为的集成SPICE模拟器。 KiCad支持所有主要操作系统和各种计算机硬件。它支持最多32层铜层的PCB,适合创建各种复杂度的设计。KiCad由全球的一支志愿者团队的软件工程师和电气工程师开发,旨在创建适合专业设计师的免费开源电子设计软件。 [kicad.org]

install

# Arch
sudo pacman -S kicad
# Windows 10
scoop install kicad

reference

resource

cache

Kopia

install

# Windows 10
scoop install kopiaui

Kristall

appdedix

kristall

Krita

The origin of Krita can be traced to Matthias Ettrich's at the 1998 Linux Kongress. Matthias wanted to show the ease with which it was possible to hack a Qt GUI around an existing application, and the application he chose to demo it with was GIMP. His patch was never published, but did cause problems with the GIMP community at the time.
Not being in a position to work together, people within the KDE project decided to start their own image editor application Development focused on an application that was part of the KOffice suite, called KImage, by Michael Koch. Renamed to KImageShop, this was the start of Krita.
At the 31st of May, 1999, the KImageShop project officially kicked off with a mail by Matthias Elter. The basic idea back then was to make KImageShop a GUI shell around ImageMagick. It was going to be a corba-based application with out-of-process filter plugins, compatible with GIMP plugins, which are also out-of-process, though of course not corba-based.
The name KImageShop fell foul of trademark law in Germany, and KImageShop was renamed to Krayon, which also appeared to infringe on an existing trademark, so Krayon was finally renamed to Krita in 2002.
Initial development was slow, but picked up strongly from 2003, resulting in the first public release with KOffice 1.4 in 2004. In 2005, Krita gained support for CMYK, Lab, YCbCr, XYZ color models and high bit depth channels, as well as OpenGL support.
From 2004 to 2009, Krita was strongly focusing on being a generic image manipulation/painting application in the style of Photoshop or GIMP. Since 2009, the focus is squarely on painting: the Krita community aims to make Krita the best painting application for cartoonists, illustrators, and concept artists.
From 2009 onwards, the Krita project started funding community members to work on Krita by way of student jobs, in addition to development funded through Google Summer of Code. This experiment has resulted in a huge jump in stability and performance.
In 2012, the Krita community created the Krita Foundation, to provide more support for development. [krita.org]

Krita的起源可以追溯到1998年Linux Kongress上的Matthias Ettrich。Matthias希望展示围绕现有应用程序制作Qt图形用户界面的简便性,他选择用GIMP进行演示。他的补丁从未发布,但当时确实造成了GIMP社区的一些问题。
由于无法合作,KDE项目内的人决定开始他们自己的图像编辑应用程序开发,专注于KOffice套件中的一款名为KImage的应用程序,由Michael Koch开发。改名为KImageShop,这标志着Krita的开始。
1999年5月31日,KImageShop项目通过Matthias Elter的邮件正式开启。那时的基本想法是将KImageShop作为ImageMagick的图形用户界面外壳。它将是一个基于CORBA的应用程序,带有进程外过滤器插件,兼容GIMP插件,后者同样是进程外的,当然不是基于CORBA的。
KImageShop这个名称在德国违反了商标法,因此KImageShop被改名为Krayon,但Krayon似乎也侵犯了现有商标,因此Krayon最终在2002年更名为Krita。
最初的开发进展缓慢,但从2003年开始迅速提升,导致2004年与KOffice 1.4一起发布了第一个公开版本。在2005年,Krita获得对CMYK、Lab、YCbCr、XYZ色彩模型和高位深通道以及OpenGL支持的支持。
从2004年到2009年,Krita主要专注于成为一款类似于Photoshop或GIMP的一般图像处理/绘画应用程序。自2009年以来,重心明确转向绘画:Krita社区旨在使Krita成为漫画家、插画家和概念艺术家最佳的绘画应用程序。
从2009年开始,Krita项目开始通过学生工作形式为社区成员提供资金,以参与Krita的开发,此外还有通过Google Summer of Code资助的开发。这一实验导致了稳定性和性能的大幅提升。
在2012年,Krita社区创建了Krita基金会,以提供更多开发支持。 [krita.org]

install

# Arch
sudo pacman -S krita
# Windows 10
scoop install krita

reference

asset

libmidi

MIDI player base on timidity and imgui, support soundfont(SF2) and software MIDI keyboard. [opencodewin/libmidi]

基于Timidity和ImGui的MIDI播放器,支持SoundFont(SF2)和软件MIDI键盘。 [opencodewin/libmidi]

appdedix

LibreOffice

LibreOffice is a freely available, fully-featured, open-source office productivity suite compatible with other major office suites and is available on various platforms. The native file format used is the Open Document Format (ODF). However, LibreOffice can also open and save documents in numerous other formats, including those used by various versions of Microsoft Office. ["LibreOffice - Getting Started Guide (25.2)"]

LibreOffice是一个免费提供的、功能齐全的开源办公生产力套件,与其他主要办公套件兼容,并可在各种平台上使用。其使用的原生文件格式为开放文档格式(ODF)。不过,LibreOffice还可以以多种其他格式打开和保存文档,包括各个版本的Microsoft Office所使用的格式。 ["LibreOffice - Getting Started Guide (25.2)"]

install

# Arch
sudo pacman -S libreoffice
# Windows 10
scoop install libreoffice

config

  • LibreOffice → Tools → Options → Language and Locales
    • Language Of User interface → Chinese (simplified)
    • Formats
      • Locale setting → Chinese (simplified)
      • Default currency → Default - CNY

Lite XL

asset

LocalSend

LocalSend is a cross-platform app that enables secure communication between devices using a REST API and HTTPS encryption. Unlike other messaging apps that rely on external servers, LocalSend doesn't require an internet connection or third-party servers, making it a fast and reliable solution for local communication. [localsend/localsend]

LocalSend是一个跨平台应用,能够通过REST API和HTTPS加密实现设备之间的安全通信。与依赖外部服务器的其他消息应用不同,LocalSend不需要互联网连接或第三方服务器,因此成为本地通信的快速可靠解决方案。[localsend/localsend]

install

# Arch
yay -S --noconfirm localsend-bin
# Windows 10
scoop install localsend

Logseq

resource

mark

cache

LosslessCut

The swiss army knife of lossless video/audio editing.
LosslessCut aims to be the ultimate cross platform FFmpeg GUI for extremely fast and lossless operations on video, audio, subtitle and other related media files. The main feature is lossless trimming and cutting of video and audio files, which is great for saving space by rough-cutting your large video files taken from a video camera, GoPro, drone, etc. It lets you quickly extract the good parts from your videos and discard many gigabytes of data without doing a slow re-encode and thereby losing quality. There are also many more use cases. Everything is extremely fast because it does an almost direct data copy, fueled by the awesome FFmpeg which does all the grunt work. [mifi/lossless-cut]

无损视频/音频编辑的瑞士军刀。
LosslessCut旨在成为终极跨平台FFmpeg图形用户界面,以实现对视频、音频、字幕和其他相关媒体文件的极快无损操作。其主要功能是对视频和音频文件进行无损修剪和剪切,非常适合通过粗剪来自摄像机、GoPro、无人机等拍摄的大视频文件来节省空间。它让你能够快速提取视频中的好部分,并丢弃数GB的数据,而无需进行缓慢的重新编码,从而避免质量损失。还有许多其他用例。一切都非常快速,因为它几乎直接进行数据复制,得益于强大的FFmpeg处理所有繁重的工作。 [mifi/lossless-cut]

install

# Arch
yay -S --noconfirm losslesscut-bin
# Windows 10
scoop install losslesscut

LRCGET

Utility for mass-downloading LRC synced lyrics for your offline music library.
LRCGET will scan every files in your chosen directory for music files, then and try to download lyrics to a LRC files having the same name and save them to the same directory as your music files.
LRCGET is the official client of LRCLIB service. [tranxuanthang/lrcget]

用于批量下载与音乐同步的LRC歌词以供离线音乐库使用的工具。
LRCGET将扫描您选择的目录中的所有文件,寻找音乐文件,然后尝试下载与之同名的LRC歌词文件,并将其保存到与音乐文件相同的目录中。
LRCGET是LRCLIB服务的官方客户端。 [tranxuanthang/lrcget]

install

# Arch
yay -S --noconfirm lrcget-bin

appdedix

lrcget

MediaInfo

install

# Arch
sudo pacman -S mediainfo mediainfo-gui
# Windows 10
scoop install mediainfo mediainfo-gui

MKVToolNix

install

# Arch
sudo pacman -S mkvtoolnix-cli mkvtoolnix-gui
# Windows 10
scoop install mkvtoolnix

appdedix

mkvtoolnix-gui

MP3Gain

install

# Arch
yay -S --noconfirm mp3gain

wxMP3gain

appdedix

mp3gain

MuPDF

install

# Arch
sudo pacman -S mupdf
# Windows 10
scoop install mupdf

MuseScore

MuseScore is a free, open-source music notation software designed for creating, playing back, and printing sheet music. It runs on Windows, macOS, and Linux, and provides a user-friendly "What-You-See-Is-What-You-Get" editor for composing musical scores. The software supports unlimited staves, multiple voices per staff, dynamics, articulations, lyrics, chords, and many other notation elements. It also offers features like MIDI input/output, automatic part extraction and transposition, playback with a built-in sequencer and SoundFont sample library, and the ability to export scores to formats such as PDF, WAV, and MusicXML. MuseScore includes many templates and supports plugins to extend functionality. It is widely used by musicians, composers, and educators for creating and sharing scores, and has a large online community and score-sharing platform (musescore.com).
In summary, MuseScore is a comprehensive, versatile, and free tool for music notation and composition. [musescore/MuseScore]

MuseScore是一个免费、开源的乐谱软件,旨在创建、回放和打印乐谱。它可以在Windows、macOS和Linux上运行,并提供用户友好的“所见即所得”编辑器,用于作曲。该软件支持无限谱表、每个谱表多个声部、力度、发音符号、歌词、和弦以及许多其他乐谱元素。它还提供MIDI输入/输出、自动乐段提取和移调、内置音序器播放以及SoundFont样本库的功能,并能够将乐谱导出为PDF、WAV和MusicXML等格式。MuseScore包含许多模板,并支持插件以扩展功能。它广泛用于音乐家、作曲家和教育工作者,用于创作和分享乐谱,并拥有一个大型在线社区和乐谱分享平台(musescore.com)。
总之,MuseScore是一个全面、多功能且免费的乐谱和作曲工具。 [musescore/MuseScore]

install

# Arch
# yay -S --noconfirm musescore-bin muse-sounds-manager-bin
# Windows 10
scoop install musescore

MusicBrainz Picard

Picard is a cross-platform music tagger powered by the MusicBrainz database.
Picard helps you organize your music collection by renaming your music files and sorting them into a folder structure exactly the way you want it. A variety of plugins are available and you can even write your own. Picard supports a wide range of audio formats and can also lookup an entire CD for you. [picard.musicbrainz.org]

Picard是一个跨平台的音乐标签工具,基于MusicBrainz数据库。
Picard可以通过重命名音乐文件并将它们整理到您想要的文件夹结构中,帮助您组织音乐收藏。有多种插件可供使用,您甚至可以编写自己的插件。Picard支持广泛的音频格式,并且还可以为您查找整张CD。 [picard.musicbrainz.org]

appdedix

Nmap

install

# Windows 10
scoop install nmap
%SCOOP%\apps\nmap\current\npcap.exe

NSZ

install

# Arch
yay -S --noconfirm nsz
# From source
git clone --depth=1 https://github.com/nicoboss/nsz
cd nsz
uv venv
.venv\Scripts\activate
uv pip install -r requirements-gui.txt 
python nsz.py

appdedix

nsz

OBS Studio

install

# Windows 10
scoop install obs-studio

config

Windows 10

1 2

  • OBS Studio → Settings → Output → Output Mode → Advanced
    • Streaming
      • Video Encoder → NVIDIA NVENC H.264
      • Encoder Settings
        Rate Control: Constant QP
        Constant QP: 16
        Keyframe interval: 2s
        Preset: P5: Slow (Good Quality)
        Tuning: High Quality
        Multipass Mode: Two Passed (Quarter Resolution)
        Profile: high
        	Look-ahead (Off)
        	Adaptive Quantization (On)
        B-Frames: 2
        
      • Recording → Video Encoder → (Use stream encoder)
      • Audio → Track1 → Audio Bitrate → 320
    • Audio → General → Sample Rate → 44.1 kHz
    • Video → General → Common FPS Values → 60

usage

  • Select one on tab <Sources> → Filters → Effect Filters → Add → Color Key.

reference

ocenaudio

install

# Arch
yay -S --noconfirm ocenaudio-bin
# Windows 10
scoop install ocenaudio

appdedix

ocenaudio

OmegaT

install

# Windows
scoop install omegat

reference

OpenCode

install

# Arch
paru -S opencode
# Windows 10
scoop install opencode

reference

asset

resource

mark

cache

appendix

opencode

OSX-KVM

install

git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
git pull --rebase
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
# AMD
sudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
# Re-login
./fetch-macOS-v2.py
dmg2img -i BaseSystem.dmg BaseSystem.img
qemu-img create -f qcow2 mac_hdd_ng.img 100G
./OpenCore-Boot.sh

reference

PDF Arranger

install

# Arch
sudo pacman -S pdfarranger
# Windows 10
scoop install pdfarranger

pdfCropMargins

install

pipx install pdfCropMargins
pdfcropmargins -v -s -u -gui file.pdf

PDFsam

appdedix

pdfsam

Photoshop

install

Arch

  1. Photoshop CC v19 installer for Linux
  2. error: sorry something went wrong during download photoshopCC-V19.1.6-2018x64.tgz
  3. Dropbox link to download photoshopCC-V19.1.6-2018x64.tgz is broken

usage

  • 导入选项 → 选择文件 → file.csv → 替换先有的数据组 → 确定
  • 储存选项 → 选择文件夹 → output\, 文件命名 → 文档名称+下划线+数据组编号 → 确定

PureRef

install

# Arch
yay -S --noconfirm pureref
# Windows 10
scoop install pureref

usage

  • Ctrl+RightCtrl+DownCtrl+f → Resize by mouse wheel → Ctrl+Shift+r

resource

cache

PuTTY

install

# Arch
yay -S --noconfirm putty-git
# Windows 10
scoop install putty

PyGlossary

install

# uv (Windows 10)
uv venv .pyglossary
.pyglossary\Scripts\activate
uv pip install pyglossary lxml beautifulsoup4
mklink %USERPROFILE%\.local\bin\pyglossary.exe %CD%\.pyglossary\Scripts\pyglossary.exe
deactivate.bat
# zpy (Arch)
mkdir .pyglossary
cd pyglossary
envin
pipi pyglossary lxml beautifulsoup4 pygobject
vlauncher ~/Usr/Shell/.pyglossary pyglossary ~/.local/bin/pyglossary
da8

usage

pyglossary

annex

appdedix

pyglossary

QEMU

QEMU is a generic and open source machine emulator and virtualizer.
When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.
When used as a virtualizer, QEMU achieves near native performance by executing the guest code directly on the host CPU. QEMU supports virtualization when executing under the Xen hypervisor or using the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, 64-bit POWER, S390, 32-bit and 64-bit ARM, and MIPS guests. [qemu.org]

QEMU 是一个通用的开源机器仿真器和虚拟化工具。
作为机器仿真器使用时,QEMU 可以在一台机器(例如,ARM 板)上运行为另一台机器(例如,您的个人计算机)制作的操作系统和程序。通过使用动态翻译,它实现了非常好的性能。
作为虚拟化工具使用时,QEMU 通过直接在主机 CPU 上执行来宾代码来实现接近本地的性能。在使用 Xen 虚拟机监控器或 Linux 中的 KVM 内核模块时,QEMU 支持虚拟化。在使用 KVM 时,QEMU 可以虚拟化 x86、服务器和嵌入式 PowerPC、64 位 POWER、S390、32 位和 64 位 ARM 和 MIPS 来宾。[qemu.org]

install

sudo pacman -S qemu virt-manager virt-viewer dnsmasq vde2 bridge-utils openbsd-netcat
sudo pacman -S dmidecode

usage

1

sudo systemctl enable --now libvirtd
systemctl status libvirtd
sudo usermod -aG libvirt,kvm $(whoami)
grep kvm
sudo modprobe kvm
# AMD
sudo modprobe kvm_amd
# AMD
echo -e "kvm\nkvm_amd" | sudo tee /etc/modules-load.d/kvm.conf
virsh net-list --all
sudo virsh net-autostart default
sudo virsh net-start default
  • QEMU/KVM → Add
    1. Choose how you would like to install the operating system → Manual install.
    2. Choose the operating system you are installing → Microsoft Windows 10.
    3. Create a disk image for the virtual machine → 100G.
    4. Ready to begin the installtion → Name → Win10.
sudo qemu-system-x86_64 \
  -enable-kvm \
  -m 2048 \
  -cpu host \
  -smp 2 \
  -cdrom <path_to>/windows10_x64_cn.iso \
  -boot d \
  -drive file=/var/lib/libvirt/images/win10.qcow2,format=qcow2 \
  -net nic -net user \
  -name "windows10 VM"
  • TigerVNC viewer → VNC server → localhost:5900 → Connect.

reference

qimgv

install

# Arch
yay -S --noconfirm qimgv
# Windows 10
scoop install qimgv

qmtn

annex

// qmtn-4x4.json
{
    "additional": "",
    "background": "#000000",
    "blank_skip": 0.8,
    "columns": 4,
    "cover": "",
    "edge_detect": 12,
    "font_info_text": "",
    "font_info_text_location": -1,
    "font_info_text_size": 0,
    "font_time_stamp": "",
    "font_time_stamp_location": -1,
    "font_time_stamp_size": 0,
    "foregound": "#ffffff",
    "gap": 3,
    "infotext": false,
    "max_dir_depth": 10,
    "min_height": 0,
    "mtn": "C:/Users/User/Bin/mtn/mtn.exe",
    "output_directory": "C:/Users/User/Downloads",
    "overwrite": true,
    "quality": 100,
    "rows": 4,
    "settings_name": "default",
    "shadow": "#a0a0a4",
    "shadow_radius": 0,
    "skip_begin": 0,
    "skip_end": 0,
    "suffix": "_thumbnailer.jpg",
    "time_step": 0,
    "timecolor": "#000000",
    "timeout": 60,
    "timestamp": false,
    "title": "",
    "transparent": false,
    "verbose": false,
    "width": 2560
}

QOwnNotes

resource

cache

appdedix

qownnotes

QtScrcpy

# Windows 10
scoop install qtscrcpy

usage

  • 手机 → 设置
    1. 连接 → WLAN → 当前网络 → 获得本机IP地址
    2. 关于手机 → 版本号 → 点击x7
    3. 系统 → 开发者选项
      • USB调试 (On)
        • 是否允许USB调试 (确定)
      • (可选) 无线调试 (On)
        • (可选) 一律允许使用这台计算机进行调试 (允许)

QuiteRSS

install

# Arch
yay -S --noconfirm quiterss
# Windows 10
scoop install quiterss

config

  • QuiteRSS
    • Menu
      • View
        • Show/Hide
          • Feeds Toolbar (On)
          • News Toolbar (On)
          • Browser Toolbar (On)
          • Status Bar (On)
        • Browser Position → Right
      • Feeds
        • Show Indentation (Off)
        • Sort by Name
      • News → Propertie bar
        • Title (On)
        • Published (On)
    • Options
      • General
        • Show splash screen on startup (Off)
        • Automatically check for updates (Off)
      • System Tray
        • Single click instead of double click for show window (On)

qView

install

# Arch
yay -S --noconfirm qview
# Windows 10
scoop install qview

Raspberry Pi Imager

install

# Arch
sudo pacman -S rpi-imager
# Windows 10
scoop install raspberry-pi-imager

usage

  • Raspberry Pi Imager
    1. Raspberry Pi Device → Choose Device → Raspberry Pi 4
    2. Operating System → Choose OS → Other general-purpose OS → Ubuntu → Ubuntu Server 22.04.4 LTS (64-bit)
    3. Storage → Choose Storage → <your_sdcard>
    4. Next → Edit settings
    • General
      • Set hostname → ubuntu22
      • Set username and password
        • Username → <user>
        • Password → <password>
      • Configure wireless LAN
        • SSID → <your_wifi>
        • Password → <wifi_password>
      • Wireless LAN country → CN
      • Set locale settings
        • Time zone → Asia/Shanghai
        • Keyboard layout → us
    • Services → Enable SSH (On) → Use password authentication
    • Options
      • Eject media when finished (On)
      • Enable telemetry (Off)

RClone Manager

install

# Arch
yay -S --noconfirm rclone-manager
# Windows 10
scoop install rclone-manager

Shortcut

Shotcut is a free, open source, cross-platform video editor for Windows, Mac and Linux. Major features include support for a wide range of formats; no import required meaning native timeline editing; Blackmagic Design support for input and preview monitoring; and resolution support to 4k. [shotcut.org]

Shotcut是一个免费、开源、跨平台的视频编辑器,适用于Windows、Mac和Linux。主要功能包括支持多种格式;无需导入,意味着本地时间线编辑;支持Blackmagic Design以进行输入和预览监控;以及支持高达4K的分辨率。 [shotcut.org]

install

# Arch
sudo pacman -S shortcut
# Windows 10
scoop install shortcut

Sigil

Sigil is a free, open source, multi-platform ebook editor that uses Qt6 (and QtWebEngine). It is designed to edit books in ePub format (both ePub 2 and ePub 3). [Sigil-Ebook/Sigil]

Sigil是一个免费、开源的多平台电子书编辑器,使用Qt6(和QtWebEngine)。它旨在编辑ePub格式的书籍(包括ePub 2和ePub 3)。 [Sigil-Ebook/Sigil]

install

# Arch
sudo pacman -S sigil
# Windows 10
scoop install sigil

reference

Snipaste

reference

DB Browser for SQLite

install

# Arch
sudo pacman -S sqlitebrowser
# Windows 10
scoop install sqlitebrowser

Stirling-PDF

install

# Arch
yay -S --noconfirm stirling-pdf-bin
# Windows 10
scoop install stirling-pdf

reference

Subtitle Edit

Subtitle Edit is a free and open-source software tool used to create, edit, adjust, and synchronize subtitles for videos. It supports over 250 subtitle formats including popular ones like SubRip (SRT), Timed Text, SubStation Alpha, and more. The software allows users to manually edit subtitle text, fix grammar mistakes, merge and split subtitles, translate subtitles into different languages, and sync subtitle timing with the video. It also provides advanced features such as waveform and spectrogram audio visualization that help with precise subtitle synchronization.
Subtitle Edit supports playing videos while editing subtitles, making it easier to match the text accurately to the audio. It offers tools like spell check, find and replace, subtitle comparison, Google translate integration, and batch processing. It is available primarily for Windows, but also works on Linux via Mono, and is translated into many languages.
The software is widely used by professional subtitlers and content creators for producing accurate and polished subtitles for videos. It has been actively developed and maintained since 2001 and is hosted on GitHub as an open-source project.
In summary, Subtitle Edit is a comprehensive subtitle editing tool that offers powerful features for subtitle creation, editing, syncing, and translating, aimed at improving the accessibility and quality of video content through subtitles. [perplexity.ai]

Subtitle Edit是一个免费和开源的软件工具,用于创建、编辑、调整和同步视频字幕。它支持超过250种字幕格式,包括如SubRip(SRT)、Timed Text、SubStation Alpha等流行格式。该软件允许用户手动编辑字幕文本,修正语法错误,合并和拆分字幕,将字幕翻译成不同语言,并与视频同步字幕时间。它还提供了先进的功能,如波形图和声谱图音频可视化,帮助精确同步字幕。
Subtitle Edit支持在编辑字幕时播放视频,使文本与音频准确匹配变得更加容易。它提供了拼写检查、查找和替换、字幕比较、Google翻译集成和批量处理等工具。它主要在Windows上可用,但也可以通过Mono在Linux上运行,并且被翻译成多种语言。
该软件广泛用于专业字幕制作人和内容创作者,为视频制作准确和精致的字幕。自2001年起,它一直在积极开发和维护,并作为开源项目托管在GitHub上。
总之,Subtitle Edit是一个全面的字幕编辑工具,提供强大的功能用于字幕的创建、编辑、同步和翻译,旨在通过字幕提高视频内容的可及性和质量。[perplexity.ai]

install

# Arch
yay -S --noconfirm subtitleedit
# Windows 10
scoop install subtitleedit

usage

  • Subtitle Edit → Auto-translate → Select Ollama or LM Studio → Translate

appdedix

Tabby

resource

mark

Tag Editor

install

# Arch
yay -S --noconfirm tageditor
# Windows 10
scoop install tageditor

TagScanner

install

# Arch
yay -S --noconfirm tagscanner
# Windows 10
scoop install tagscanner

annex

appdedix

tagscanner

TagSpaces

TagSpaces is a free and open-source platform for organizing, tagging, and managing your local files. It runs completely offline, with no need for cloud services, internet connection, or vendor lock-in. Available for Windows, Linux, and macOS, it also includes a browser extension (Web Clipper) for Firefox, Edge, and Chrome to capture online content as local files. [tagspaces/tagspaces]

TagSpaces是一个免费和开源的平台,用于组织、标记和管理你的本地文件。它完全离线运行,不需要云服务、互联网连接或厂商绑定。适用于Windows、Linux和macOS,它还包括一个浏览器扩展(Web Clipper),可用于Firefox、Edge和Chrome,以将在线内容捕获为本地文件。 [tagspaces/tagspaces]

install

# Arch
yay -S --noconfirm tagspaces-bin
# Windows 10
scoop install tagspaces

talking-head-anime-4-demo

install

git clone --depth=1 https://github.com/pkhungurn/talking-head-anime-4-demo
cd talking-head-anime-4-demo
uv venv
.venv\Scripts\activate
uv pip install poetry
cd poetry
poetry install

usage

cd ..
python src\tha4\app\character_model_ifacialmocap_puppeteer.py

appdedix

talking-head-anime-4-demo

Thorium

install

# Arch
yay -S --noconfirm thorium-reader-bin
# Windows 10
scoop install thorium-reader

config

  • Thorium → Catalogs → Add an OPDS feed:
    Name: <name>
    Link: http://<your_host>/opds
    

appdedix

thorium-reader

Thunderbird

Thunderbird is a free, open-source, cross-platform email client and personal information manager developed by MZLA Technologies Corporation, a subsidiary of the Mozilla Foundation. It allows users to manage multiple email accounts, newsgroups, news feeds, and chat services in one application. Thunderbird also includes features like a calendar, contact book, advanced message filtering, junk mail (spam) filtering, and support for email encryption standards such as OpenPGP and S/MIME. It is highly customizable through add-ons and supports over 65 languages. Thunderbird runs on Windows, macOS, Linux, and has a mobile version for Android. It is designed to give users control and ownership over their email with a focus on privacy and security. [perplexity.ai]

Thunderbird是一个免费、开源、跨平台的电子邮件客户端和个人信息管理器,由Mozilla基金会的子公司MZLA Technologies Corporation开发。它允许用户在一个应用程序中管理多个电子邮件帐户、新闻组、新闻订阅和聊天服务。Thunderbird还包括日历、通讯录、高级消息筛选、垃圾邮件过滤以及对OpenPGP和S/MIME等电子邮件加密标准的支持等功能。它通过插件高度可定制,并支持超过65种语言。Thunderbird可在Windows、macOS、Linux上运行,并有适用于Android的移动版。其设计旨在让用户对自己的电子邮件拥有控制权和所有权,并关注隐私和安全。 [perplexity.ai]

install

# Arch
sudo pacman -S thunderbird thunderbird-i18n-zh-cn
# Windows 10
scoop install thunderbird

usage

Enable POP and IMAP

  • IMAP server: imap.domain.com, port 993

  • SMTP server: smtp.domain.com, port 465/587

  • Outlook → Settings → Mail → Forwarding and IMAP → POP and IMAP Outlook → Account → My Microsoft account → Privacy → Apps and services that can access your data

  • Yandex Mail → Settings → All settings → Email clients

  • QQ邮箱 → 设置 → 账号 → POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

  • 网易邮箱 → 设置 → POP3/SMTP/IMAP

Message Filters

  • Thunderbird → More → Tools → Message Filters
    1. Filters for your@email.com
    2. New ...
      1. Filter name: blacklist
      2. Match all of the following → Add (all you want to match) → For example, From contains example01@spam.com
      3. Perform these actions → Set Junk Status to Junk or Move Message to Junk on your@email.com
      4. OK

TightVNC

install

# Arch
yay -S --noconfirm tightvnc
# Windows 10
scoop install tightvnc

usage

tvnviewer <your_host>::5901 -password=<vncuser_passwd>

Umi-OCR

install

# Arch
yay -S --noconfirm umi-ocr-bin
# Windows 10
scoop install umi-ocr-paddle

config

  • Umi-OCR
    • Screenshot OCR
      • Settings → Hotkey → Ctrl+Alt+u
    • Global Settings
      • Launch on startup (On)

Unison

install

# Windows 10
scoop install unison

config

subl ~/.unison/<profile>.prf
# Unison preferences
root = <path_to_first_directory>
root = <path_to_second_directory>

Upscayl

Free and Open Source AI Image Upscaler.
Upscayl lets you enlarge and enhance low-resolution images using advanced AI algorithms. Enlarge images without losing quality. [upscayl/upscayl]

免费开源AI图像放大器。
Upscayl让你可以使用先进的AI算法放大和增强低分辨率图像。放大图像时不会失去质量。 [upscayl/upscayl]

install

# Windows 10
scoop install upscayl

Ventoy

Ventoy is an open source tool to create bootable USB drive for ISO/WIM/IMG/VHD(x)/EFI files. With ventoy, you don't need to format the disk over and over, you just need to copy the image files to the USB drive and boot it. You can copy many image files at a time and ventoy will give you a boot menu to select them. You can also browse ISO/WIM/IMG/VHD(x)/EFI files in local disk and boot them. x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way. Both MBR and GPT partition style are supported in the same way. Most type of OS supported(Windows/WinPE/Linux/Unix/ChromeOS/Vmware/Xen...) 1200+ ISO files are tested. 90%+ distros in distrowatch.com supported. [ventoy/Ventoy]

Ventoy是一个开源工具,用于创建可启动的USB驱动器,以支持ISO/WIM/IMG/VHD(x)/EFI文件。
使用Ventoy,你不需要反复格式化磁盘,只需将映像文件复制到USB驱动器并启动即可。你可以一次复制多个映像文件,Ventoy会为你提供一个启动菜单以供选择。
你还可以浏览本地磁盘上的ISO/WIM/IMG/VHD(x)/EFI文件并启动它们。
x86传统BIOS、IA32 UEFI、x86_64 UEFI、ARM64 UEFI和MIPS64EL UEFI都以相同方式支持。
MBR和GPT分区风格也以相同方式支持。
大多数类型的操作系统均被支持(Windows/WinPE/Linux/Unix/ChromeOS/Vmware/Xen...)。
测试了1200多个ISO文件。支持distrowatch.com上90%以上的发行版。 [ventoy/Ventoy]

install

# Arch
yay -S --noconfirm ventoy-bin
# Windows 10
scoop install ventoy

appdedix

ventoy

video-compare

install

# Arch
yay -S --noconfirm video-compare
# Windows 10
scoop install video-compare

VideoSubFinder

The main purpose of this program is to provide functionality for extract hardcoded subtitles (hardsub) from video.
It provides two main features:

  1. Autodetection of frames with hardcoded text (hardsub) on video with saving info about timing positions.
  2. Generation of cleared from background text images, which allows with usage of OCR programs (like FineReader, Subtitle Edit, Google Drive) to generate complete subtitles with original text and timing. [sourceforge.net/projects/videosubfinder]

这个程序的主要目的是提供从视频中提取硬编码字幕(hardsub)的功能。
它提供两个主要功能:

  1. 自动检测视频中带有硬编码文本(hardsub)的帧,并保存关于时间位置的信息。
  2. 生成去背景的清晰文本图像,这使得使用OCR程序(如FineReader、Subtitle Edit、Google Drive)能够生成包含原始文本和时间的完整字幕。 [sourceforge.net/projects/videosubfinder]

install

Windows 10

  1. Get VideoSubFinder form SourceForge.
  2. Decompress VideoSubFinder_*.zip to VideoSubFinder.
  3. Run VideoSubFinderWXW.exe.

Arch

yay -S --noconfirm videosubfinder

config

  • VideoSubFinder → Settings → Parameters Influencing Image Processing (Optional):
    FFMPEG Video Devices: cuda
    Use CUDA GPU Acceleration: On
    
  1. File → Open Video.
  2. Run Search → When shows subtitle, Stop Search → Modify the ScanBox.
  3. Begin Time → 00:00:00:000 → Run Search.
  4. Output will be on ./RGBImages/.

cross-reference

extra

appdedix

VirtualBox

install

# Windows
scoop insta virtualbox

usage

  • File → Preferences → Input → Virtual Machine → Host Key Combination → None or Other1.
  • Target Machine → Machine → Settings → General → Advanced → Shared Clipboard → Bidirectional → Start Machine.
  • Target Machine → Machine → Settings → USB → Enable USB Controller → USB 3.0 (xHCI) Controller (On) → Add → Generic USB3.0 Card Reader → OK.
  • Target Machine → Machine → Settings → Shared Folders → Add:
    Folder Path: C:\mnt
    Folder Name: mnt
    Auto-mount (On)
    Make Permanent (On)
    
  • Devices → sf_mnt → 右键 → Thunar Root → 目标文件 → 右键 → Extract.

Weixin

usage

我的 → 服务 → 钱包 → 支付设置 → 自动续费

wxapp

  • 用户 → 账号设置 → 基本设置 → 小程序名称
  • 基础功能 → 客服
    • 微信客服
    • 小程序客服
  • 支付与交易 → 交易保障 → 交易保障标
  • 支付与交易 → 交易组件
    • 基础交易
    • 小程序视频号交易组件
  • 支付与交易 → 物流服务
    • 无忧退货(运费险)
    • 查询组件
    • 物流消息
  • 开发与服务 → 开发管理
    • 消息推送
    • 安全键盘

Wez's Terminal

install

# Arch
sudo pacman -S wezterm
# Windows 10
scoop install wezterm

config

# Arch
~/.config/wezterm/wezterm.lua
# Windows 10
%USERPROFILE%\scoop\apps\wezterm\current\wezterm.lua

reference

appdedix

color_vanta color_visiblue color_visibone

XnConvert

install

# Arch
yay -S --noconfirm xnconvert
# Windows 10
scoop install xnconvert

config

  • XnConvert → Settings Load → format settings → Write
    • JPEG1
      Quality: 90
      Progressive: On
      Optimixr Huffman table: On
      DCT Method: Float (best but slowest)
      Use estimated quality (when possible): Off
      

annex

YomiNinja

reference

resource

cache

YouTube Music

install

# Arch
yay -S --noconfirm youtube-music-bin
# Windows 10
scoop install youtube-music

Zeal

install

# Arch
sudo pacman -S zeal
# Windows 10
scoop install zeal

config

Zeal → Edit → Preferences → Docset storage → <path_to>/docsets

usage

  • Zeal → Tools → Docsets
    • For offical docsets → Available → Refresh → Select one document → Download
    • For 3rd docsets → Installed → Add feed → Fill Feed URL → OK

You can get Feed URL from Zeal User Contributions & Cheat Sheets.

cross-reference

extra

asset

appdedix

zeal

opt_Browser

cross-reference

mark

extra

cache

resource

mark

extra

cache

cancel

Brave / Chrome

config

  • Visit brave://flags/#enable-parallel-downloading → Parallel downloading → Enabled.

floccus bookmarks sync

usage

  1. 打开 ... 新建账户 → WebDav分享.
    WebDAV URL: <webdev_url>
    用户名: <user>
    密码: <password>
    
  2. 下一步
    服务器详细信息 → 书签路径 → floccus/bookmarks.xbel
    文件夹映射 → 本地文件夹 → /书签栏/
    同步间隔 → 1d
    嵌套账户 → 在其他帐户同步中包括此帐户的本地
    文件夹 → 保存
    
  3. 打开 ... WEBDAV → 行为(推送) → 自动同步 (Off).

Imagus

config

Imagus → Options → Enabled when holding ctrl.

Immersive Translate

1 2 3

config

  1. Immersive Translate → Developer settings → Enable Beta Testing Features
  2. Translation Services → Custom API → Edit → API URL → http://127.0.0.1:11434 → Verify service

Kokoro TTS Reader - Chrome Extension

A Chrome extension for text-to-speech using the Kokoro TTS API, allowing you to listen to selected text from any webpage with background audio playback. [VJ-Ranga/Right-Click-TTS-Reader-V3]

一个用于文本转语音的Chrome扩展,使用Kokoro TTS API,允许您从任何网页上收听选定的文本,并支持后台音频播放。 [VJ-Ranga/Right-Click-TTS-Reader-V3]

config

  • Kokoro TTS Reader → Settings
    • Kokoro API URL → http://localhost:8880/v1
    • Chunk Size (characters) → 1500 (Higher-end systems)

appdedix

LibreWolf

install

# Arch
sudo pacman -S librewolf
sudo pacman -S speech-dispatcher
# Windows 10
scoop install librewolf

config

  • LibreWolf
    • Settings
      • LibreWolf -Browser Behavior - Enable Firefox Sync (On) - Allow userChrome.css customization (On)
        • Useful links
          1. Open user profile directory.
          2. Create chrome/userChrome.css.
          3. Copy from https://github.com/gnuunixchad/dotfiles/blob/master/.mozilla/chrome/userChrome.css.
      • General
        • Network Settings → Settings → No Proxy1
        • Tabs
          • Open links in tabs instead of new windows (On)
          • Show an image preview when you hover on a tab (On)
        • Browsing
          • Enable Picture-in-Picture video controls (On)
  • More tools → Customize Toolbar → Density → Compact.
  • Address bar → about:configtoolkit.legacyUserProfileCustomizations.stylesheets → true.

Linguist

config

  • Linguist → Preferences
    • Translation preferences
      1. Custom translators → Manage translators → Add1:
        • Name → LibreTranslator
        • Code → Copy from https://github.com/translate-tools/linguist-translators/blob/master/translators/LibreTranslator.js. Change apiPath = 'https://translate.terraprint.co/translate' to apiPath = 'http://<your_host>:5000/translate'.
      2. Translator module → LibreTranslator
    • The full page translation
      • Hotkeys → Shift+Alt+z
      • Enable popup with original text (On)
    • Export config

reference

resource

cache

linkding extension

config

  1. linkding → Settings → Integrations → Integrations → REST API → <copy_from>
  2. linkding extension → Configuration
    • Base URL → http://<your_host>:8002
    • API Authentication Token → <paste_to>

Prevue Popup

appdedix

prevue-popup

uBlock Origin

config

  • uBlock Origin → 设置 → 添加“屏蔽元素”到右键菜单 (Off)

Yomitan Dictionaries

A comprehensive collection of Japanese and Chinese dictionaries for Yomitan (formerly Yomichan), including terms, kanji/hanzi info, frequency, and variants with both monolingual and bilingual dictionaries available.
This repository contains dictionaries for Yomitan, a Japanese dictionary browser extension for Chrome, Firefox, and Edge. The repository was originally created to host the dictionaries I created, but I have since adapted this repository to serve as a hub for other dictionaries as well. [MarvNC/yomitan-dictionaries]

一套全面的日汉词典集合,用于Yomitan(前身为Yomichan),包括术语、汉字/汉字信息、词频和变体,同时提供单语和双语词典。
该库包含Yomitan的词典,这是一个适用于Chrome、Firefox和Edge的日语词典浏览器扩展。该库最初创建是为了存放我创建的词典,但我已经调整这个库,使其也可以作为其他词典的中心。 [MarvNC/yomitan-dictionaries]

config

  • Yomitan → Yomitan Settings
    • General → Language → English (en)
    • Appearance → Configure collapsible dictionaries → <the_dict> → Collapsed

reference

asset

resource

cache

opt_andriod

cross-reference

mark

later

extra

cache

resource

mark

extra

later

cache

Amaze

usage

  • 新建 → 网盘 → SMB共享连接 → 使用自定义IP
    连接名称: SMBGPNAME
    服务器互联网协议地址: <your_host>
    用户名: <user>
    密码: <password>
    
  • 新建 → 网盘 → SCP/SFTP链接

AndBible

usage

  • 下载文件 → 语言(中文) → CNVs, CUVs, ZhEnglish, ZhHanzi.

AnkiDroid: Flashcards

config

  • Settings → Sync → AnkiWeb
    • Custom sync server → http://<your_host>:<port>
    • AnkiWeb account → Used <username>, <password> set in Anki Sync Server's environment SYNC_USER

reference

cross-reference

cache

App Manager

usage

  • 长按应用 → 点击其他应用 → 备份/还原 → APK文件 → 备份.
  • 设置 → 备份/还原 → 备份位置 → 添加 → 前往 → /0/Download/<dir_name> → 勾选新位置 → 保存.

F-Droid

reference

FairEmail

usage

FairEmail → 主要 → 添加或更改账户 → 向导 → IMAP账户 → 接受电子邮件IMAP POP3 → 添加 → IMAP → 服务提供商:自定义 ... 检查 ... 保存

KOReader

config

  • KOReader → Search → OPDS catalog → Add
    • Catalog name: dir2opds
    • Catalog URL: <your_host>:8080

reference

Librera Reader

usage

  • Librera FD → Network → Add
    URL: http://<your_host>:8080/opds
    Name: Calibre Library
    

Round Sync

usage

  1. Setting
    • Remotes → Add → Webdav → Next.
    • Export config → /0/Download/<dir> → Save.
  2. <webdav><sync_folder> → More → Sync → Sync local to remote.

Termux

pkg update
pkg upgrade

About Username

Via SSH

pkg install openssh
passwd
sshd

On PC:

ssh -p 8022 <any_username>@<your_host>

Then you can use your PC's keyboard and clipboard.

Termux-setup-storage

termux-setup-storage

Enable Linux file system

1 2

pkg install proot
termux-chroot
ls /usr

install Opts

pkg install \
  7zip \
  aspell \
  aspell-en \
  atuin \
  bat \
  carapace \
  chafa \
  chezmoi \
  curl \
  dictd \
  eza \
  fastfetch \
  fd \
  fzf \
  gh \
  git \
  glow \
  gnupg \
  jq \
  lazygit \
  less \
  neovim \
  openssh \
  pass \
  python \
  python-pip \
  ripgrep \
  rust \
  sdcv \
  starship \
  tealdeer \
  tmux \
  translate-shell \
  uv \
  vim \
  wget \
  yazi \
  yq \
  zoxide \
  zsh \
  zsh-completions
  # agg \
  # asciinema \
  # cmus \
  # newsboat \
# Cargo
cargo install --force \
  eva \
  grex \
  pipe-rename \
  thumbs
  # thes
# Pip
pip install \
  subliminal

Install Nerd Font

3

mv <font> ~/.termux/font.ttf
termux-reload-settings

Configure Keyboard

4 5

cp ~/.termux/termux.properties ~/.termux/termux.properties.bak
vim ~/.termux/termux.properties
extra-keys = [[ \
  {key: TAB, popup: KEYBOARD}, \
  {key: ESC, popup: '<'}, \
  {key: CTRL, popup: '['}, \
  {key: ALT, popup: '\{'}, \
  {key: 'BACKSLASH', popup: '|'}, \
  {key: '_', popup: '='}, \
  {key: UP, popup: PGUP}, \
  {key: DOWN, popup: PGDN}, \
  {key: LEFT, popup: HOME}, \
  {key: RIGHT, popup: END} \
]]

Input Method

About Desktop Environment

PRoot Distro

pkg install proot-distro
proot-distro install archlinux
proot-distro list
proot-distro login archlinux

reference

termux: Paste | C-A-v

cross-reference

mark

troubleshoot

setup-mason-for-termux

install

pkg install which
curl -o install-in-mason  https://raw.githubusercontent.com/Amirulmuuminin/setup-mason-for-termux/main/install-in-mason
chmod +x install-in-mason
./install-in-mason lua-language-server
./install-in-mason marksman
./install-in-mason stylua
./install-in-mason texlab
vim ./install-in-mason
# Modify this part
# Step 1: Install the package using apk
echo "Installing $PACKAGE_NAME..."
if pkg install -y "$PACKAGE_NAME"; then
  echo "$PACKAGE_NAME installed via pkg successfully."
elif command -v cargo >/dev/null 2>&1; then
  echo "Trying to install $PACKAGE_NAME via cargo..."
  if cargo install "$PACKAGE_NAME"; then
    echo "$PACKAGE_NAME installed via cargo successfully."
  else
    echo "Failed to install $PACKAGE_NAME via cargo."
    return 1
  fi
else
  echo "Failed to install $PACKAGE_NAME. Neither pkg nor cargo succeeded."
  return 1
fi
./install-in-mason tex-fmt

opt_arch

cross-reference

mark

later

extra

cache

resource

mark

later

extra

cache

Ark Archving Tool

install

sudo pacman -S ark

auto-cpufreq

install

yay -S auto-cpufreq
sudo systemctl enable --now auto-cpufreq

BlueZ

install

1 2

sudo pacman -S bluez bluez-utils blueman
sudo systemctl enable --now bluetooth

usage

# rfkill list
# sudo rfkill unblock bluetooth
# sudo hciconfig hci0 up
# hciconfig
bluetoothctl
# bluetoothctl
scan on
pair XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX
trust XX:XX:XX:XX:XX:XX

reference

dunst

install

sudo pacman -S dunst

Flacon

install

yay -S --noconfirm flacon
# Optional
sudo pacman -S mac

flameshot

install

sudo pacman -S flameshot

config

flameshot config

flameshot → Configuration → Shortcuts → Pin image on the desktop → Ctrl+T.

Foliate

install

yay -S --noconfirm foliate

grub-btrfs

install

1

sudo pacman -S grub-btrfs
sudo systemctl enable --now grub-btrfsd.service
sudo systemctl edit grub-btrfsd.service
[Service]
ExecStart=
ExecStart=/usr/bin/grub-btrfsd --syslog --timeshift-auto
sudo systemctl daemon-reload
sudo systemctl restart grub-btrfsd.service

cross-reference

Input Leap

install

:yay -S --noconfirm input-leap-git

usage

input-leap

On Client PC, you can use Barrier.

Komikku

install

yay -S --noconfirm komikku

LightDM Display Manager

install

1 2

Intel + NVIDIA

# Waiting fixed. 
sudo pacman -S lightdm lightdm-gtk-greeter

AMD

sudo pacman -S lightdm lightdm-webkit2-greeter
git clone --depth=1 https://github.com/TheTerrior/lightdm-minimal
cd lightdm-minimal
chmod +x ./risky_installer.sh
sudo ./risky_installer.sh
sudo vim /etc/lightdm/lightdm.conf
# Add this under [Seat:*]
greeter-session=lightdm-webkit2-greeter
sudo vim /etc/lightdm/lightdm-webkit2-greeter.conf
webkit_theme = minimal

usage

sudo systemctl enable --now lightdm

reference

troubleshoot

nitrogen

install

sudo pacman -S nitrogen

usage

nitrogen → Preferences → Add → <wallpaper_dir> → OK → Apply.

nsxiv

install

sudo pacman -S nsxiv

ocrdesktop

yay -S ocrdesktop

usage

ocrdesktop -l eng -x 1

reference

PipeWire

install

sudo pacman -S sof-firmware alsa-firmware alsa-ucm-conf
sudo pacman -S pipewire pipewire-pulse pipewire-alsa
# systemctl --user stop pulseaudio.service
# systemctl --user stop pulseaudio.socket
systemctl --user enable --now pipewire.service
systemctl --user enable --now pipewire-pulse.service
sudo pacman -S pavucontrol

preload

install

yay -S --noconfirm preload
sudo systemctl enable --now preload

QDiskInfo

install

# Arch
yay -S --noconfirm qdiskinfo-bin

sway

install

sudo pacman -S \
	sway \
	xorg-xwayland
# yay -S --noconfirm \
# 	espanso-wayland
sudo cp /etc/sway/config ~/.config/sway/config

reference

resource

cache

TigerVNC

install

# Arch
sudo pacman -S tigervnc
# Windows 10
scoop install tigervnc

usage

Arch

1 2 3 4

vncpasswd
# A view-only password is not used → No
sudo useradd -m vncuser
sudo passwd vncuser
sudo vim /etc/tigervnc/vncserver.users
:1=vncuser
# rm -rf ~/.vnc
# mkdir ~/.vnc
vim ~/.vnc/config
# session=xfce
geometry=1280x720
# localhost
alwaysshared
# vncserver :1
# sudo systemctl enable --now vncserver@:1
vim ~/vncstart.sh
#!/bin/bash
vncserver -kill :1 > /dev/null 2>&1
rm -f /tmp/.X1-lock
rm -f /tmp/.X11-unix/X1
vncserver :1
chmod u+x ~/vncstart.sh
./vncstart.sh

reference

Timeshift

Timeshift for Linux is an application that provides functionality similar to the System Restore feature in Windows and the Time Machine tool in Mac OS. Timeshift protects your system by taking incremental snapshots of the file system at regular intervals. These snapshots can be restored at a later date to undo all changes to the system.
In RSYNC mode, snapshots are taken using rsync and hard-links. Common files are shared between snapshots which saves disk space. Each snapshot is a full system backup that can be browsed with a file manager.
In BTRFS mode, snapshots are taken using the in-built features of the BTRFS filesystem. BTRFS snapshots are supported only on BTRFS systems having an Ubuntu-type subvolume layout (with @ and @home subvolumes).
Timeshift is similar to applications like rsnapshot, BackInTime and TimeVault but with different goals. It is designed to protect only system files and settings. User files such as documents, pictures and music are excluded. This ensures that your files remains unchanged when you restore your system to an earlier date. If you need a tool to backup your documents and files please take a look at the excellent BackInTime application which is more configurable and provides options for saving user files. [teejee2008/timeshift]

Timeshift for Linux是一个提供类似于Windows系统还原功能和Mac OS中Time Machine工具的应用程序。Timeshift通过定期对文件系统进行增量快照来保护您的系统。这些快照可以在以后恢复,以撤销对系统的所有更改。
在RSYNC模式下,快照是使用rsync和硬链接创建的。常见文件在快照之间共享,节省磁盘空间。每个快照都是一个完整的系统备份,可以使用文件管理器浏览。
在BTRFS模式下,快照是使用BTRFS文件系统的内置功能创建的。BTRFS快照仅在具有Ubuntu类型子卷布局(带有@和@home子卷)的BTRFS系统上支持。
Timeshift与rsnapshot、BackInTime和TimeVault等应用程序相似,但目标不同。它旨在仅保护系统文件和设置。用户文件,如文档、图片和音乐被排除在外。这确保了在您将系统恢复到早期日期时,您的文件保持不变。如果您需要一个工具来备份文档和文件,请查看优秀的BackInTime应用程序,它更具可配置性并提供保存用户文件的选项。 [teejee2008/timeshift]

install

sudo pacman -S timeshift
sudo pacman -S cronie
sudo systemctl enable --now cronie.service

cross-reference

zathura

zathura is a highly customizable and functional document viewer based on the girara user interface library and several document libraries. [pwmt/zathura]

zathura是一个高度可定制且功能强大的文档查看器,基于girara用户界面库和多个文档库。 [pwmt/zathura]

install

sudo pacman -S \
	zathura \
	zathura-cb \
	zathura-pdf-mupdf

reference

Rofi

Rofi: A window switcher, application launcher and dmenu replacement. [davatorium/rofi]

Rofi:一个窗口切换器、应用程序启动器和dmenu替代品。 [davatorium/rofi]

install

sudo pacman -S rofi

cross-reference

mark

extra

cache

resource

cache

annex

# colors.rasi
# vantaNegate
* {
	background:     #f0f5ff;
	background-alt: #ffffff;
	border:         #d1d8e0;
	foreground:     #0f172a;
	selected:       #2563eb;
	active:         #fde047;
	urgent:         #ef4444;
}

dict.sh

install

vim dict.sh
# Copy from https://gist.github.com/Amooti73/9dac66ffee26f93baf211ab8c05949cd
sudo pacman -Sy tesseract tesseract-data-eng imagemagick scrot xsel rofi sdcv links
chmod +x ./dict.sh

usage

dict.sh

Kaomoji Rofi

install

git clone --depth=1 https://gitlab.com/ceda_ei/kaomoji-rofi
cd kaomoji-rofi
chmod +x ./kaomoji.sh

usage

kaomoji.sh

rofi-calc

install

sudo pacman -S rofi-calc

usage

rofi -show calc -modi calc -no-show-match -no-sort

rofi-gpaste

install

yay -S --noconfirm rofi-gpaste-git

usage

rofi-gpaste

rofi-pass

install

sudo pacman -S rofi-pass

usage

rofi-pass

rofi-scripts

install

git clone --depth=1 https://github.com/miroslavvidovic/rofi-scripts
cd rofi-scripts
chmod +x ./web-search.sh

usage

web-search.sh

rofi-shortcuts

install

git clone --depth=1 https://github.com/Zeioth/rofi-shortcuts
cd rofi-shortcuts
mkdir -p ~/.config/rofi/rofi-shortcuts/
mkdir -p ~/.local/share/rofi/rofi-shortcuts/
cp ./rofi-shortcuts.conf ~/.config/rofi/rofi-shortcuts/rofi-shortcuts.conf
cp ./rofi-shortcuts.sh ~/.local/share/rofi/rofi-shortcuts/rofi-shortcuts.sh
chmod u+x ~/.local/share/rofi/rofi-shortcuts/rofi-shortcuts.sh
ln -sf ~/.local/share/rofi/rofi-shortcuts/rofi-shortcuts.sh ~/.local/bin/rofi-shortcuts

usage

rofi-shortcuts

rofi-zeal

install

yay -S --noconfirm rofi-zeal-git

usage

rofi-zeal

Rofimoji

install

sudo pacman -S rofimoji

usage

rofimoji

Xfce

install

1

sudo pacman -S xfce4 xfce4-goodies
# flatpak install flathub io.github.fabrialberio.pinapp

config

Configure theme (Materia)

sudo pacman -S materia-gtk-theme

Settings → Appearance → Style → Materia-dark-compact.

Configure icon (Papirus)

sudo pacman -S papirus-icon-theme

Settings → Appearance → Icons → Papirus-Dark.

Configure font

sudo pacman -S \
	noto-fonts-cjk \
 	noto-fonts-emoji \
 	noto-fonts-extra

2

mkdir -p ~/.local/share/fonts/ttf
mv *.ttf ~/.local/share/fonts/ttf/<dir>/
fc-cache

Settings → Appearance → Style → Fonts.

Configure cursor

mkdir ~/.icons
cd ~/.icons
wget https://github.com/ful1e5/Bibata_Cursor_Rainbow/releases/download/v1.1.2/Bibata-Rainbow-Modern.tar.gz
wget https://github.com/ful1e5/Bibata_Cursor_Rainbow/releases/download/v1.1.2/Bibata-Rainbow-Original.tar.gz
tar -xvf Bibata-Rainbow-Modern.tar.gz
tar -xvf Bibata-Rainbow-Original.tar.gz

Get Chroma-*.tar.xz from Chroma Cursors for Linux.

tar -xvf Chroma-Black-M.tar.xz
tar -xvf Chroma-Black-S.tar.xz
tar -xvf Chroma-White-M.tar.xz
tar -xvf Chroma-White-S.tar.xz

Settings → Mouse and Touchpad → Theme → <theme>.

Configure desktop

Settings → Desktop → Desktop Icons → Icon type → None.

Configure thunar

  • Thunar → View
    • Show Hidden Files (On)
    • Configure Toolbar
      • New Tab (On)
      • Split View (On)
      • View Switcher (On)

Configure screensaver

  • Settings → Xfce Screensaver
    • Lock Screen → Enable Lock Screen (Off)
    • Screensaver → Enable Screensaver (On/Off)

Configure applications menu

  • Settings → Panel
    • Panel 2 → Remove
    • Panel 1
    • Appearance
      • Background → Style → Solid color
      • Color → Black
    • Items
      • Separator → Expand (Off)
      • Applications Menu
        • Show button title (Off)
        • Icon → Select icon from → Image Files → 100x100.png
      • Separator → Expand (Off)
      • Workspace Switcher
        • Appearance → Buttons
        • Workspace Settings → General → Names
          # Workspace Name
          1 1
          2 2
          3 3
          4 4
          
      • Windows Buttons
        • Show button labels (Off)
        • Show handle (Off)
      • Separator → Expand (On)
      • PulseAudio Plugin
      • Separator → Expand (On)
      • Notification Plugin
        • Hide panel button when no unread notifications
      • Status Tray Plugin
        • Adjust size automatically (On)
        • Arrange items in a single row (On)
      • Clock
        • Timezone → Asia/Shanghai
        • Layout → Time Only
      • Weather Update
        • Location name → Location name → <your_country_or_region>
          • Appearance → Icon theme → Liquid Dark
      • Separator → Expand (Off)
      • (Optional) Verve Command Line
      • (Optional) Clipman
      • (Optional) Directory Menu
      • (Optional) Mail Watcher
      • (Optional) Mount devices
      • (Optional) Power Mananger Plugin
      • (Optional) SmartBookmark
      • (Optional) Time Out
        • Display icon (Off)

Default applications

Settings → Settings Manager → Default Applications.

Window Manager

  • Settings
    • Windows Manager
      • Style → Materia-dark-compact
      • Keyboard2
    • Windows Manager Tweaks
      • Accessibility
        • Key used to grab and move windows → Super

Others

  • Storage → Removable Storage
    • Mount removable drives when hot-plugged (On)
    • Mount removable media when inserted (On)

Backup xfce configure

git add ~/.config/xfce4

Or:

git add \
	~/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml \
	~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml \
	~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml \
	~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml \
	~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml \
	~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-screensaver.xml \
	~/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml
	...

Remove unneeded components

sudo pacman -Rns \
	xfce4-dict \
	xfce4-terminal \
	xfce4-screenshooter \
	xfce4-clipman-plugin \
	ristretto
	# xfce4-notifyd
	# xfwm4

reference

cross-reference

cache

resource

cache

xfce-tile

install

sudo pacman -S python-gobject python-xlib
git clone --depth=1 https://github.com/dodophoenix/xfce-tile
cd xfce-tile
cp xfce-setup-shortcuts.sh xfce-setup-shortcuts.sh.bak
chmod +x ./xfce-setup-shortcuts.sh
# vim xfce-setup-shortcuts.sh
./xfce-setup-shortcuts.sh

opt_windows

cross-reference

mark

later

extra

cache

resource

mark

later

extra

cache

Advanced Renamer

install

scoop install advancedrenamer

AME Wizard

appdedix

ame-wizard

AudioShell

install

choco install audioshell

Autoruns

install

scoop bucket add sysinternals
scoop install autoruns

appdedix

autoruns

BleachBit

install

scoop install bleachbit

usage

  • Windows Explorer → 缩略图(On) → 清空

Bulk Rename Utility

install

scoop install bulk-rename-utility
scoop install bulk-rename-command
# See %SCOOP%\bulk-rename-command\current\BRC_Manual.pdf

Carnac

install

scoop install carnac

CenterTaskbar

install

scoop install centertaskbar

CPU-Z

install

scoop install cpu-z

DeskPins

install

scoop install deskpins

Directory Opus

config

  • 设置 → 选项 → 工具栏 → 图标 → 导入
  • 设置 → 自定义工具栏 → 快捷键
  • 设置 → 文件类型 → 文件类型群组 → Archives → 编辑 → Ctrl + 左键双击 → SmartZip.exe x {allfilepath}
  • 设置 → 文件类型 → 系统文件类型 → URL:Magnet URI → 编辑 → open → 编辑C:\Users\User\Scoop\apps\qbittorrent-enhanced\current\qbittorrent.exe "%1"

reference

resource

mark

cache

Ditto

install

scoop install ditto

config

  • Ditto
    • General
      • Maximum Number of Saved Copies → 100000
      • Display Font
        字体: 更纱终端书呆黑体-简
        大小: 小五
        
      • Advanced → Text lines per clip → 1
    • Keyboard Shortcuts → Activate Ditto → Win-S-d

dnGrep

install

scoop install dngrep

config

  • dnGrep
    • Settings → Options
      • New versions → Check automatically every 10 days (Off)
      • Application fonts
        • Use default font (Off)
        • Font family → Sarasa Term SC Nerd
        • Results font family → Sarasa Term SC Nerd
      • Custom editor → Add
        • Sublime Text
          Lable: Sublime Text
          Command: C:\Program Files\Sublime Text\subl.exe
          Arguments: %file:%line:%column
          
      • Compare application
        Command: WinMergeU.exe
        Arguments: /e /u /x
        
    • Search results
      • Sort results automatically when search completes (On)
      • Show results tree expanded (On)
    • Search in
      • Patterns to match → *.md;*.txt
      • Patterns to exclude → SUMMARY.md;.git\*;node_modules;public;site;_build;_gen
    • Results
      • Preview file (Off)

usage

  • dnGrep
    • Results panel → More → Copy results

reference

resource

cache

troubleshooting

EarTrumpet

install

scoop install eartrumpet

FastStone Image Viewer

install

scoop install fsviewer

usage

  • 设置 → 设置
    • 视图
      • 关联文件打开方式 → 浏览模式
      • 循环 (On)
      • 退出时提示确认 (Off)
      • 覆盖文件时提示确认 (On)
      • 单个文件删除到 → 回收站,不提示
    • JPEG文件
      • 默认JPEG质量 → 100
      • 如果可能,使用原始JPEG文件的质量值 (Off)
      • 颜色缩减取样 → 无(图像品质最好)
    • 外部程序 → 增加 → 目标程序 → 显示名称 IrfanView → 确定

FFmpeg Batch AV Converter

install

scoop install ffmpeg-batch

usage

  • 流多路复用 → 字幕轨 → 保存轨道

appdedix

ffmpeg-batch

FontReg

install

scoop install fontreg

Geek Uninstaller

install

scoop install geekuninstaller

Git Extensions

install

# Arch
yay -S --noconfirm gitextensions
# Windows 10
scoop install gitextensions

GPT-Subtrans

install

git clone --depth=1 https://github.com/machinewrapped/gpt-subtrans
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
scripts\generate-cmd.bat gui-subtrans
scripts\generate-cmd.bat llm-subtrans

usage

gui-subtrans

optional

  • Settings → Processing
    • Preprocess Subtitles (On)
    • Postprocess Translation (On)
    • Save Preprocessed Subtitles (On)

usage

  • Open file → Select <subtitle> → Project Settings → Entry Movie Name, Target Language → Start.

appdedix

gpt-subtrans

GPU-Z

install

scoop install gpu-z

HiBit Uninstaller

config

  • 工具 → 垃圾文件清理程序 → 忽略列表 → 右键 → 添加文件夹
    • C:\Users\User\AppData\Roaming\fnm\node-versions
    • C:\ProgramData\pm2\home
  • 工具 → 空文件夹清理程序 → 忽略列表 → 右键 → 添加文件夹
    • PostgresData

HostsFileEditor

install

scoop install hosts-file-editor

Image Filter Collection

appdedix

image-filter-collection

Rathlev's Box of Odds & Ends

instlal

# Windows 10
scoop install innounp innounpunpacker

IrfanView

install

scoop install irfanview

config

  • IrfanView → Options → Properties/Settings
    • Start / Exit options → Exit options
      • Close viewer only on ESC, if Thumbnails window displayed (On)
      • Others (Off)
    • File Handing
      • Delete
        • Delete to Recycle Bin (On)
        • Jump to the next file after deleting/moving (On)
        • Others (Off)
      • Save / Rename
        • Ask to rename if incorrect extension (On)
        • Others (Off)

usage

  1. Open a image with IrfanView.
  2. (Optional) Hold and drag left mouse button → Shift+Up/Down/Left/RightAlt+Up/Down/Left/RightCtrl+y to crop.
  3. (Optional) F12 to edit.
  4. Ctrl+s → Save quality → 100 → Profiles → Save.

JPEGView

install

scoop install jpegview-fork

config

  • JPEGView → MBtm
    • Display order → File name
    • Zoom → Fit window to image (On)
    • Settings/Admin
      • Edit user settings
        ShowFullScreen=false
        ShowNavPanel=false
        DefaultSaveFormat=png
        
      • Manage 'Open image with' menu → New
        Title: Fast Stone Viewer
        Application → Brower → `<path_to>/krita.exe`
        Shortcut key: Shift+p
        

lessmsi

appdedix

lessmsi

Link Shell Extension

install

choco install -y LinkShellExtension

Lively

install

scoop install lively

config

  • Lively → Settings → Desktop & behavior → Wallpaper input
    • Keyboard
    • Mount interaction when application focused

reference

LockHunter

install

scoop install lockhunter

Magpie

install

scoop install magpie

config

Magpie → Profiles → Defaults → General → Capture method → Desktop Duplication

MEGASync Desktop

install

scoop install megasync

MiKTeX

install

scoop install miktex

usage

  • MiKTeX Console → Tasks
    • Update package database
    • Refresh font map files

MKV Muxing Batch GUI

install

choco install -y mkv-muxing-batch-gui

appdedix

mkv-muxing-batch-gui

Mp3tag

install

scoop install mp3tag
# Install context menu option
start 'regsvr32' -Verb 'RunAs' -Args @("C:\Users\User\Scoop\apps\mp3tag\current\Mp3tagShell.dll", '/s')
# Uninstall context menu option
start 'regsvr32' -Verb 'RunAs' -Args @('/u', "C:\Users\User\Scoop\apps\mp3tag\current\Mp3tagShell.dll", '/s')

reference

appdedix

mp3tag

NohBoard

install

scoop install nohboard

annex

appdedix

nohboard

OpenHashTab

install

# Scoop
gsudo scoop install openhashtab-np
# Chocolatey
choco install -y openhashtab

Open Shell

install

# Scoop
gsudo scoop install open-shell-np
# Chocolatey
choco install -y open-shell

config

  • Windows Start Menu → MBtm → Open Shell → Setting
    • Start Menu style → Replace Start button → Custom → Pick image
    • Controls
      • Left Click opens → Windows Start Menu
      • Shift+Click opens → Nothing
      • Windows Key opens → Windows Start Menu
      • Shift+Win opens → Nothing
    • Backup → Save to XML File

annex

Rapid Environment Editor

install

scoop install rapidee

RapidCRC Unicode

appdedix

rapidcrc-unicode

RBTray

install

scoop install rbtray

Reduce Memory

install

scoop install reduce-memory

Resource Hacker

install

# Windows 10
scoop install resource-hacker

Restart Explorer

install

scoop install restart-explorer

RetroEditor

appdedix

retroeditor

Rufus

install

scoop install rufus

appdedix

rufus

SD Memory Card Formatter

install

scoop install sd-card-formatter

SendTo Menu Editor

appdedix

sendto-menu-editor

sforzando

appdedix

sforzando

SharpKeys

install

scoop install sharpkeys

Shell-X

install

  1. Download shell-x.*.7z ffrom Releases.
  2. Decompress it to shell-x/.
  3. Add shell-x/ into PATH.
shell-x -r
shell-x -init

ShellExView

install

scoop install shellexview

SmartTaskbar

install

scoop install smarttaskbar

SmartZip

SmartZip is a software tool designed to extend the capabilities of 7-Zip, focusing on intelligent and automated file compression and decompression. Key features of SmartZip include:

  • Smart extraction of compressed files, where single files are extracted to the current folder, and multiple files are extracted into a new folder.
  • Password handling for encrypted archives, including automated attempts with stored passwords and clipboard contents, plus manual password prompts if needed.
  • Automatic management of passwords, including dynamic sorting and adding newly used passwords.
  • Post-extraction file processing such as renaming or deleting files based on specific rules.
  • Support for extracting nested compressed archives with automatic deletion of inner archives after extraction.
  • Intelligent file opening behavior that opens archives with 7-Zip or presents options to add files to archives.
  • Smart compression options that compress multiple folders or files efficiently.
  • Integration with Windows Explorer through right-click context menus, including workarounds for multi-file operations.
  • Command-line support for various operations like smart extraction, manual encoding extraction, opening with 7-Zip, and compression.
  • User-friendly GUI for setting preferences, managing passwords, and batch processing.
    SmartZip is a practical tool for users who frequently work with compressed files, providing convenience through automation, password management, and integration with common workflows.
    This tool supports a wide range of customizable settings and is suitable for users looking to simplify and enhance their file compression and extraction tasks, especially when dealing with password-protected and nested archives. It is actively updated and includes features that cater to both casual and advanced users.
    The software is available for download and use primarily on Windows systems and can be controlled both via GUI and command line for flexible usage.
    In summary, SmartZip is an intelligent 7-Zip extension tool that automates and manages compression and decompression processes with added convenience features like password management, nested archive handling, and file processing after extraction. [perplexity.ai]

SmartZip是一个软件工具,旨在扩展7-Zip的功能,专注于智能和自动化的文件压缩和解压缩。SmartZip的主要功能包括:

  • 智能提取压缩文件,将单个文件提取到当前文件夹,将多个文件提取到新的文件夹中。
  • 针对加密归档的密码处理,包括使用已存储的密码和剪贴板内容的自动尝试,以及在需要时的手动密码提示。
  • 自动管理密码,包括动态排序和添加新使用的密码。
  • 解压后文件处理,如根据特定规则重命名或删除文件。
  • 支持提取嵌套压缩归档,解压后自动删除内部归档。
  • 智能文件打开行为,将归档文件与7-Zip打开或提供将文件添加到归档的选项。
  • 智能压缩选项,可以有效地压缩多个文件夹或文件。
  • 通过右键上下文菜单与Windows资源管理器集成,包括多文件操作的变通方法。
  • 支持各种操作的命令行,如智能提取、手动编码提取、使用7-Zip打开和压缩。
  • 用户友好的图形用户界面,用于设置偏好、管理密码和批量处理。
    SmartZip是一个实用工具,适合经常处理压缩文件的用户,通过自动化、密码管理和与常见工作流程的集成提供便利。
    该工具支持广泛的可自定义设置,适合希望简化和增强文件压缩和解压缩任务的用户,尤其是在处理受密码保护和嵌套归档时。它持续更新,包含符合休闲和高级用户需求的功能。
    该软件主要可在Windows系统上下载和使用,能够通过GUI和命令行灵活控制。
    总之,SmartZip是一个智能的7-Zip扩展工具,它通过增加如密码管理、嵌套归档处理和解压后的文件处理等便利功能,自动化和管理压缩和解压缩过程。[perplexity.ai]

install

  1. Download SmartZip*.zip from SmartZip - Releases.
  2. Decompress it to SmartZip/.

Create light.ico form dark.ico

magick convert dark.ico -channel RGB -negate light.ico

config

  1. SmartZip → 自定义 → 图标路径 → %SmartZipDir%\light.ico
  2. 关联 → 右键菜单 → Select SmartZip Decompress, SmartZip Compress → 注册

appdedix

StaxRip

StaxRip is a powerful video/audio encoding GUI for Windows.
It executes and controls console apps such as x265, mkvmerge, ffmpeg, etc. and uses scripting based frame servers, AviSynth+ and VapourSynth, for video processing. Each project can also be extended by various events and settings. [staxrip/staxrip]

StaxRip是一个强大的Windows视频/音频编码图形用户界面。
它执行和控制如x265、mkvmerge、ffmpeg等控制台应用程序,并使用基于脚本的帧服务器AviSynth+和VapourSynth进行视频处理。每个项目还可以通过各种事件和设置进行扩展。 [staxrip/staxrip]

install

scoop install staxrip

usage

1080p-30fps-nvenc

  • Staxrip
    • AVS Filters
      • Resize (On)
      • Add → Frame Rate → AssumeFPS → 30
    • MKV → X265 → Change to → NVEncC (Nvidia) → H.264
      • Encoder Options → Input/Output → Decoder → NVEnc Software
    • Add job → Start

reference

appdedix

Subtitles Cleaner

appdedix

subtitlescleaner

SumatraPDF Reader

install

scoop install sumatrapdf-installer

reference

T-Clock

install

scoop install t-clock

config

  • T-Clock → Options → Time → Format → Time options
    • Hour (On)
    • Minute (On)

Wallpaper Engine

usage

  1. 新建 ... 关闭.
  2. 编辑 → 在资源管理器中打开 → file.json.
  3. 文件 → 打开最近的项目 → file.json.
  4. 创意工坊 → 在创意工坊上分享壁纸 → 预览图片 → 导入文件 → 发布更新 → 关闭.

reference

wcap

config

  • wcap → Settings
    • Video
      Max Framerate: 30
      Bitrate: 4500
      
    • Audio
      Samplerate: 44100
      Bitrate: 96
      
    • Shortcuts
      • Capture Monitor → Ctrl-Alt-Shift-m
      • Capture Window → Ctrl-Alt-Shift-w

WinCDEmu

install

scoop install wincdemu

WinMerge

install

scoop install winmerge

WinSCP

install

scoop install winscp

usage

  • WinSCP → Synchronize:
    Local directory: roms\
    Remote directory: /recalbox/share/roms
    Direction/Target directory: Remote
    Mode: Synchronize files
    Synchronize options: Preview changes
    Caomparion criteria: Modification time
    

WinSSHTerm

install

scoop install winsshterm
# Install optionals
scoop install putty winscp vcxsrv

Cmder

install

  1. Get Mini version from Cmder.
  2. Decompress it to cmder_mini.

config

Cmder → Settings → Import → user-ConEmu.xml.

reference

cross-reference

mark

resource

mark

extra

cache

annex

scoop install clink clink-completions conemu
rm "%CMDER_ROOT%\config\clink_settings"
rm "%CMDER_ROOT%\config\user_aliases.cmd"
rm "%CMDER_ROOT%\config\user_profile.cmd"
rm "%CMDER_ROOT%\config\user_prompt.lua"
rm "%CMDER_ROOT%\vendor\setpath.bat"
# Be careful when using `rm-rf`
rm -rf "%CMDER_ROOT%\vendor\clink"
rm -rf "%CMDER_ROOT%\vendor\clink-completions"
rm -rf "%CMDER_ROOT%\vendor\conemu-maximus5"
# Custom environment
set "DOTFILES_DIR=C:\Users\User\Usr\Git\dotfiles"
mklink "%CMDER_ROOT%\config\clink_settings" "%DOTFILES_DIR%\.config\_windows_cmder\config\clink_settings"
mklink "%CMDER_ROOT%\config\user_aliases.cmd" "%DOTFILES_DIR%\.config\_windows_cmder\config\user_aliases.cmd"
mklink "%CMDER_ROOT%\config\user_profile.cmd" "%DOTFILES_DIR%\.config\_windows_cmder\config\user_profile.cmd"
mklink "%CMDER_ROOT%\config\user_prompt.lua" "%DOTFILES_DIR%\.config\_windows_cmder\config\user_prompt.lua"
mklink "%CMDER_ROOT%\vendor\setpath.bat" "%DOTFILES_DIR%\.config\_windows_cmder\vendor\setpath.bat"
mklink /J "%CMDER_ROOT%\vendor\clink" "%SCOOP%\apps\clink\current"
mklink /J "%CMDER_ROOT%\vendor\clink-completions" "%SCOOP%\apps\clink-completions\current"
mklink /J "%CMDER_ROOT%\vendor\conemu-maximus5" "%SCOOP%\apps\conemu\current"

appdedix

colorscheme_cobalt2

Everything

install

scoop install everything

config

1 2

  • Everything → Tools → Options
    • General
      • UI
        • Full row select (On)
      • Fonts and Colors → 更纱终端书呆黑体-简
      • Results
        • Close window on execute (On)
        • Open path with double click in path column (On)
      • Keyboard
        • Toggle window Hotkey → A-e
    • Context Menu
      • Open (Files) → Command → $exec("%EDITOR%" "%1")
    • Index
      • Index
        Index recent changes (On)
        Index date modified (On)
        Fast date modified sort (On)
        Fast path sort (On)
        
      • Excluede
        • Excluede hidden files and folder (On)
        • Excluede system files and folder (On)
        • Enable exclude list
        • Exclude folder
          • Add Folder
            C:\$Recycle.Bin
            C:\ProgramData
            C:\SysReset
            C:\System Volume Information
            C:\Users\<user>\AppData\Local\Temp
            C:\Windows
            
          • Add Filter
            # .*
            .git
            .venv
            _build
            node_modules
            public
            site
            watch_later*
            *.bak
            *.tmp
            Hiberfil.sys
            Pagefile.sys
            Windows.old
            

reference

cross-reference

mark

cache

everything-cli

install

scoop install everything-cli

config

subl <path_to>\es.ini
# For example
[Indexing]
exclude_files="!_build","!node_modules","!public","!site","!watch_later*","!*.bak","!*.tmp","!Hiberfil.sys","!Pagefile.sys","!Windows.old"
exclude_folders="C:\$Recycle.Bin","C:\ProgramData","C:\SysReset","C:\System Volume Information","C:\Users\User\AppData\Local\Temp","C:\Windows"

reference

EverythingToolbar

install

scoop install everythingtoolbar

usage

  • 更多
    • 视图 → 紧凑 (详细)
    • 选项 → 修改快捷键 → Win+Alt+S
    • 选项 → 隐藏空搜索, 选择第一个结果, 双击打开, 显示快速开关, 禁用动画, 自动检查更新 On
    • 选项 → 规则 → 添加
      名称: Open with Sublime
      命令: subl %filename%
      
  • 鼠标左键拖拽应用的窗口边缘 → 调整窗口大小 → 全高, 1/3宽

ImageGlass

install

scoop install imageglass

config

  • ImageGlass → More → Settings
    • Tools → Add:
      Name: ExifGlass - EXIF metadata viewer
      Excutable: ExifGlass.exe
      Hotkeys: x
      
    • Edit → Image editing apps → Add:
      File extension: .jpg;.png;.svg
      App name: Krita
      Executable: krita.exe
      

cross-reference

mark

ExifGlass

install

scoop install exifglass

config

ExifGlass → Menu → Settings → Executable Path → Select → exiftool.exe

cross-reference

Keypirinha

install

scoop install keypirinha

config

Optional

  1. Alacritty → MBtm → Create Shortcut
  2. Shortcut → MBtm → Properties → Target → `<path_to>\alacritty.exe --config-file "<path_to>\alacritty.toml" --working-directory "C:\Users\User" --command"
  3. Keypirinha → MBtn_R → Configure Keypirinha
    [external]
    terminal = "${env:USERPROFILE}\.local\bin\alacritty_command.lnk"
    

reference

cross-reference

extra

resource

mark

extra

cache

annex

# Colorscheme
[theme/Fakenight]
opacity_back = 100
satellite_show = never
satellite_pos = topleft
satellite_size = small
control_margin = 3
textbox_padding = 3
listitem_padding = 1
layout = list_selmark,list_icon
color_background = #2b2e34
color_foreground = #eaeaea
color_title = #eaeaea
color_textbox_back = #2b2e34
color_faded = #eaeaea
color_status = #eaeaea
color_accent = #ff6f61
color_warn = #ff3d3d
color_listitem_back = #2b2e34
color_listitem_title = #ffffff
color_listitem_desc = #eaeaea
color_listitem_tips = #eaeaea
color_listitem_selected_back = #3b3f45
color_listitem_selected_title = #ffffff
color_listitem_selected_desc = #ffffff
color_listitem_selected_tips = #ffffff
font_face = "Sarasa Term SC Nerd Font"
mono_font_face = "Sarasa Term SC Nerd Font"
font_large_size = 10
font_large_style = bold
font_snormal_size = 10
font_snormal_style = cleartype
font_normal_size = 10
font_normal_style = cleartype
font_small_size = 10
font_small_style = cleartype
compact_results = yes
listitem_title_font = snormal

appdedix

theme_fakenight theme_vanta theme_vanta_negate string_package

Keypirinha-Zealous

config

Keypirinha → Configure Package → Zealous:

[main]
# path = "<path_to>/zeal.exe"
docset_path = "<path_to_docsets>"
results = 50
wildcard = no

# Get the `CFBundleIdentifier` value liked `python` from `Document.docset\Contents\Info.plist`.
# If you cannot search, it may be a problem with the document.
[docs]
py = python
gdt = godot

# See https://kapeli.com/docsets#supportedentrytypes
[types]
a = Attribute
c = Class
e = Exception
f = Function
g = Guide
m = Method
s = Section
v = Variable
o = Option

Lintalist

Lintalist allows you to store and (incrementally) search and edit texts in bundles and paste a selected text in your active program. The text can be interactive, for example you can automatically insert the current time and date, ask for (basic) user input or make a selection from a list etc and finally it can also run a script. You can use keyboard shortcuts or abbreviations to paste the text (or run the script) without opening the search window. [lintalist.github.io]

Lintalist允许您以捆绑的方式存储、增量搜索和编辑文本,并将选定的文本粘贴到您当前活动的程序中。文本可以是交互式的,例如,您可以自动插入当前的时间和日期,询问(基本)用户输入或从列表中进行选择等,最后它还可以运行脚本。您可以使用键盘快捷键或缩写在不打开搜索窗口的情况下粘贴文本(或运行脚本)。 [lintalist.github.io]

install

scoop install lintalist

config

  • Lintalist → MBtm_R → Configuration
    • Settings
      • AlwaysLoadBundles=default.txt
      • DefaultBundle=default.txt
      • Font=Sarasa Term SC Nerd Font
      • FontSize=10
      • SetStartup=1
      • ShowQuickStartGuide=0
      • SortByUsage=0
      • StartOmniSearchHotkey=^#!l
      • StartSearchHotkey=#!l
      • Theme=\Solarized\Solarized.ini
      • CompactHeight=720
      • CompactWidth=360
      • WideHeight=480
      • WideWidth=850

reference

resource

extra

Themes for Lintalist

install

git clone --depth1=1 https://github.com/lintalist/lintalist-themes
cd lintalist-themes
unzip Solarized.zip -d Solarized

Move Solarized\ into <path_to>\lintalist\themes\.

TablacusExplorer

cross-reference

mark

resource

mark

later

extra

cache

annex

Tablacus Explorer → Tools → Options → Menus → Background

Tablacus Explorer Add-ons

reference

Alacritty

Alacritty is a modern terminal emulator that comes with sensible defaults, but allows for extensive configuration. By integrating with other applications, rather than reimplementing their functionality, it manages to provide a flexible set of features with high performance. The supported platforms currently consist of BSD, Linux, macOS and Windows.
The software is considered to be at a beta level of readiness; there are a few missing features and bugs to be fixed, but it is already used by many as a daily driver. [alacritty.org]

Alacritty是一个现代终端模拟器,提供合理的默认设置,但允许用户进行广泛的配置。通过与其他应用集成而不是重新实现其功能,它能够提供一套灵活且高性能的功能。目前支持的操作平台包括BSD、Linux、macOS和Windows。
该软件被认为处于测试阶段;还缺少一些功能和待修复的错误,但已经被许多人作为日常工作工具使用。 [alacritty.org]

install

# Arch
sudo pacman -S alacritty
# Windows 10
scoop install alacritty
# Preview image in yazi
sudo pacman -S ueberzugpp

config

1

# Arch
vim $HOME/.config/alacritty/alacritty.toml
# Windows 10
subl %APPDATA%\alacritty\alacritty.toml

reference

cross-reference

extra

cache

alacritty-theme-switcher

install

# Cargo
cargo install --locked alacritty-theme-switcher

usage

alacritty-theme-switcher -l

Alacritty Theme

install

git clone --depth=1 https://github.com/alacritty/alacritty-theme ~/.config/alacritty/themes

Calibre

calibre is an e-book manager. It can view, convert, edit and catalog e-books in all of the major e-book formats. It can also talk to e-book reader devices. It can go out to the internet and fetch metadata for your books. It can download newspapers and convert them into e-books for convenient reading. It is cross platform, running on Linux, Windows and macOS. [kovidgoyal/calibre]

calibre是一款电子书管理器。它能够查看、转换、编辑和编目所有主要电子书格式的电子书。它还可以与电子书阅读器设备进行通信。它可以上网获取书籍的元数据。它可以下载报纸并将其转换为电子书,以方便阅读。它是跨平台的,支持运行在Linux、Windows和macOS上。 [kovidgoyal/calibre]

install

# Arch
sudo pacman -S calibre
# Windows 10
scoop install calibre

Deploy with Docker compose

1

mkdir calibre
cd calibre
vim docker-compose.yml
# Copy from https://docs.linuxserver.io/images/docker-calibre/#docker-compose-recommended-click-here-for-more-info
		volumes:
			# Save calibre config (Including Cablire Library) on mount disk
			- /mnt/<mount_name>/local/share/calibre/config:/config
			- /mnt/<mount_name>/<book_storage>:/<book_storage>
sudo docker compose up -d
  1. Cabibre → Preferences → Sharing → Sharing over the net → Run server automatically when calibre starts (On) → Start server.
  2. The opds serve is on http://<your_host>:8081/opds.

config

Main window

  • Calibre → Preferences
    • Look & feel
      • Enable system tray icon (needs restart) (On)
      • Toolbar → Icon size → Small
    • Toolbars & menus → Current actions:
      Add books
      Get books
      Choose library
      Create catalog
      --- Separator ---
      Preferences
      Help
      

Viewer toolbar

2 3

  1. Calibre → Select a book → View → View with calibre E-book viewer.
  2. At the top of the reader → Show controls → Preferences
    • Miscellaneous
      • Show a toolbar with the most useful actions (On)
      • Customize toolbar → Current actions:
        Switch color scheme
        Toggle paged mode
        Table of Contents
        Search
        Read aloud
        Lookup words
        
    • Selection behavior
      • Current actions:
        Looup/search selected word
        Read aloud
        Create a bookmark
        Highlight selection
        Remove this highlight
        

Read aloud

# Arch
yay -S --noconfirm piper-voices-en-us
  • viewer → Toolbar → Read aloud → Configure
    • Text-to-Speech engine → The Piper Neural Engine.
    • Voices → English → libritts (United States) [High quality] → Download voice.

But I can't download voice successes. So I put files liked en_US-libritts-high.onnx, en_US-libritts-high.onnx.json into ~/.cache/calibre/piper-voices/.

Lookup words

Lookup words → Add sources → For example, Add:

Name: etymonline.com
URL: https://www.etymonline.com/search?q={word}
# https://github.com/Crissium/SilverDict
Name: silverdict_<dict_group>
URL: http://<your_host>:2628/api/query/<dict_group>/{word}
# https://github.com/open-webui/open-webui
Name: open-webui_librarian
URL: http://<your_host>:<port>/?models=librarian-answer-in-zh&q={word}

usage

  1. Calibre → Get books → Configure → Project Gutenberg (Enable).
  2. Title → Entry <book_name> → Search.
  3. Select a book → Enter → Check book format → Download.
  4. Select book → View → View with calibre E-book viewer.

reference

cross-reference

extra

resource

mark

cache

appdedix

calibre lookup_01 lookup_02

Ebook Translator

appdedix

ebook-translator-calibre-plugin

GoldenDict

GoldenDict是一款开源的桌面端词典检索应用,跨平台,支持多种词典格式。它有十分丰富的可配置项,包括字典组,拼写检查、单词发音、语音合成、在线翻译等等。 [scillidan, "配置GoldenDict"]

GoldenDict is an open-source desktop dictionary lookup application that is cross-platform and supports multiple dictionary formats. It features a wide range of configurable options, including dictionary groups, spell checking, word pronunciation, text-to-speech, online translation, and more. [scillidan, "配置GoldenDict"]

install

# Arch
yay -S --noconfirm goldendict-git
# Windows 10
scoop install goldendict

config

  • GoldenDict
    • View
      • Search Pane (On)
      • Results Navigation Pane (Off)
      • Favorites Pane (Off)
      • History Pane (Off)
      • Dictionary Bar (Off)
      • Navigation (Off)
    • Edit
      • Preferences
        • Interface
          • Hide Single tab (On)
          • Start to system tray (On)
          • Select word by single click (On)
          • ESC key hides main window (On)
        • Scan Popup
          • Enable scan popup functionality (Off)
        • Hotkeys
          • Use the following hotkey to show or hide the main window: Alt+Shift+G
          • Use the following hotkey to translate a word from clipboard (Off)
      • Dictionaries
        • Sources → Transliteration → Chinese Conversion (On)

reference

cross-reference

extra

cache

resource

mark

cache

annex

mkdir "%GD_HOME%\content\sound-dirs"
# Requiring `Forvo_pron/`, generated by https://gist.github.com/scillidan/fd36bd6c9a84b565c131cccc4508df7b
mklink /J "%GD_HOME%\content\sound-dirs\Forvo_pron" "%GOLDENDICT_DL%\sound-dirs\Forvo_pron"

appdedix

GoldenDict tools

gd-marisa

This script outputs the sentence with clickable characters and searches for the longest available dictionary entry (from a predefined list) beginning at that character. For deinflection it currently relies on rdricpp. It also provides links of available entries of smaller substrings. [Ajatt-Tools/gd-tools]

该脚本输出带有可点击字符的句子,并从该字符开始搜索最长可用的字典条目(来自预定义列表)。目前,它依赖于rdricpp进行去词形变化。它还提供较小子字符串的可用条目的链接。 [Ajatt-Tools/gd-tools]

goldendict-ng_gd-marisa.mp4

GoldenDict-Full-Dark-Theme

install

git clone --depth=1 https://github.com/yozhic/GoldenDict-Full-Dark-Theme
cd GoldenDict-Full-Dark-Theme
# Arch
sudo ln -sfn $(pwd)/GoldenDict/extras /usr/share/goldendict/extras
sudo ln -sfn $(pwd)/GoldenDict/icons /usr/share/goldendict/icons
ln -sfn $(pwd)/GoldenDict/fonts $HOME/.config/goldendict/fonts
mkdir -p $HOME/.config/goldendict/styles/Dark
ln -sfn $(pwd)/GoldenDict/styles/Dark/article-style.css $HOME/.config/goldendict/styles/Dark/article-style.css
ln -sfn $(pwd)/GoldenDict/styles/Dark/qt-style.css $HOME/.config/goldendict/styles/Dark/qt-style.css
# Windows 10
set "GD_HOME=%SCOOP%\apps\goldendict\current"
set "GD_DATA=%SCOOP%\apps\goldendict\current\portable"
rmdir /S /Q "%GD_HOME%\extras"
rmdir /S /Q "%GD_HOME%\icons"
rmdir /S /Q "%GD_DATA%\fonts"
rmdir /S /Q "%GD_DATA%\styles"
mklink /J "%GD_HOME%\extras" "%cd%\GoldenDict\extras"
mklink /J "%GD_HOME%\icons" "%cd%\GoldenDict\icons"
mklink /J "%GD_DATA%\fonts" "%cd%\GoldenDict\fonts"
mkdir "%GD_DATA%\styles\Dark"
mklink "%GD_DATA%\styles\Dark\article-style.css" "%cd%\GoldenDict\styles\Dark\article-style.css"
mklink "%GD_DATA%\styles\Dark\qt-style.css" "%cd%\GoldenDict\styles\Dark\qt-style.css"

Optional

# Arch
rm $HOME/.config/goldendict/styles/Dark/article-style.css
cp $(pwd)/GoldenDict/styles/Dark/article-style.css $HOME/.config/goldendict/styles/Dark/article-style.css
# Windows 10
rm "%GD_DATA%\styles\Dark\article-style.css"
cp "%cd%\GoldenDict\styles\Dark\article-style.css" "%GD_DATA%\styles\Dark\article-style.css"
/* Add to bottom of article-style.css */
@font-face {
  font-family: "Sarasa Term SC Nerd";
  src:
    local('Sarasa Term SC Nerd') format('truetype');
  font-weight: normal;
  font-style:  normal;
}

body
{
  font-family: "Sarasa Term SC Nerd", NotoSans;
  font-size:   10pt;
}

.dsl_t
{
  font-family: "Sarasa Term SC Nerd", NotoSerif;
}

.gdarticle
{
  border-radius: 0;
}

.gdactivearticle .gddictname {
  border: none;
}

.gddictname {
  border: none;
  border-radius: 0;
}

LibreOffice/dictionaries

install

git clone --depth=1 https://github.com/LibreOffice/dictionaries
cd dictionaries
# Windows 10
set "GD_HOME=%SCOOP%\apps\goldendict\current"
rmdir /S /Q "%GD_HOME%\content"
mkdir "%GD_HOME%\content"
mkdir "%GD_HOME%\content\morphology"
mklink "%GD_HOME%\content\morphology\en_US.aff" "%cd%\en\en_US.aff"
mklink "%GD_HOME%\content\morphology\en_US.dic" "%cd%\en\en_US.dic"
...

mpv

install

# Arch
sudo pacman -S mpv
# Windows 10
scoop install mpv

useage

command

mpv --merge-files <file1> <file2> ...

reference

cross-reference

extra

cache

resource

mark

later

extra

cache

annex

appdedix

font m4b

mpv-cheatsheet

appdedix

mpv-cheatsheet

mpv handler

install

  1. Get mpv-handler-*.zip from Releases.
  2. Decompress it to mpv-handler/.
  3. Run mpv-handler/handler-install.bat as Administrator.

webtorrent-mpv-hook

install

# Node.js
pnpm add -g webtorrent-mpv-hook

appdedix

webtorrent-cli

Obsidian

Obsidian is a private, locally stored note-taking and knowledge-management application designed to help you organize ideas as interconnected notes. It emphasizes Markdown notes, bidirectional linking, and a graph view to visualize connections, with a strong focus on offline use and privacy. [perplexity.ai]

Obsidian是一个私有的、本地存储的笔记和知识管理应用程序,旨在帮助您将想法组织为相互关联的笔记。它强调Markdown笔记、双向链接和图形视图,以可视化连接,尤其注重离线使用和隐私。 [perplexity.ai]

install

# Arch
sudo pacman -S obsidian
# Windows 10
scoop install obsidian

config

  • Obsidian
    • Settings → Core plugins (On)
      • Bookmarks
      • Command palette
      • File recovery
      • Files
      • Outline
      • Page preview
      • Slash commands
      • tags view
      • Workspaces
      • Backlinks
      • Outgoing links
    • Ribbon (Pinned)
      • Workspaces: Manage workspace layouts
      • Home page: Open homepage
      • BRAT: All Commands list
      • Media Companion: Open gallery
      • Calibre: Open horizontally
      • Word Frequency: Show word frequency sidebar

reference

cross-reference

extra

cache

resource

mark

later

extra

cache

appendix

Kokoro TTS Plugin for Obsidian

install

1

cd <your_vault>/.obsidian/plugins
mkdir kokoro-tts
cd kokoro-tts

Get files from Releases:

main.js
manifest.json
styles.css
kokoro_backend.py
requirements.txt
conda create -n kokoro-tts python=3.10
conda activate kokoro-tts
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt

Get kokoro-v0_19.pth from hexgrad/kLegacy.

appdedix

obsidian-kokoro-tts-plugin_01 obsidian-kokoro-tts-plugin_02

Media Slider

usage

```media-slider
---
sliderId: my-slider
carouselShowThumbnails: true
thumbnailPosition: bottom
captionMode: overlay
autoplay: false
slideshowSpeed: 0
width: 100%
height: 300px
transitionEffect: fade
transitionDuration: 500
enhancedView: true
interactiveNotes: true
compression: 0.8
fileTypes:
  - "jpg"
  - "png"
  - "mp4"
recursive: true
compareMode: true
  orientation: "vertical"
  initialPosition: 50
  showLabels: true
  label1: "Before"
  label2: "After"
---
![[image1|1-1]]
![[image2|1-2]]
...
```

Rime

Rime (from rime.im) is an open-source, highly customizable input method engine primarily designed for typing Chinese characters. It supports various Chinese input schemes such as Pinyin, Zhuyin, Cangjie, and others. Users can switch easily among different input methods and configure them to their preference using an intuitive menu system. Rime is praised for its flexibility, extensibility, and innovative design, enabling users to tailor input experiences to their unique needs. It is widely regarded as a powerful tool for efficient and elegant Chinese text input across multiple platforms.
In summary, Rime is a modular Chinese input method framework that offers diverse input schemes and customization, enabling smooth and personalized Chinese typing experiences. [perplexity.ai]

Rime(来自rime.im)是一个开源、高度可定制的输入法引擎,主要设计用于输入中文字符。它支持多种中文输入方案,如拼音、注音、仓颉等。用户可以通过直观的菜单系统轻松切换不同的输入方式,并根据个人喜好进行配置。Rime因其灵活性、可扩展性和创新设计而受到赞誉,使用户能够根据独特需求调整输入体验。它被广泛视为一个强大的工具,能够在多个平台上高效优雅地输入中文文本。
总之,Rime是一个模块化的中文输入法框架,提供多样的输入方案和自定义功能,实现流畅和个性化的中文输入体验。[perplexity.ai]

install

1

# Arch
sudo pacman -S fcitx5-im fcitx5-gtk fcitx5-qt fcitx5-rime
# Windows 10
scoop install rime

config

# Arch
vim ~/.xprofile
export GTK_IM_MODULE="fcitx"
export QT_IM_MODULE="fcitx"
export XMODIFIERS="@im=fcitx"
export INPUT_METHOD="fcitx"
export XIM="fcitx"
export XIM_PROGRAM="fcitx"
export SDL_IM_MODULE="fcitx"
export GLFW_IM_MODULE="ibus"

Then reboot.

  • Xfce → Setttings → Fcitx 5 Configuration
    • Input Method → Available Input Method → Select Rime → Move to left.
    • Global Options → Trigger Input Method → Shift → Apply.

reference

resource

mark

annex

appendix

rime

rime_init_windows.mp4

Sioyek

install

# Arch
sudo pacamn -S sioyek
# Windows 10
scoop install sioyek

reference

cross-reference

later

sioyek-python-extensions

install

git clone --depth=1 https://github.com/ahrm/sioyek-python-extensions
python -m pip install sioyek

embed_annotations

new_command _embed_annotations python -m sioyek.embed_annotations "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}"

import_annotations

new_command _import_annotations python -m sioyek.import_annotations "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}"

remove_annotation

new_command _remove_annotations python -m sioyek.remove_annotation "%{sioyek_path}" "%{local_database}" "%{shared_database}" "%{file_path}" "%{selected_rect}"

Sublime Text

install

# Arch
sudo pacman -S sublime-text
# Windows 10
scoop install sublime-text
# Windows 10
rmdir /S /Q "%USERPROFILE%\AppData\Roaming\Sublime Text\Packages\User"
mklink /J "%USERPROFILE%\AppData\Roaming\Sublime Text\Packages\User" "%DOTFILES_DIR%\.config\sublime-text\Packages\User"

usage

  • Edit → Permute Lines → Unique

reference

cross-reference

extra

  • jsprettier
  • marksman
  • minify
  • stylua
  • terser
  • tex-fmt
  • texlab

cache

  • latextools

resource

mark

later

cache

cancel

JsPrettier

cross-reference

LaTeXTools

reference

Minify

cross-reference

VSCodium

VSCodium is a community-driven, freely-licensed binary distribution of Microsoft’s editor VS Code.
Microsoft’s vscode source code is open source (MIT-licensed), but the product available for download (Visual Studio Code) is licensed under this not-FLOSS license and contains telemetry/tracking.
The VSCodium project exists so that you don’t have to download+build from source. This project includes special build scripts that clone Microsoft’s vscode repo, run the build commands, and upload the resulting binaries for you to GitHub releases. These binaries are licensed under the MIT license. Telemetry is disabled. [vscodium.com]

VSCodium是一个社区驱动的、自由许可的微软编辑器VS Code的二进制分发版。
微微软的vscode源代码是开源的(MIT许可证),但可下载的产品(Visual Studio Code)是根据这种非FLOSS许可证授权的,并包含遥测/追踪。
VSCodium项目的存在是为了让你无需从源代码下载+构建。该项目包含特殊的构建脚本,会克隆微软的vscode代码库,运行构建命令,并将生成的二进制文件上传到GitHub发布。这些二进制文件是根据MIT许可证授权的。遥测被禁用。 [vscodium.com]

install

## Arch
yay -S --noconfirm vscodium-bin vscodium-bin-marketplace
# Windows 10
scoop install vscodium

config

VSCodium → Settings → Open Settings (JSON):

// Windows 10
{
    "terminal.integrated.profiles.windows": {
        "Cmder": {
            "path": [
                "${env:windir}\\Sysnative\\cmd.exe",
                "${env:windir}\\System32\\cmd.exe"
            ],
            "args": [
                "/k C:\\Users\\User\\Usr\\Opt\\cmder_mini\\vendor\\init.bat"
            ]
        }
    },
    "terminal.integrated.defaultProfile.windows": "Cmder",
    "terminal.integrated.tabs.enableAnimation": false
}

VSCodium → More → View → Appearance → Activity Bar Position → Top

reference

cross-reference

cache

resource

mark

later

extra

cache

Continue

config

1

  • VSCode/VSCodium → Sidebar → Continue → Configure Continue:
    {
      "models": [
        {
          "apiBase": "http://127.0.0.1:11434/",
          "model": "qwen2.5-coder:7b",
          "provider": "ollama",
          "title": "Qwen2.5 Coder"
        }
      ],
      "tabAutocompleteModel": [
        {
          "title": "qwen2.5-coder:3b",
          "provider": "ollama",
          "model": "Qwen2.5 Coder 3B"
        }
      ]
    }
    

reference

LTEX+

config

1

  1. VSCodium → Extension → Search and install LTeX+
  2. Get ltex-ls-plus-*-windows-x64.zip from releases
  3. Decompress it to ltex-ls-plus\
  4. VSCodium → Settings → Open Settings (JSON) → Add:
        "ltex.ltex-ls.path": "C:\\<full_path>\\ltex-ls-plus",
        "ltex.java.path": "C:\\<full_path>\\ltex-ls-plus\\jdk-21.0.5+11",
    
  5. Restart VSCodium

optAud

cross-reference

mark

  • openreader-webui

extra

  • coqui-ai-tts
  • kokoro
  • tts

cache

  • whisperlivekit

resource

mark

cache

WhisperLiveKit

install

git clone --depth=1 https://github.com/QuentinFuxa/WhisperLiveKit
cd WhisperLiveKit
uv venv --python 3.12
uv pip install -e .
uv pip uninstall torch
uv pip install torch --index-url https://download.pytorch.org/whl/cu129
# Optional
uv pip install faster-whisper
uv pip install nllw
# uv pip install git+https://github.com/NVIDIA/NeMo.git@main#egg=nemo_toolkit[asr]
uv pip install nemo_toolkit[asr]

usage

wlk --model base --language en
wlk --host localhost --port 8000 --model large --diarization

TTS

1

install

git clone --depth=1 https://github.com/coqui-ai/TTS
uv venv --python 3.10
.venv\Scripts\activate
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
uv pip install -e .
uv pip install transformers==4.40.2

cross-reference

  • coqui-ai-tts

kokoro

install

1

git clone --depth=1 https://github.com/hexgrad/kokoro
cd kokoro/kokoro.js
npm install
npm run build
cd ../demo
npm install
npm run build

usage

cd kokoro/demo
npm run preview

cross-reference

mark

  • kokoro-fastapi
  • kokoro-tts

extra

  • audiobook-kokoro-tts
  • kokoro-tts-cli
  • kokoro-tts-local
  • ltts

resource

cache

annex

appdedix

kokoro

audiobook-kokoro-tts

install

git clone --depth=1 https://github.com/Pazran/audiobook-kokoro-tts
cd audiobook-kokoro-tts
cp convert_to_audiobook.py convert_to_audiobook_user.py
subl convert_to_audiobook.py
# Config
VOICE = "af_bella"
MODEL_FILE = "<path_to>\\kokoro-v1.0.onnx"
VOICES_FILE = "<path_to>\\voices-v1.0.bin"
python convert_to_audiobook.py <path_to_book>

FastKokoro

install

1

git clone --depth=1 https://github.com/remsky/Kokoro-FastAPI
cd Kokoro-FastAPI

Windows 10

scoop install espeak-ng
uv venv --python 3.10
.venv\Scripts\activate
# set PHONEMIZER_ESPEAK_LIBRARY="<path_to>\libespeak-ng.dll"
# set PHONEMIZER_ESPEAK_PATH="<path_to>\espeak-ng.exe"
set PYTHONUTF8=1
set PROJECT_ROOT=%cd%
set USE_GPU=true
set USE_ONNX=false
set PYTHONPATH=%PROJECT_ROOT%;%PROJECT_ROOT%\api
set MODEL_DIR=src\models
set VOICES_DIR=src\voices\v1_0
set WEB_PLAYER_PATH=%PROJECT_ROOT%\web
uv pip install torch --index-url https://download.pytorch.org/whl/cu129
uv pip install -e ".[gpu]"

Ubuntu 24 ARM

sudo apt install ffmpeg espeak-ng
uv venv --python 3.10
source .venv/Scripts/activate
export PYTHONUTF8=1
export PROJECT_ROOT=$(pwd)
export USE_GPU=true
export USE_ONNX=false
export PYTHONPATH=$PROJECT_ROOT:$PROJECT_ROOT/api
export MODEL_DIR=src/models
export VOICES_DIR=src/voices/v1_0
export WEB_PLAYER_PATH=$PROJECT_ROOT/web
uv pip install -e .
uv run python docker/scripts/download_model.py --output api/src/models/v1_0
uv run uvicorn api.src.main:app --host 0.0.0.0 --port 8880

annex

appdedix

kokoro-fastapi

kokoro-tts-cli

install

git clone --depth=1 https://github.com/cheuerde/kokoro-tts-cli
cd kokoro-tts-cli
uv venv
.venv\Scripts\activate
uv pip install torch --index-url https://download.pytorch.org/whl/cu121
uv pip install tqdm sounddevice scipy numpy phonemizer transformers
uv pip install windows-curses
python setup.py install

usage

set KOKORO_PATH="<path_to>\Kokoro-TTS-Local"
echo 'Hello! How are you today?' | kokoro-tts

reference

Kokoro TTS Local

install

git clone --depth=1 https://github.com/PierrunoYT/Kokoro-TTS-Local
cd Kokoro-TTS-Local
python -m venv venv
venv\Scripts\activate
pip install torch --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
pip install hf_transfer

usage

## As CLI
python tts_demo.py
## As Web UI
pip install ordered_set pypinyin cn2an jieba
python gradio_interface.py

appdedix

kokoro-tts-local

Kokoro TTS

install

# Pip
uv tool install kokoro-tts --python 3.12
  1. Download voice data (bin format is preferred) from here
  2. Download the model from here

usage

echo "Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, “and what is the use of a book,” thought Alice “without pictures or conversations?”" | kokoro-tts - --stream --voice "af_bella" --voices <path_to>\voices-v1.0.bin --model <path_to>\kokoro-v1.0.onnx

optGame

reference

cross-reference

mark

later

extra

cache

resource

extra

later

cache

Cave Story MD

Recalbox

  1. Get doukutsu-zh.bin.zip from Cave Story MD - Releases.
  2. Copy it to /recalbox/share/roms/megadrive/.

Curse of the Arrow

RetroPie (GPi CASE 2)

1 2

Get CurseOfTheArrow-V1.8.3-universal.love form itch.io.

unzip CurseOfTheArrow-V1.8.3-universal.love -d CurseOfTheArrow-V1.8.3-universal
cd CurseOfTheArrow-V1.8.3-universal
vim conf.lua
t.window.width = 96*5
t.window.height = 64*5
t.window.minwidth = 96
t.window.minheight = 64
7z a -tzip CurseOfTheArrow-V1.8.3-universal-640x480.love *
mv CurseOfTheArrow-V1.8.3-universal-640x480.love <RetroPie>/home/pi/RetroPie/roms/love/

doukutsu-rs

install

# Arch
flatpak install flathub io.github.doukutsu_rs.doukutsu-rs
# Windows 10
scoop install doukutsu-rs

Hydra Launcher

Asset

Katawa Shoujo: Re-Engineered

install

# Arch
flatpak install flathub sh.fhs.ksre

Lutris

Lutris is an open-source, Linux-focused gaming platform that acts as a centralized launcher and manager for your PC game library. It integrates with major storefronts (such as Steam, GOG, Humble Bundle, and Epic Games Store) and uses community-maintained install scripts to streamline the setup of Windows games through compatibility layers like Wine, emulators, and other runtimes. In short, Lutris aims to simplify installing, organizing, and launching a wide variety of games on Linux from a single interface. [perplexity.ai]

Lutris是一个开源的、以Linux为中心的游戏平台,充当您PC游戏库的集中启动器和管理器。它与主要的游戏商店(如Steam、GOG、Humble Bundle和Epic Games Store)集成,并使用社区维护的安装脚本,通过兼容层(如Wine)、模拟器和其他运行时来简化Windows游戏的设置。简而言之,Lutris旨在通过单一界面简化在Linux上安装、组织和启动各种游戏的过程。 [perplexity.ai]

install

1

# Vulkan
sudo pacman -S vulkan-tools
# Lutris
sudo pacman -S lutris
# Wine
sudo pacman -S wine wine-gecko wine-mono
sudo pacman -S lib32-gnutls lib32-libldap lib32-mpg123 lib32-openal lib32-v4l-utils lib32-libpulse lib32-alsa-plugins lib32-libxcomposite lib32-libxinerama lib32-ncurses lib32-libxml2 lib32-freetype2 lib32-libpng lib32-sdl2
sudo pacman -S winetricks
# DXVK and Other Runners
yay -S dxvk-bin

2

# Optional
sudo pacman -S gamemode

mari0

RetroPie (GPi CASE 2)

Get Source code (zip) from Releases.

unzip mari0-1.6.2.zip -d mari0-1.6.2
cd mari0-1.6.2/mari0-1.6.2
7z a -tzip mari0-1.6.2.love *
mv mari0-1.6.2.love <RetroPie>/home/pi/RetroPie/roms/love/

reference

Nxengine-Evo-RPi

install

git clone --depth=1 https://github.com/Exarkuniv/RetroPie-Extra.git
cd RetroPie-Extra
./install-extras.sh
  1. Choose which modules to install → nxengine-evo.sh → Ok.
  2. RetroPie Setup → Manage packages → Manage experimental packages → nxengine-evo → Install from source.

NXEngine-evo

NXEngine-evo is an open-source, upgraded, and refactored game engine that recreates the original engine behind the indie platformer "Cave Story" (also known as Doukutsu Monogatari), originally developed by Daisuke "Pixel" Amaya. It is not a game itself, but an engine designed to run Cave Story using its original data files.
Key features and enhancements of NXEngine-evo include:

  • Port to SDL2 for modern system compatibility
  • Proper widescreen support up to Full HD resolution
  • Animated character portraits and modernized main menu
  • Custom soundtrack and initial mod support
  • Localization, force feedback, and versions for platforms like PlayStation Vita and Nintendo Switch
  • Many gameplay bugfixes and optimizations for a smoother experience
  • Open-source under the GPL license, encouraging community contribution and modding
    NXEngine-evo maintains fidelity to the gameplay of the original Cave Story while adding quality-of-life features and modern compatibility. It remains a popular choice for playing or modifying Cave Story on modern platforms and with additional features. [perplexity.ai]

NXEngine-evo是一个开源的升级和重构的游戏引擎,重新创建了独立平台游戏《洞窟物语》(也称为Doukutsu Monogatari)背后的原始引擎,该游戏最初由雨田“Pixel”大辅开发。它本身不是一款游戏,而是一个旨在使用原始数据文件运行《洞窟物语》的引擎。
NXEngine-evo的主要功能和增强特性包括:

  • 移植到SDL2 以实现现代系统兼容性
  • 适当的宽屏支持,最高可达全高清分辨率
  • 动态角色肖像和现代化的主菜单
  • 自定义音轨和初步的模组支持
  • 本地化、震动反馈,以及针对PlayStation Vita和Nintendo Switch等平台的版本
  • 许多游戏性bug修复和优化,以提供更流畅的体验
  • 根据GPL许可证开源,鼓励社区贡献和模组制作
    NXEngine-evo在保持《洞窟物语》原始游戏性的同时,增加了生活质量的功能和现代兼容性。它仍然是现代平台上玩或修改《洞窟物语》的热门选择,并附带额外的功能。 [perplexity.ai]

Build local-data

# Arch
git clone --depth=1 https://github.com/nxengine/translations
cd translations
cp build-local.sh build-local.sh.bak
vim build-local.sh
# Comment them
# wget https://github.com/nxengine/tsc-converter/releases/download/v1.1/tsc.tar.gz
# tar -zxf tsc.tar.gz
# rm -f tsc.tar.gz
# 
# wget https://github.com/nxengine/nx-fontgen/releases/download/v1.3/fontbm.tar.gz
# tar -zxf fontbm.tar.gz
# rm -f fontbm.tar.gz

# rm -f fontbm
# rm -f fontbm.bin
# rm -f tsc
# rm -rf assets
# rm -rf lib
cd local
wget https://github.com/nxengine/tsc-converter/releases/download/v1.1/tsc.tar.gz
tar -zxf tsc.tar.gz
wget https://github.com/nxengine/nx-fontgen/releases/download/v1.3/fontbm.tar.gz
tar -zxf fontbm.tar.gz
mv <font.ttf> assets/
git clone --depth=1 https://github.com/nxengine/lang_chinese lang_chinese
cp lang_chinese/metadata lang_chinese/metadata.bak
vim lang_chinese/metadata
# Replace `unifont-10.0.06.ttf` to `ark-pixel-12px-proportional-zh_cn.ttf`
cd ..
./build-local.sh

Build game

1

git clone --depth=1 https://github.com/nxengine/nxengine-evo
cd nxengine-evo
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPORTABLE=ON ..
make
cd ..
wget https://www.cavestory.org/downloads/cavestoryen.zip
unzip cavestoryen.zip
cp -r ../translations/local/data/lang/chinese/* CaveStory/data/
cp -r CaveStory/Doukutsu.exe CaveStory/data ./
build/nxextract
mkdir desk
cp -r build/nxengine-evo data desk/
desk/nxengine-evo

annex

Pegasus Frontend

Pegasus is a graphical frontend for browsing your game library and launching all kinds of emulators from the same place. It's focusing on customizability, cross platform support (including embedded) and high performance. [mmatyas/pegasus-frontend]

Pegasus是一个图形前端,用于浏览您的游戏库并从同一个地方启动各种模拟器。它专注于可定制性、跨平台支持(包括嵌入式设备)和高性能。 [mmatyas/pegasus-frontend]

install

# Arch
yay -S --noconfirm pegasus-frontend-git
# Windows 10
scoop install https://raw.githubusercontent.com/Calinou/scoop-games/refs/heads/master/bucket/pegasus.json
gsudo scoop install k-lite-codec-pack-basic-np

config

  1. Get pegasus-fe*.zip from releases of Pegasus Frontend.

  2. Decompress it to pegasus-fe/.

  3. Get portable RetroArch, liked the Download (64bit).

  4. Decompress it to pegasus-fe/RetroArch/.

  5. Get K-Lite Codec Pack Basic.

  6. Install it.

  7. See 天马G PC+安卓双平台 精简Rom整合包 + 8大主题功能演示教程.

  8. Download the 跳坑者联盟 PegasusG v1.2 完整版.

  9. Goto 【1】安装程序(安卓+PC)\【PC】专用安装包.

  10. Decompress 【Win 10及以上专用】天马G_PC主程序 v1.2 230605.7z.

  11. In RetroArch, copy these dirs to pegasus-fe/RetroArch/:

    cheats
    config
    cores
    downloads
    system
    
  12. In config, copy *.txt to pegasus-fe/config/.

  13. Goto 【2】数据文件(安卓+PC)\【1】基础包_110GB.

  14. Decompress 基础包_110GB Roms.zip.* to pegasus-fe/Roms.

  15. Goto 【3】数据列表(安卓+PC)\【PC】metadata数据列表.

  16. Replace pegasus-fe/Roms/**/metadata.pegasus.txt with them.

  17. If don't lanch game in pegasus-fe, check the line that write launch: ... of metadata.pegasus.txt. See more on Metadata files.

  18. Clone some themes from Pegasus Theme Gallery to pegasus-fe\config\themes.

  19. Lanch pegasus-fe.exe.

subl roms/<platform>/metadata.pegasus.txt
# Windows 10
launch: "{env.PEGASUS_HOME}\RetroArch\retroarch.exe" -L "{env.PEGASUS_HOME}\RetroArch\cores\flycast_libretro.dll" "{file.path}"
# Arch
launch: "/home/<user>/RetroArch/retroarch" -L "/home/<user>/RetroArch/cores/flycast_libretro.so" "{file.path}"

reference

resource

mark

cache

annex

appdedix

pegasus-g

PPSSPP

install

# Arch
yay -S --noconfirm ppsspp-bin
# Windows 10
scoop install ppsspp

RetroArch

install

# Arch
sudo pacman -S retroarch
# Windows 10
scoop install retroarch

asset

cache

Slay the Spire

reference

asset

cache

resource

cache

Steam

install

Arch

sudo vim /etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist
sudo pacman -Syyu
sudo pacman -S steam

Ubuntu 24 ARM

1 2 3 4 5

sudo dpkg --add-architecture armhf
sudo apt-get update && sudo apt-get upgrade
sudo apt install gcc-arm-linux-gnueabihf -y
sudo apt-get install git -y
sudo apt install cmake -y
git clone --depth=1 https://github.com/ptitSeb/box64
cd box64
mkdir build; cd build; cmake .. -D RPI5ARM64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo
make -j4
sudo make install
sudo systemctl restart systemd-binfmt
cd ~
git clone --depth=1 https://github.com/ptitSeb/box86
cd box86
mkdir build; cd build; cmake .. -D RPI4ARM64=1 -D CMAKE_BUILD_TYPE=RelWithDebInfo
make -j4
sudo make install
sudo systemctl restart systemd-binfmt
sudo apt install libgdm1:armhf libudev1:armhf libgl1-mesa-dri:armhf libglapi-mesa:armhf libglu1-mesa:armhf libglx-mesa0:armhf mesa-va-drivers:armhf mesa-vdpau-drivers:armhf mesa-vulkan-drivers:armhf libsdl1.2debian:armhf libegl-mesa0:armhf
sudo apt-get install libc6:armhf -y
sudo apt install libcurl3t64-gnutls:armhf libcurl4t64:armhf
sudo apt install mesa-vulkan-drivers -y

reference

Wine

usage

command

# Uninstall
wine uninstaller

xone

install

yay -S --noconfirm xone-dkms-git xone-dongle-firmware

Or:

git clone --depth=1 https://github.com/medusalix/xone
cd xone
sudo ./install.sh
sudo xone-get-firmware.sh
# sudo ./uninstall

ES-DE

install

# Arch
yay -S --noconfirm emulationstation-de

Windows 10

  1. Get ES-DE_*-x64_Portable.zip from Releases.
  2. Decompress it to ES-DE/.

reference

cross-reference

extra

resource

cache

annex

appdedix

es-de_01 es-de_02

Iconic (ES-DE Version)

install

cd ES-DE/themes
git clone --depth=1 https://github.com/Siddy212/iconic-es-de

usage

  • ES-DE → Setting → UI Settings
    • Theme → Iconic
    • Theme Variant → Grid: Boxart

optWeb

resource

mark

later

extra

cache

cancel

Album App for Django

install

git clone --depth=1 https://github.com/jobsta/albumapp-django
cd albumapp-django
uv venv
.venv\Scripts\activate
uv pip install django reportbro-lib
python manage.py makemigrations albums
python manage.py migrate
python manage.py compilemessages

usage

python manage.py runserver localhost:8010

Visit http://localhost:8010/albums.

appdedix

albumapp-django

altium.js

install

git clone --depth=1 https://github.com/gsuberland/altium_js
cd altium_js

usage

Open altium_sch.html.

appdedix

altium_js

AnimeGarden

ASCIIFlow

AudioMass

autoflow

Awesome-Nano-Banana images

resource

Bark Web UI

install

git clone --depth=1 https://github.com/makawy7/bark-webui
cd bark-webui
uv venv
.venv\Scripts\activate
uv pip install torch --index-url https://download.pytorch.org/whl/cu121
uv pip install .
uv pip install gradio

usage

python webui.py

appdedix

bark-webui

bfxr2

blamscamp editor

Book Translator

Calcutext

install

git clone --depth=1 https://github.com/jaredreich/calcutext
cd calcutext
nvm install 16.13.2
nvm use 16.13.2
npm install
npm run build

usage

serve -s build -p 4321

appdedix

calcutext

changedetection.io

install

git clone --depth=1 https://github.com/dgtlmoon/changedetection.io
cd changedetection.io
uv venv
.venv\Scripts\activate
uv pip install -e .

usage

python changedetection.py
# pm2 start changedetection.py --name changedetection --interpreter ".venv/Scripts/python.exe" --cwd "changedetection.io"

appdedix

changedetection

ChartDB

appdedix

chartdb

Chat2DB

install

mkdir Chat2DB
cd Chat2DB
vim docker-compose.yml
# Copy from https://github.com/CodePhiliaX/Chat2DB/blob/main/docker/docker-compose.yml

usage

sudo docker compose up -d

Visit http://<your_host>:10824, login with user chat2db, password chat2db.

appdedix

chat2db

ChatGPT API SRT Subtitle Translator

install

git clone --depth=1 https://github.com/Cerlancism/chatgpt-subtitle-translator
cd chatgpt-subtitle-translator
cd web
npm ci
npm run build

usage

npm run dev

Visit http://localhost:3000/chatgpt-subtitle-translator.

appdedix

chatgpt-subtitle-translator

Cheatsheet Generator

install

git clone --depth=1 https://github.com/nathanlesage/cheatsheet-generator
cd cheatsheet-generator
cp examples/<the_one>.config.yml config.yml
nvm install 16.20.0
nvm use 16.20.0
npm install
npm run build

usage

Open ./dist/<the_one>.htm.

appdedix

cheatsheet-generator

CL Calc

install

git clone --depth=1 https://github.com/ovk/clcalc
cd clcalc
npm install
node node_modules/gulp/bin/gulp.js

usage

serve -s dist -p 4321

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

Deploy with Vercel

  1. When deploy with Vercel.
  2. The Project → Settings → General → Build & Development Settings:
    Build Command: npm run dist
    Output Directory: dist
    

appdedix

clcalc

cnvrt

install

git clone --depth=1 https://github.com/gregermendle/cnvrt
cd cnvrt
pnpm install
pnpm build

usage

pnpm start

appdedix

cnvrt

Codi.link

install

git clone --depth=1 https://github.com/midudev/codi.link
cd codi.link
npm install
npm run build

usage

serve -s dist -p 4321

appdedix

codi-link

Comic Book Template Maker

appdedix

comic-template-maker

CyberChef

Datasette Lite

DeepLX Vercel

DeepWiki-Open

install

From source

git clone --depth=1 https://github.com/AsyncFuncAI/deepwiki-open
cd deepwiki-open
vim .env
GOOGLE_API_KEY=<your_google_api_key>
OPENAI_API_KEY=<your_openai_api_key>
OLLAMA_HOST=<your_ollama_host>
uv venv
source .venv/bin/activate
uv pip install poetry==1.8.2 && poetry install -C api
python -m api.main
# In a new terminal session
npm install
npm run build
npm start

appdedix

deepwiki-open

DevDocs

install

git clone --depth=1 https://github.com/freeCodeCamp/devdocs
cd devdocs
cp Gemfile Gemfile.bak
vim Gemfile
ruby '3.4.7'
rbenv update
rbenv install 3.4.7
rbenv shell 3.4.7
rbenv version
gem install bundler
bundle install

Arch

# Docs
bundle exec thor docs:list
bundle exec thor docs:download html
bundle exec thor docs:download --all
bundle exec thor docs:download --installed
# Docs be saved into public\docs.
# Sever
bundle exec rackup

Windows 10

scoop install curl gzip
cd <path_to>\Scoop\shims
cp gzip.exe gunzip.exe
cp gzip.shim gunzip.shim

Deploy with Docker compose

1

mkdir devdocs
cd devdocs
vim docker-compose.yml
services:
  devdocs:
    image: ghcr.io/freecodecamp/devdocs:latest
    container_name: devdocs
    ports:
      - "9292:9292"
    restart: always
sudo docker compose up -d

Troubleshoot

DGM.js

install

git clone --depth=1 https://github.com/dgmjs/dgmjs
cd dgmjs
npm install
npm build

usage

npm run dev

appdedix

dgmjs

diceRoller

install

git clone --depth=1 https://github.com/zombieFox/diceRoller
cd diceRoller
nvm install 16.20.0
nvm use 16.20.0
npm install
npm run build

usage

npm run start

appdedix

diceroller

Dify

install

1

git clone --depth=1 https://github.com/langgenius/dify
cd dify/docker
cp .env.example .env

usage

sudo docker compose --env-file .env up -d

Create chatbot and knowledge bases

2

  1. Dify → <user> → Settings → Model Provider
  2. Ollama → Setup
    Model Name: llama3.1:8b
    Base URL: http://<your_host>:11434
    
  3. Ollama → Add Model
    Model Type: Text Embedding
    Model Name: mxbai-embed-large:latest
    Base URL: http://<host>:11434
    
    Model Type: Text Embedding
    Model Name: jina/jina-embeddings-v2-base-en
    Base URL: http://<host>:11434
    
  4. OpenAI → Setup
    API Key: <apikey>
    API base: https://api.openai.com
    
  5. OpenAI → Show Models
  6. Dify → Studio → Chatbot → Create from Blank
    APP icon & name: llama 3.1
    
  7. Studio → llama 3.1 → <model> CHAT → llama3.1:8b
  8. Dify → Knowledge → Create Knowledge → Upload files → Save & Process → Go to Documents
    Index mode: Economical
    
  9. Studio → llama 3.1 → Context → Add → <knowledge>

resource

cache

appdedix

dify

docTR

install

git clone --depth=1 https://github.com/mindee/doctr
cd doctr
uv venv
.venv\Scripts\activate
# cat demo/pt-requirements.txt
uv pip install git+https://github.com/mindee/doctr.git#egg=python-doctr[torch,viz]
uv pip install streamlit>=1.0.0

usage

set USE_TORCH=1
streamlit run demo/app.py

appdedix

doctr

drawDB

usage

# visit http://<your_host>/editor

Drawflow

install

git clone --depth=1 https://github.com/jerosoler/Drawflow
cd Drawflow
npm install
npm run build

usage

Open ./docs/index.html.

appdedix

drawflow

Easy Webpage Summarizer

install

git clone --depth=1 https://github.com/cobanov/easy-web-summarizer
cd easy-web-summarizer
uv venv
.venv\Scripts\activate
uv pip install -r requirements.txt
ollama pull llama3:instruct

usage

## As CLI
python app/webui.py -u <url>
## As GUI
python app/webui.py

appdedix

easy-web-summarizer

Ebook Reader

Deploy with Vercel

  1. When deploy with Vercel.
  2. The Project → Settings.
  • General → Build & Development Settings
    Build Command: pnpm build
    Output Directory: build
    Install Command: pnpm install --frozen-lockfile && pnpm svelte-kit sync
    
  • Root Directory → apps/web.

ebook2audiobook

install

git clone --depth=1 https://github.com/DrewThomasson/ebook2audiobook
cd ebook2audiobook
set %CUDA_PATH%=%CUDA_PATH_V12_4%
ebook2audiobook.cmd
python_env\python.exe -m pip install --no-cache-dir torch==2.6.0 torchaudio==2.6.0 --force-reinstall --index-url https://download.pytorch.org/whl/cu124
python_env\python.exe -m pip install hf_transfer
set HF_HUB_ENABLE_HF_TRANSFER=0
# Test it as CLI
ebook2audiobook.cmd --headless --ebook <path_to>\file.txt --language en --custom_model <path_to>\xtts_v2\MelinaEldenRing

usage

python app.py
python app.py --headless True --use_custom_model True --ebook <ebook_file_path> --voice <target_voice_file_path> --language <language> --custom_model <custom_model_path> --custom_config <custom_config_path> --custom_vocab <custom_vocab_path>

appdedix

ebook2audiobook

Editor

appdedix

editor

EPUB Manga Creator V2

install

git clone --depth=1 https://github.com/wing-kai/epub-manga-creator
cd epub-manga-creator
npm install
npm run build

usage

serve -s build -p 4321

appdedix

epub-manga-creator

ePubViewer

install

git clone --depth=1 https://github.com/pgaskin/ePubViewer
cd ePubViewer

usage

serve -s . -p 4321
# PM2
pm2 serve . 4321 --name epubvidewer --spa
  1. Visit http://localhost:4000 or http://localhost:4000#book.epub.
  2. If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

epubviewer

Etymology Search

appdedix

etymology-search

etytree

install

git clone --depth=1 https://github.com/agmmnn/etytree
cd etytree
yarn
yarn build

usage

yarn dev

appdedix

etytree

Excalidraw

install

git clone --depth=1 https://github.com/excalidraw/excalidraw
cd excalidraw
yarn
yarn build

usage

yarn start

appdedix

excalidraw

Excalith Start Page

install

git clone --depth=1 https://github.com/excalith/excalith-start-page
cd excalith-start-page
yarn

usage

yarn dev
# pm2 start yarn --watch --name "excalith-start-page" -- dev

appdedix

excalith-start-page

F5-TTS

install

git clone --depth=1 https://github.com/SWivid/F5-TTS
cd F5-TTS
conda create -n f5-tts python=3.11
conda install ffmpeg
conda activate f5-tts
pip install torchcodec==0.7 torch==2.8.0+cu128 torchaudio==2.8.0+cu128 --extra-index-url https://download.pytorch.org/whl/cu128
pip install -e .
pip install hf_transfer

usage

f5-tts_infer-gradio

appdedix

f5-tts

faster-whisper-webui

install

1 2 3 4

git clone https://huggingface.co/spaces/aadnk/faster-whisper-webui
cd faster-whisper-webui
uv venv
.venv\Scripts\activate
set "CUDA_PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
echo %CUDA_PATH%
uv pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu118
uv pip install -r requirements.txt
uv pip install -r requirements-fasterWhisper.txt
uv pip install hf_transfer
cp config.json5 config.json5.bak
subl config.json5
# The modified lines, for example
"models": [
	{
		"name": "medium",
		"url": "<path_to>/Simple_Speech_Recognition/modelsCache/faster-whisper-medium",
		"type": "filesystem"
	},
	{
		"name": "large-v2",
		"url": "<path_to>/Simple_Speech_Recognition/modelsCache/faster-whisper-large-v2",
		"type": "filesystem"
	},
	{
		"name": "large-v3",
		"url": "<path_to>/Simple_Speech_Recognition/modelsCache/faster-whisper-large-v3",
		"type": "filesystem"
	},
]
"input_audio_max_duration": -1,
"server_port": 7830,
"whisper_implementation": "faster-whisper",
"default_model_name": "medium",
"vad_parallel_devices": 0,
"auto_parallel": true,
"output_dir": "<output_dir>",
"language": "Chinese",

usage

## As CLI
python cli.py --whisper_implementation "faster-whisper" --vad "silero-vad-skip-gaps" --auto_parallel true --vad_parallel_devices 0 --model "large-v2" --language "Chinese" --initial_prompt="对于普通话句子,以中文简体输出" --diarization_num_speakers 1 --auth_token <hf_token> --output_dir "C:/Users/User/Downloads" <input>
## As Web UI
python.exe app.py --input_audio_max_duration -1 --server_name 127.0.0.1 --server_port 7830 --whisper_implementation "faster-whisper" --default_model_name "large-v2" --vad_parallel_devices 0 --auto_parallel true --auth_token <hf_token> --output_dir "C:/Users/User/Downloads"

reference

annex

rem faster-whisper-webui.bat
@echo off

cd %USERHOME%\Usr\OptWeb\faster-whisper-webui
start .venv\Scripts\python.exe app.py --server_name 127.0.0.1 --server_port 7830 --input_audio_max_duration -1 --whisper_implementation "faster-whisper" --default_model_name "large-v2" --vad_parallel_devices "0" --auto_parallel true --output_dir "C:\Users\User\Downloads"

pause

appdedix

faster-whisper-webui

FastGPT

install

1

mkdir fastgpt
cd fastgpt
curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json
curl -o docker-compose.yml https://raw.githubusercontent.com/labring/FastGPT/main/files/docker/docker-compose-pgvector.yml

usage

sudo docker compose up -d

Favycon

install

git clone --depth=1 https://github.com/ruisaraiva19/favycon
cd favycon
subl .eslintrc.json
	"rules": {
		"prettier/prettier": ["error", {'endOfLine': 'auto'} ]
yarn install
yarn build

usage

yarn start -- -p 4321

appdedix

favycon

finetuneas

install

git clone --depth=1 https://github.com/ozdefir/finetuneas
cd finetuneas

usage

serve -s . -p 4321
# visit http://<your_host>/finetuneas.html

appdedix

finetuneas

Fish Speech

1 2

install

git clone --depth=1 https://github.com/fishaudio/fish-speech
cd fish-speech
uv venv --python 3.12
.venv\Scripts\activate
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
uv pip install https://github.com/AnyaCoder/fish-speech/releases/download/v0.1.0/triton_windows-0.1.0-py3-none-any.whl
uv pip install -e .
uv pip install hf_transfer
  1. Create folder checkpoints/.
  2. Download fishaudio/openaudio-s1-mini into checkpoints\openaudio-s1-mini.

usage

# As GUI
python -m tools.run_webui --llama-checkpoint-path "checkpoints/openaudio-s1-mini" --decoder-checkpoint-path "checkpoints/openaudio-s1-mini/codec.pth" --decoder-config-name modded_dac_vq

If serve port used, edit API_FLAGS.txt.

reference

appdedix

fish-speech

Flatdraw

install

git clone --depth=1 https://github.com/diogocapela/flatdraw
cd flatdraw
npm install
npm run build

usage

npm run dev

appdedix

flatdraw

Flood

install

git clone --depth=1 https://github.com/jesec/flood
cd flood
npm install
npm run build

usage

pm2 start npm --name "flood" -- run start
pm2 save

optional

vim package.json
  "script": {
    // Change port
    "start": "node --enable-source-maps --use_strict dist/index.js --host 0.0.0.0 --port 4321",

config

Visit http://<your_host>/:4321, create account:

User: <flooduser>
Password: <flood_passwd>
Client: qBittorrent
URL: http://<your_host>:<port>
Username: <qBittorrent_user>
Password: <qBittorrent_passwd>

troubleshoot

Forget username or password

  1. rm -rf ~/.local/shared/flood/.
  2. Reload or re-create flood's PM2 serve.

appdedix

flood

Flowchart Fun

install

git clone --depth=1 https://github.com/tone-row/flowchart-fun
cd flowchart-fun
pnpm install
pnpm build

usage

serve -s app/build -p 4321
# PM2
pm2 serve app\build\ 4321 --name flowchart-fun --spa

appdedix

flowchart-fun

FlowGram.AI

install

git clone --depth=1 https://github.com/bytedance/flowgram.ai
cd flowgram.ai
nvm install lts
nvm use lts
npm i -g pnpm@9.12.0 @microsoft/rush@5.140.0
rush update
rush build

usage

rush dev:docs
rush dev:demo-fixed-layout
rush dev:demo-free-layout

appdedix

flowgram-ai

Flowise

appdedix

flowise

FocusTide

install

git clone --depth=1 https://github.com/Hanziness/FocusTide
cd FocusTide
yarn install
yarn generate

usage

serve dist -p 4321
# PM2
pm2 serve dist 4321 --name focustide --spa

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

focustide

foliate-js

usage

# visit http://<your_host>/reader.html

font combination generator

This is copy from font combination generator by Mert Cukuren / MIT. Modify for local use.

appdedix

font-combination-generator

FossFLOW

appdedix

fossflow

Gif Converter with WASM

install

git clone --depth=1 https://github.com/marshallku/gifconverter
cd gifconverter
npm install
npm run build

usage

npm run dev

appdedix

gifconverter

Gifsicle Wasm Browser

install

git clone --depth=1 https://github.com/renzhezhilu/gifsicle-wasm-browser
cd gifsicle-wasm-browser
npm install

usage

serve -s docs -p 4321
# PM2
pm2 serve docs 4321 --name gifsicle-wasm-browser --spa

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

gifsicle-wasm-browser

GIT.RAWify

install

git clone --depth=1 https://github.com/emmanpbarrameda/GIT.RAWify
cd GIT.RAWify

usage

serve -s . -p 4321
# PM2
pm2 serve . 4321 --name git-rawify --spa

appdedix

git-rawify

github-search-rss

Deploy with Github Pages

  1. azu/github-search-rss → Fork → Copy the main branch only (Off) → Create fork.
  2. Fork repo → Actions → Enable.
  3. Settings → Pages → Build and deployment → Branch → gh-pages, /(root) → Save.
  4. Edit BASE_URL, SEARCH_ITEMS in src/RSS.ts:
    const BASE_URL = "https://<user>.github.io/github-search-rss";
    export const SEARCH_ITEMS: RSSItem[] = [
         // For example
        {
            title: "goldendict",
            query: "goldendict sort:updated-desc",
            TYPE: "REPOSITORY",
            link: `${BASE_URL}/goldendict.json`
        },
        {
            title: "keypirinha",
            query: "keypirinha sort:updated-desc",
            TYPE: "REPOSITORY",
            link: `${BASE_URL}/keypirinha-repo.json`
        }
    ];
    
  5. Commit changes... → Commit changes.
  6. Wait for actions to run. Then visit https://<user>.github.io/github-search-rss/.

Graphite

install

1

# Ubuntu 24 ARM
cargo install cargo-watch
cargo install wasm-pack
cargo install -f wasm-bindgen-cli@0.2.99
sudo apt install libgtk-3-dev libsoup2.4-dev libjavascriptcoregtk-4.0-dev libwebkit2gtk-4.0-dev
git clone --depth=1 https://github.com/GraphiteEditor/Graphite
cd Graphite/frontend
cargo install --force cargo-about
cargo install --force wasm-opt
npm install vite --save-dev
npm run build

usage

pm2 serve dist 4321 --name graphite --spa

Guitar-Editor

install

git clone --depth=1 https://github.com/haixiangyan/guitar-tabs-editor
cd guitar-tabs-editor
npm install
npm run build

usage

npm start

optional

subl package.json
  // Change port (Windows)
  "scripts": {
    "start": "set PORT=4321 && react-scripts start",

appdedix

guitar-tabs-editor

h2m

install

git clone --depth=1 https://github.com/island205/h2m
cd h2m

usage

Open index.html.

appdedix

h2m

Headscale-UI

git clone --depth=1 https://github.com/gurucomputing/headscale-ui
cd headscale-ui
# nvm use 18.20.1
npm install
npm run build
npm add -g serve

reference

cross-reference

hot-chain-svg

install

git clone --depth=1 https://github.com/w1nt3r-eth/hot-chain-svg
cd hot-chain-svg
yarn

usage

yarn start

appdedix

hot-chain-svg

image-editor

install

git clone --depth=1 https://github.com/andrepv/image-editor
cd image-editor
nvm install 16.20.0
nvm use 16.20.0
npm install
npm run build

usage

serve -s build -l 4321
# PM2
pm2 serve build 4321 --name image-editor --watch --spa

appdedix

image-editor

IndexTTS2

install

git lfs install
git clone --depth=1 https://github.com/index-tts/index-tts
cd index-tts
git lfs pull
uv sync --all-extras
uv tool install "huggingface-hub[cli,hf_xet]"
hf download IndexTeam/IndexTTS-2 --local-dir=checkpoints
uv run tools/gpu_check.py
uv run webui.py

Invoify

appdedix

invoify

IOPaint

install

git clone --depth=1 https://github.com/Sanster/IOPaint
cd IOPaint/web_app
# nvm use 22.14.0
npm install
npm run build
cp -r dist/ ../iopaint/web_app
cd ..
uv venv --python 3.10
.venv\Scripts\activate
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
uv pip install -e .

usage

cd IOPaint/web_app
npm run dev
# Run in new terminial window
cd IOPaint
# uv pip install gfpgan realesrgan rembg realesrgan onnxruntime
iopaint start --model=lama --port=8080

Optional

Interactive Segmentation

iopaint start --model=lama --port=8080 --enable-interactive-seg --interactive-seg-device=cuda

GFPGAN

uv pip install gfpgan
iopaint start --model=lama --port=8080 --enable-gfpgan --gfpgan-device cuda

RealESRGAN

uv pip install realesrgan
iopaint start --model=lama --port=8080 --enable-realesrgan --realesrgan-model RealESRGAN_x4plus --realesrgan-device cuda

Remove Background

uv pip install rembg
iopaint start --model=lama --port=8080 --enable-remove-bg

RestoreFormer

uv pip install realesrgan
iopaint start --model=lama --port=8080 --enable-restoreformer --restoreformer-device cuda

Anime Segmentation

iopaint start --model=lama --port=8080 --enable-anime-seg

appdedix

iopaint

IT-TOOLS

JS IMAGE CARVER

install

git clone --depth=1 https://github.com/trekhleb/js-image-carver
cd js-image-carver
subl package.json
  "homepage": "",
nvm install 16.20.0
nvm use 16.20.0
npm install
npm run build

usage

serve -s build -l 4321

appdedix

js-image-carver

jsetymology

install

git clone --depth=1 https://github.com/myrriad/jsetymology
cd jsetymology

usage

serve -s . -p 4321

appdedix

jsetymology

JSON Crack

appdedix

json-crack

Khoj

usage

# Pip
uv venv
.venv\Scripts\activate
set CMAKE_ARGS="-DGGML_CUDA=on"
uv pip install "khoj[local]"
set USE_EMBEDDED_DB="true"
khoj --anonymous-modes

1

# Docker compose
mkdir khoj
cd khoj
wget https://raw.githubusercontent.com/khoj-ai/khoj/master/docker-compose.yml
sudo docker compose up -d

Kiwix JS for PWA, Windows and Linux (Electron, NWJS, UWP)

install

git clone --depth=1 https://github.com/kiwix/kiwix-js-pwa
cd kiwix-js-pwa
npm install
npm run build

usage

npm run serve
# visit http://<your_host>/www/index.html
# PM2
pm2 serve dist 5173 --name kiwix-js-pwa --spa --env production
  1. Visit http://localhost:5173
  2. Setting → Use Private File System → Add file(s) → Add to OPFS → Select your .zim → Wait for it to complete.
  3. (Optional) Install PWA.
  4. If you clean up the cache of browser, you need to do it again.

appdedix

kiwix-js-pwa

クモ

Langchain-Chatchat

install

# Conda
mkdir Langchain-Chatchat
cd Langchain-Chatchat
conda create -n Langchain-Chatchat python=3.10
conda activate Langchain-Chatchat
uv pip install langchain-chatchat -U

Langflow

install

1

pipx

pipx install langflow
langflow run

Docker Compose

mkdir langflow
cd langflow
wget https://github.com/langflow-ai/langflow/blob/main/docker_example/docker-compose.yml
sudo docker compose up -d

appdedix

langflow

LivePortrait

install

git clone --depth=1 https://github.com/KwaiVGI/LivePortrait
cd LivePortrait
conda create -n LivePortrait python=3.10
conda activate LivePortrait
pip install torch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
pip install hf_transfer
pip install -U "huggingface_hub[cli]"
# set HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download KwaiVGI/LivePortrait --local-dir pretrained_weights --exclude "*.git*" "README.md" "docs"

usage

1

## As CLI
python inference.py
## As GUI
pip install pydantic==2.8.2
python app.py --flag_do_torch_compile

appdedix

liveportrait

Local Deep Researcher

git clone --depth=1 https://github.com/langchain-ai/local-deep-researcher
cd local-deep-researcher
uv venv --python 3.11
.venv\Scripts\activate
uv pip install -e .
uv pip install -U "langgraph-cli[inmem]"
cp .env.example .env

Edit .env.

langgraph dev

Localpdf.tech

install

git clone --depth=1 https://github.com/julianfbeck/localpdfmerger
cd localpdfmerger
yarn
yarn build

usage

yarn start

optional

subl package.json
  # Change port
  "scripts": {
    "start": "next start -p 4321"
}

appdedix

localpdfmerger

Look Scanned

install

git clone --depth=1 https://github.com/rwv/lookscanned.io
cd lookscanned.io
npm install
npm run build

usage

serve -s dist -p 4321

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

lookscanned

lrc_editor

install

git clone --depth=1 https://github.com/yiyizym/lrc_editor
cd lrc_editor
npm install
npm audit fix --force
npm run build

usage

serve -s docs -p 4321

appdedix

lrc_editor

Manga-Colorizer

From source

git clone --depth=1 https://github.com/BinitDOX/Manga-Colorizer
cd Manga-Colorizer/Backend
uv venv
.venv\Scripts\activate
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
uv pip install -r Backend/requirements.txt
uv pip install einops
python app-stream.py

Image/Manga Translator

install

git clone --depth=1 https://github.com/zyddnys/manga-image-translator
python -m venv venv
venv\Scripts\activate
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt

usage

python -m manga_translator -v --mode web --use-gpu

optional

subl .env
# Change port
SAKURA_API_BASE=http://127.0.0.1:5000

appdedix

manga-image-translator

Manga Repack

install

git clone --depth=1 https://github.com/Aeroblast/MangaRepack
cd MangaRepack
npm install
npm audit fix --force
npm run build

usage

serve -s dist -p 4321

appdedix

mangarepack

markdownlint

install

git clone --depth=1 https://github.com/DavidAnson/markdownlint
cd markdownlint
npm install

usage

npm run build-demo

Open ./demo/default.htm.

appdedix

markdownlint

MeloTTS

install

git clone --depth=1 https://github.com/myshell-ai/MeloTTS
uv venv --python 3.10
.venv\Scripts\activate
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
uv pip install -e .
uv pip install hf_transfer
python -m unidic download

usage

melo "Hello" temp.wav --language EN
melo --device cuda --language EN "<text>" temp.wav && ffplay -autoexit temp.wav
# With Web UI
python melo/app.py

appdedix

melotts

Mermaidv Live Editor

install

git clone --depth=1 https://github.com/mermaid-js/mermaid-live-editor
cd mermaid-live-editor
yarn install
yarn build

usage

serve -s docs -l 4321

appdedix

mermaid-live-editor

MinerU

Pip

1

git clone --depth=1 https://github.com/opendatalab/MinerU
cd MinerU
uv venv --python 3.12
source .venv/bin/activate
uv pip install .[core]
uv pip install hf_transfer

Docker compose

2

# Arch
# sudo pacman -S nvidia nvidia-utils nvidia-container-toolkit
mkdir mineru
cd mineru
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/docker/compose.yaml
sudo docker compose -f compose.yaml --profile gradio up -d

Conda

# Outdate
conda create -n MinerU python=3.10
conda activate MinerU
pip install -U magic-pdf[full] --extra-index-url https://wheels.myhloli.com
pip install modelscope
wget https://gcore.jsdelivr.net/gh/opendatalab/MinerU@master/scripts/download_models.py -O download_models.py
python download_models.py

usage

# Cli
mineru -p <input_path> -o <output_path>
# WebUI
mineru-gradio --server-name 0.0.0.0 --server-port 7860

annex

mini-photo-editor

appdedix

mini-photo-editor

miniPaint

install

git clone --depth=1 https://github.com/viliusle/miniPaint
cd miniPaint
npm install
npm run build

usage

serve -s . -p 4321
# PM2
pm2 serve . 4321 --name minipaint --spa

appdedix

minipaint

Mokuro reader

Muser

Muser is a “smart” music visualizer, made by Jon Shamir. It is an experiment to test how maching learning technology can be used to enhance music visualization.
The idea for muser and the visualization itself is inspired by Wassily Kandinsky (1866-1944). Generally credited as the pioneer of abstract art, his work is well-known for its musical inspirations. Kandinsky associated specific tones and instruments to shapes and colors, thus “visualizing” a musical composition. [jonshamir/muser]

Muser是由Jon Shamir制作的“智能”音乐可视化工具。它是一个实验,以测试机器学习技术如何用于增强音乐可视化。
Muser的构思和可视化本身受到瓦西里·康定斯基(1866-1944)的启发。康定斯基通常被认为是抽象艺术的先驱,他的作品因其音乐灵感而闻名。康定斯基将特定的音调和乐器与形状和颜色关联,从而“可视化”音乐作品。 [jonshamir/muser]

git clone --depth=1 https://github.com/jonshamir/muser
cd muser

1

Create requirements.txt:

audioread==3.0.1
librosa==0.8.1
musicnn==0.1.0
numpy==1.16.6
pandas==1.1.5
scikit-learn==0.24.2
scipy==1.5.4
soundfile==0.12.1
tensorflow==2.3.4
resampy==0.2.2
ipython==7.16.3
conda create --name muser python=3.6.13
conda activate muser
pip install -r requirements.txt
pip install matplotlib

Edit tools/tagger.py, playlist-creator.py:

# %matplotlib inline
python tools/tagger.py
pip install eyed3
python tools/playlist-creator.py
npm install
npm install --save-dev cross-env
npm run start
# set NODE_ENV=development && node tools/bundler.js

reference

muser_batch-script.mp4

MyIP

appdedix

myip

nash

appdedix

nash

NoiseCraft

install

git clone --depth=1 https://github.com/maximecb/noisecraft
cd noisecraft
npm install
npm run build

usage

npm run watch

appdedix

noisecraft

NoteCalc

install

git clone --depth=1 https://github.com/bbodi/notecalc3
cd notecalc3
# rustup override set nightly-2020-11-17
# cargo install --force wasm-pack
# wasm-pack build --release --target no-modules frontend-web

usage

serve -s . -p 4321

appdedix

notecalc3

Notepad Calculator Prototype

install

git clone --depth=1 https://github.com/SteveRidout/notepad-calculator
cd notepad-calculator

usage

Open index.html.

appdedix

notepad-calculator

Ollama Deep Researcher

install

git clone --depth=1 https://github.com/langchain-ai/ollama-deep-researcher
cd ollama-deep-researcher
cp .env.example .env
uv venv --python 3.11
.venv\Scripts\activate
uv pip install -e .
uv pip install -U "langgraph-cli[inmem]"

usage

langgraph dev

appdedix

ollama_deep_researcher

Open WebUI

install

# Pip
uv tool install open-webui --python 3.11
# uv tool install hf_transfer
# Docker compose
mkdir open-webui
cd open-webui
vim docker-compose.yml
services:
	open-webui:
		image: ghcr.io/open-webui/open-webui:main
		container_name: open-webui
		ports:
			# Change port
			- "8050:8080"
		environment:
			OLLAMA_BASE_URL: http://<your_host>:11434
		volumes:
			- .data:/app/backend/data
		restart: always

usage

# Pip
open-webui serve
# Docker compose
sudo docker compose up -d

Visit http://<your_host>:<port>, you may need to wait a few minutes for it to complete initialization.

config

  • Open WebUI → User → Admin Panel → Settings → Documents
    • Embedding Model Engine → Ollama
    • Embedding Model → nomic-embed-text:latest

reference

file

// _path_librarian.json
// The modified lines, for example.
[
    {
        "base_model_id": "qwen3:14b",
        "params":
        {
            "system": "...And you always answer in Simplified Chinese."
        },
    }
]

asset

mark

later

cache

appdedix

open-webui_01 open-webui_02

OpenVoice

appdedix

openvoice

ordered-dither-maker

install

git clone --depth=1 https://github.com/seleb/ordered-dither-maker
cd ordered-dither-maker
npm install
npm run build

usage

serve -s docs -p 4321

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

ordered-dither-maker

Papra

insttall

1

# Docker compose
mkdir papra
cd papra
vim docker-compose.yml
services:
  papra:
    container_name: papra
    image: ghcr.io/papra-hq/papra:latest
    restart: unless-stopped
    ports:
      - "1221:1221"
    volumes:
      - /mnt/<mount_disk>/share/papra/app-data:/app/app-data
    user: "${UID}:${GID}"

Path Motion

usage

# visit http://<your_host>/canvas

appdedix

path-motion

Rearrange PDF as Duplex Scan

install

git clone --depth=1 https://github.com/clemensheithecker/pdf-duplex-scan
cd pdf-duplex-scan
npm install
npm audit fix --force
npm run build

usage

serve -s dist -p 4321

appdedix

pdf-duplex-scan

PDF.js

install

1

Install GTK 2.

pnpm install node-pre-gyp
git clone --depth=1 https://github.com/mozilla/pdf.js
cd pdf.js
npm install
npm install -g gulp-cli
gulp generic

usage

dufs build/generic
pm2 serve -s build/generic -p 4321 --name pdfjs --spa

Visit http://localhost:<port>/web/viewer.html or http://localhost:<port>/web/viewer.html?file=<book>.pdf.

appdedix

pdf-js

pdf-lib-draw-table

pdf-margins

install

git clone --depth=1 https://github.com/ToyVo/pdf-margins
cd pdf-margins
npm install
npm run build

usage

serve -s build -p 4321

appdedix

pdf-margins

PDF Narrator

install

git clone --depth=1 https://github.com/mateogon/pdf-narrator
cd pdf-narrator
uv venv --python 3.12
.venv\Scripts\activate
uv pip install torch==2.6.0 torchaudio==2.6.0 torchvision==0.21.0 --index-url https://download.pytorch.org/whl/cu124

usage

uv pip install deepspeed-0.11.2+cuda124-cp312-cp312-win_amd64.whl
uv pip install lxml-5.3.0-cp312-cp312-win_amd64.whl
uv pip install -r requirements.txt
uv pip install hf_transfer
python main.py

appdedix

pdf-narrator

PDFMathTranslate

install

git clone --depth=1 https://github.com/Byaidu/PDFMathTranslate
cd PDFMathTranslate
uv venv --python 3.10
.venv\Scripts\activate
uv pip install -e .

usage

pdf2zh -i

appdedix

pdfmathtranslate

PDFME

install

git clone --depth=1 https://github.com/pdfme/pdfme
cd pdfme
npm install
npm run build

usage

serve -s build -p 4321

appdedix

pdfme

Perplexica

install

1

git clone --depth=1 https://github.com/ItzCrazyKns/Perplexica
cd Perplexica
# From source
cd ui
cp .env.example .env
npm install
npm run build
cd ..
cp sample.config.toml config.toml
npm install
npm run build

2

# Docker compose
cp sample.config.toml config.toml
sudo docker compose up -d

optional

subl config.toml
[API_ENDPOINTS]
OLLAMA = "http://127.0.0.1:11434"

appdedix

perplexica perplexity

Pic Smaller

Pixelizer

This is copy from Pixelizer by Jamie Coulter / MIT. Modify for local use.

Potluck

install

git clone --depth=1 https://github.com/inkandswitch/potluck
cd potluck
yarn
yarn build

usage

serve -s dist -p 4321

Programming Fonts

install

git clone --depth=1 https://github.com/braver/programmingfonts
cd programmingfonts
npm install

usage

serve -s . -p 4321

appdedix

programmingfonts

Prompt Optimizer

!

QR code designer

install

git clone --depth=1 https://github.com/kochrt/qr-designer
cd qr-designer
nvm install 16.20.0
nvm use 16.20.0
npm install
npm run generate

usage

npm run start
# pm2 start npm --name "qr-designer" -- run start

optional

subl nuxt.config.js
  // Change port
  server: {
    host: "localhost",
    port: 3003
  },

appdedix

qr-designer

qrframe

  1. Fork zhengkyl/qrframe.
  2. Clone it to local.
  3. Edit repo folder in editor, replace all qrframe.kylezhe.ng in files with <prefix_name>.vercel.app.
  4. <prefix_name>.vercel.app is the same as in Vercel project's domain setting.

appdedix

qrframe

Query GPT

appdedix

query_gpt

QuickPic

Comment out the line about Inter-Light, Inter-SemiBold in src/app/utils/og-generator.tsx.

appdedix

quickpic

quiver

install

git clone --depth=1 https://github.com/varkor/quiver
cd quiver
  1. Download zip form [KaTeX - Releases] (https://github.com/KaTeX/KaTeX/releases).
  2. Decompress and move katex/ into src/.

usage

serve -s src -p 4321

appdedix

quiver

Local RAG Chatbot

install

# scoop install ollama ngrok
git clone --depth=1 https://github.com/datvodinh/rag-chatbot
cd rag-chatbot
uv venv
.venv\Scripts\activate
uv pip install -e .

usage

uv pip install hf_transfer
python -m rag_chatbot --host localhost & ngrok http 4321

appdedix

rag-chatbot

RAGFlow

install

sysctl vm.max_map_count
sudo sysctl -w vm.max_map_count=262144
git clone --depth=1 https://github.com/infiniflow/ragflow
cd ragflow

usage

sudo docker compose -f docker/docker-compose.yml up -d
docker logs -f ragflow-server

Rclone-Webui-Angular

appdedix

rclone-webui-angular

readium-js-viewer

REAFLOW

install

git clone --depth=1 https://github.com/reaviz/reaflow
cd reaflow
npm install

usage

npm run start

appdedix

reaflow

recoded

install

git clone --depth=1 https://github.com/siddharthroy12/recoded
cd recoded
npm install --legacy-peer-deps
npm run build

usage

serve -s build -p 4321
# PM2
pm2 serve build 4321 --name recoded --spa

appdedix

recoded

Reference

install

1

git clone --depth=1 https://github.com/Fechin/reference
cd reference
npm install
npm run build

usage

npm run dev
# PM2
hexo g
pm2 serve public 4321 --name reference --watch --spa
watchexec -w source\_posts -- hexo g

optional

subl _config.yml
# Change port
url: http://localhost

appdedix

reference

RegExr

install

git clone --depth=1 https://github.com/gskinner/regexr
cd regexr
nvm install 10.21.0
nvm use 10.21.0
npm install

usage

gulp
# pm2 start "...\gulp-cli\bin\gulp.js" --interpreter "...\.nvm\v10.21.0\node.exe" -n regexr

optional

subl gulpfile.babel.js
// Change port
gulp.task("serve", () => {
  browser({
    server: { baseDir: "./deploy/" },
    port: 4321,
  });
});

Deploy with Docker compose

1

mkdir regexr
cd regexr
vim docker-compose.yml
services:
  regexr:
    image: gufertum/regexr
sudo docker compose up -d

appdedix

regexr

reminiflux

install

git clone --depth=1 https://github.com/reminiflux/reminiflux
cd reminiflux
subl package.json
  "scripts": {
    "build": "set GENERATE_SOURCEMAP=false && react-scripts build",
npm install
npm run build

usage

serve -s build -p 4321
# PM2
pm2 serve build 4321 --name reminiflux --spa
  1. Miniflux → Settings → API Keys → Create a new API key → reminiflux<copy_from>.
  2. Visit localhost:4321
    Host: <your_host>:<port>
    API key: <paste_to>
    

appdedix

reminiflux

ReportBro Designer

install

git clone --depth=1 https://github.com/jobsta/reportbro-designer
cd reportbro-designer
npm install

usage

npm run build-prod

Open ./demos/default.html.

appdedix

reportbro-designer

RetroAssembly

appdedix

retro-assembly

Satori

install

git clone --depth=1 https://github.com/vercel/satori
cd satori
nvm install 16.20.0
nvm use 16.20.0
pnpm install

usage

pnpm dev:playground -- -p 4321
# set PORT=4321 && pm2 start -n "satori" --cwd "./" "./node_modules/turbo/bin/turbo" -- dev --filter=satori-playground...

appdedix

satori

Scira

install

git clone --depth=1 https://github.com/zaidmukaddam/scira
cd scira
cp .env.example .env
vim .env
# From source
pnpm install
pnpm dev
# Docker compose
sudo docker compose --env-file .env up -d

appdedix

scira

Screen Sharing Application

Scribe OCR

! !

install

git clone --depth=1 https://github.com/scribeocr/scribeocr
cd scribeocr
git submodule update --init --recursive
npm install
npx http-server

appdedix

scribe-ocr

Instant Recipe Search

install

git clone --depth=1 https://github.com/typesense/showcase-recipe-search
cd showcase-recipe-search

Windows 10

rbenv install 2.7.2
rbenv shell 2.7.2
gem install bundler -v 2.4.22
bundle install
corepack enable
mv yarn.lock yarn.lock.bk
yarn
git clone --depth=1 https://github.com/typesense/typesense
cd typesense
mkdir build
cd build
cmake ..
make
mkdir -p ~/typesense-server-data
./bin/typesense-server --data-dir ~/typesense-server-data --api-key=xyz --listen-port 8108 --enable-cors
# Require docker
cp .env.development .env
set BATCH_SIZE=1000
yarn run indexer:transformDataset
yarn run indexer:importToTypesense
yarn start

troubleshoot

signal

usage

# visit http://<your_host>/edit

appdedix

signal

Signature Pad

install

git clone --depth=1 https://github.com/szimek/signature_pad
cd signature_pad
npm install

usage

npm run serve

Deploy with Vercel

  1. When deploy with Vercel.
  2. The Project → Settings → General → Build & Development Settings → Output Directory → docs.

appdedix

signature_pad

sketch-to-lineart

install

git clone --depth=1 https://github.com/seleb/sketch-to-lineart
cd sketch-to-lineart
npm install
npm run build

usage

serve -s docs -p 4321

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

sketch-to-lineart

Snippet Box

install

git clone --depth=1 https://github.com/pawelmalak/snippet-box
cd snippet-box
cd client
nvm install 16.20.0
nvm use 16.20.0
npm install
cd ..
subl package.json
  "dependencies": {
    "babel-jest": "^26.6.0",
    "babel-loader": "8.1.0",
    "eslint": "^7.11.0",
    "jest": "26.6.0",
    "webpack": "4.44.2",
    "webpack-dev-server": "3.11.1",
npm install
npm run build

usage

cd snippet-box/build
node server.js

Visit localhost:5000.

appdedix

snippet-box

SQLite Web

install

pipx install sqlite-web

usage

sqlite_web <db_file>

appdedix

sqlite-web

sreadium

install

git clone --depth=1 https://github.com/suisuyy/sreadium
cd sreadium
  1. Put *.epub into epub_content/.
  2. Modify `epub_library.opds.

usage

serve -s . -p 4321
# PM2
pm2 serve . 4321 --name sreadium --spa

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

sreadium

StarVector

1 2

git clone --depth=1 https://github.com/joanrod/star-vector
cd star-vector
conda create -n starvector python=3.11.3 -y
conda activate starvector
python -m pip install --upgrade pip wheel setuptools
set CUDA_PATH="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4"
pip install torch==2.5.1 torchvision==0.20.1 --index-url https://download.pytorch.org/whl/cu124
pip install -e .
# pip install -e ".[train]"
python -m starvector.serve.controller --host 127.0.0.1 --port 10000

And:

python -m starvector.serve.gradio_web_server --controller http://127.0.0.1:10000 --model-list-mode reload --port 7000

And:

pip install -U "huggingface_hub[cli]"
huggingface-cli login
# set HF_ENDPOINT=https://hf-mirror.com
python -m starvector.serve.model_worker --host 127.0.0.1 --controller http://127.0.0.1:10000 --port 40000 --worker http://127.0.0.1:40000 --model-path joanrodai/starvector-1.4b

appdedix

star-vector

Streamlit Image Crop

install

1

git clone --depth=1 https://github.com/mitsuse/streamlit-image-crop
cd streamlit-image-crop
uv python install 3.8.20
uv venv --python 3.8.20
.venv\Scripts\activate
uv pip install poetry
poetry install
cd streamlit_image_crop/frontend
nvm install 16.20.0
nvm use 16.20.0
npm install
npm run build

usage

cd streamlit_image_crop/frontend
serve -s build -l 4321
# In a new terminal session
cd streamlit_image_crop
uv pip install -U click==8
streamlit run example.py

appdedix

streamlit-image-crop

Strike

appdedix

strike

studio

usage

# http://<your_host>/connect

SvgPathEditor

install

git clone --depth=1 https://github.com/Yqnn/svg-path-editor
cd svg-path-editor
npm install
npm run build

usage

serve -s dist/svg-path-editor -l 4321

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

svg-path-editor

SVGEdit

install

git clone --depth=1 https://github.com/SVG-Edit/svgedit
cd svgedit
npm install
npm run build

usage

serve -s dist/editor -l 4321

Deploy with Vercel

  1. When deploy with Vercel.
  2. The Project → Settings → General → Build & Development Settings → Output Directory → dist/editor.

appdedix

svgedit

SVGOMG

install

git clone --depth=1 https://github.com/jakearchibald/svgomg
cd svgomg
npm install
npm run build

usage

serve -s build -p 4321

appdedix

svgomg

Guitar Tab Editor

install

git clone --depth=1 https://github.com/calesce/tab-editor
cd tab-editor
npm install

usage

npm start

optional

# Change port
subl server.js
app.listen(4321, 'localhost', function(err) {
  if (err) {
    return console.log(err);
  }

  console.log('Listening at http://localhost:4321');
});

appdedix

tab-editor

Text generation web UI

appdedix

text-generation-web-ui_model text-generation-web-ui_model

Texthooker UI

textReader

tikzcd-editor

install

git clone --depth=1 https://github.com/yishn/tikzcd-editor
cd tikzcd-editor
npm install
npm audit fix --force
npx prettier --write .

usage

npm run dist

Open dist/tikzcd-editor-v0.9.0/index.html.

appdedix

tikzcd-editor

tldraw

install

git clone --depth=1 https://github.com/tldraw/tldraw
cd tldraw
yarn

usage

yarn dev

Visit http://localhost:5420/develop.

appdedix

tldraw

ToonCrafter

install

git clone --depth=1 https://github.com/sdbds/ToonCrafter-for-windows
# pyenv install 3.8.10
# pyenv shell 3.8.10
# python -m venv venv
# venv\Scripts\activate
uv venv --python 3.8.20
.venv\Scripts\activate
uv pip install -r requirements-windows.txt
  1. Get model.ckpt from Doubiiu/ToonCrafter1.
  2. Put it into checkpoints\tooncrafter_512_interp_v1\model.ckpt.

usage

set XFORMERS_FORCE_DISABLE_TRITON="1"
python gradio_app.py

reference

cache

appdedix

tooncrafter

Transformer Explainer

TBL

install

git clone --depth=1 https://github.com/hydropix/TranslateBookWithLLM
cd TranslateBookWithLLM
uv venv --python 3.9
.venv\Scripts\activate
uv pip install flask flask-cors flask-socketio python-socketio requests tqdm aiohttp lxml ebooklib

usage

python translation_api.py

appdedix

translatebookwithllm

Url encoder for SVG

install

git clone --depth=1 https://github.com/yoksel/url-encoder
cd url-encoder
npm install
npm run build

usage

npm run start
# PM2
pm2 serve build 4321 --name url-encoder --spa

appdedix

url-encoder

Verba

install

git clone --depth=1 https://github.com/weaviate/Verba
cd Verba
vim .env
OLLAMA_URL=http://<ollama_host>:11434
OLLAMA_MODEL=llama3.1
OLLAMA_EMBED_MODEL=mxbai-embed-large

usage

sudo docker compose --env-file .env up -d --build

video-gif-web-converter

install

git clone --depth=1 https://github.com/nabigraphics/video-gif-web-converter
cd video-gif-web-converter
npm install
npm audit fix --force
npm run build

usage

npm start

appdedix

video-gif-web-converter

Villain

VIM Master

! !

appdedix

vim-master

visionmagic

install

git clone --depth=1 https://github.com/visioncortex/visionmagic
cd visionmagic
nvm install 16.20.0
nvm use 16.20.0
cd webapp/app
npm install
cargo install --force wasm-pack
wasm-pack build

usage

npm start

appdedix

visionmagic

Vivliostyle Viewer

install

  1. Get Stable release from Vivliostyle.js Releases.
  2. Decompress it to vivliostyle-viewer.
cd vivliostyle-viewer

usage

serve -s viewer -p 4321
# PM2
pm2 serve viewer 4321 --name vivliostyle-viewer --spa

Deploy with Github Pages

  1. Github → Project → Settings → Pages → Build and deployment → Branch → gh-pages.
  2. After deploy, visit https://<user>.github.io/vivliostyle.js/viewer/vivliostyle-viewer.html.

reference

VoCSSels

This is copy from VoCSSels by Jamie Coulter / MIT. Modify for local use.

Vtracer

install

# Web app
git clone --depth=1 https://github.com/visioncortex/vtracer
cd vtracer
nvm install 16.20.0
nvm use 16.20.0
cd webapp/app
npm install
cargo install --force wasm-pack
wasm-pack build
npm run build
# Arch
yay -S --noconfirm vtracer
# Cargo
cargo install --force vtracer

usage

# Web App
serve -s . -p 4321
# CLI
vtracer -i "$1" -o _vtracer.svg

appdedix

vtracer_webapp

Web-Check

appdedix

web-check

WebVM

Whisper-WebUI

install

git clone --depth=1 https://github.com/jhj0517/Whisper-WebUI
cd Whisper-WebUI
uv venv
.venv\Scripts\activate
uv pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu121
uv pip install -r requirements.txt
uv pip install hf_transfer
subl user-start-webui.bat
# The modified lines, for example
set SERVER_NAME=127.0.0.1
set SERVER_PORT=7861
set WHISPER_TYPE=faster-whisper
set FASTER_WHISPER_MODEL_DIR="<path_to>\Simple_Speech_Recognition\modelsCache"
set INSANELY_FAST_WHISPER_MODEL_DIR="C:\Users\User\Downloads"
set DIARIZATION_MODEL_DIR="<path_to>\Whisper-WebUI\models"

usage

user-start-webui.bat

appdedix

whisper-webui

woah!

install

git clone --depth=1 https://github.com/pabueco/woah
cd woah
pnpm install
pnpm build

usage

serve -s dist -p 4321

If app take up 4321 port, visit chrome://serviceworker-internals/?devtools and unregister it.

appdedix

woah

Yomi-Reader

  1. Vercel → <project> → Deployments → More → Create Deployment → https://github.com/<user>/Yomi-Reader/tree/gh-pages → Create Deployment.
  2. Deployment gh-pages → Domains → yomi-reader-git-gh-pages**.vercel.app.

ComfyUI

install

With Nvidia

git clone --depth=1 https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
python -m venv .venv
.venv\Scripts\activate
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt
python main.py

With AMD (Cache)

1

git clone --depth=1 https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
pip install torch-directml
set HSA_OVERRIDE_GFX_VERSION=10.3.0
python main.py --directml

config

  • ComfyUI → Manager
    • Custom Nodes Manager → Search → Install
    • Install Missing Custom Nodes

cross-reference

cache

resource

mark

cache

annex

UmeAiRT - ComfyUI auto installer

install (Cache)

Put file.json into ComfyUI/user/default/workflows/.

git clone --depth=1 https://github.com/ltdrdata/ComfyUI-Manager custom_nodes\comfyui-manager
pip install -r custom_nodes\comfyui-manager\requirements.txt
git clone --depth=1 https://github.com/ltdrdata/ComfyUI-Impact-Pack custom_nodes\comfyui-impact-pack
pip install -r custom_nodes\comfyui-impact-pack\requirements.txt
git clone --depth=1 https://github.com/ltdrdata/ComfyUI-Impact-Subpack custom_nodes\comfyui-impact-subpack
pip install -r custom_nodes\comfyui-impact-subpack\requirements.txt
git clone --depth=1 https://github.com/city96/ComfyUI-GGUF custom_nodes\comfyui-gguf
pip install -r custom_nodes\comfyui-gguf\requirements.txt
git clone --depth=1 https://github.com/Smirnov75/ComfyUI-mxToolkit custom_nodes\comfyui-mxtoolkit
git clone --depth=1 https://github.com/pythongosssss/ComfyUI-Custom-Scripts custom_nodes\comfyui-custom-scripts
git clone --depth=1 https://github.com/kijai/ComfyUI-KJNodes custom_nodes\comfyui-kjnodes
pip install -r custom_nodes\comfyui-kjnodes\requirements.txt
git clone --depth=1 https://github.com/kijai/ComfyUI-WanVideoWrapper custom_nodes\comfyui-wanvideowrapper
pip install -r custom_nodes\comfyui-wanvideowrapper\requirements.txt
git clone --depth=1 https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite custom_nodes\comfyui-videohelpersuite
pip install -r custom_nodes\comfyui-videohelpersuite\requirements.txt
git clone --depth=1 https://github.com/Fannovel16/ComfyUI-Frame-Interpolation custom_nodes\comfyui-frame-interpolation
pip install -r custom_nodes\comfyui-frame-interpolation\requirements-with-cupy.txt
git clone --depth=1 https://github.com/rgthree/rgthree-comfy custom_nodes\rgthree-comfy
pip install -r custom_nodes\rgthree-comfy\requirements.txt
git clone --depth=1 https://github.com/yolain/ComfyUI-Easy-Use custom_nodes\comfyui-easy-use
pip install -r custom_nodes\comfyui-easy-use\requirements.txt
git clone --depth=1 https://github.com/lldacing/ComfyUI_PuLID_Flux_ll custom_nodes\comfyui_pulid_flux_ll
pip install -r custom_nodes\comfyui_pulid_flux_ll\requirements.txt
pip install insightface==0.7.3
pip install git+https://github.com/rodjjo/filterpy
pip install onnxruntime==1.19.2 onnxruntime-gpu==1.17.1
git clone --depth=1 https://github.com/facok/ComfyUI-HunyuanVideoMultiLora custom_nodes\comfyui-hunyuanvideomultilora
git clone --depth=1 https://github.com/WASasquatch/was-node-suite-comfyui custom_nodes\was-node-suite-comfyui
pip install -r custom_nodes\was-node-suite-comfyui\requirements.txt
git clone --depth=1 https://github.com/kijai/ComfyUI-Florence2 custom_nodes\comfyui-florence2
pip install -r custom_nodes\comfyui-florence2\requirements.txt
git clone --depth=1 https://github.com/yuvraj108c/ComfyUI-Upscaler-Tensorrt custom_nodes\comfyui-upscaler-tensorrt
pip install -r custom_nodes\comfyui-upscaler-tensorrt\requirements.txt
git clone --depth=1 https://github.com/pollockjj/ComfyUI-MultiGPU custom_nodes\comfyui-multigpu
git clone --depth=1 https://github.com/Flow-two/ComfyUI-WanStartEndFramesNative custom_nodes\comfyui-wanstartendframesnative
git clone --depth=1 https://github.com/alexopus/ComfyUI-Image-Saver custom_nodes\comfyui-image-saver
git clone --depth=1 https://github.com/ssitu/ComfyUI_UltimateSDUpscale custom_nodes\comfyui_ultimatesdupscale
git clone --depth=1 https://github.com/Fannovel16/comfyui_controlnet_aux custom_nodes\comfyui_controlnet_aux
pip install -r custom_nodes\comfyui_controlnet_aux\requirements.txt
git clone --depth=1 https://github.com/XLabs-AI/x-flux-comfyui custom_nodes\x-flux-comfyui
pip install -r custom_nodes\x-flux-comfyui\requirements.txt
git clone --depth=1 https://github.com/1038lab/ComfyUI-RMBG custom_nodes\comfyui-rmbg
# https://github.com/IDEA-Research/GroundingDINO/issues/347
pip install groundingdino-py-0.4.0.zip
pip install -r custom_nodes\comfyui-rmbg\requirements.txt
git clone https://github.com/NVIDIA/apex
cd apex
git branch -a
git checkout -b 24.04.01-devel origin/24.04.01-devel
pip install -v --no-cache-dir --no-build-isolation .
cd ..
# Download .whl from https://hf-mirror.com/UmeAiRT/ComfyUI-Auto_installer/tree/main/whl
pip install triton-3.3.0-py3-none-any.whl
pip install triton-windows
pip install mpmath==1.3.0 xformers==0.0.30
# Download .whl from https://huggingface.co/Panchovix/sageattention2.1.1-blackwell2.0-windows-nightly/blob/main/sageattention-2.1.1-cp312-cp312-win_amd64.whl
pip install sageattention-2.1.1-cp312-cp312-win_amd64.whl
# pip install apex-0.1-py3-none-any.whl mpmath-1.3.0-py3-none-any.whl sageattention-2.1.1-cp312-cp312-win_amd64.whl triton-3.3.0-py3-none-any.whl xformers-0.0.30%2B3abeaa9e.d20250426-cp312-cp312-win_amd64.whl
python main.py --windows-standalone-build --lowvram --use-sage-attention

Download models

# From https://hf-mirror.com/UmeAiRT/ComfyUI-Auto_installer/tree/main/models/diffusion_models/FLUX
# From https://hf-mirror.com/UmeAiRT/ComfyUI-Auto_installer/tree/main/models/unet/FLUX
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/clip_l.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/longclip-L.pt?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/t5-v1_1-xxl-encoder-Q3_K_L.gguf?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/t5xxl_fp8_e4m3fn.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip/ViT-L-14-TEXT-detail-improved-hiT-GmP-TE-only-HF.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip_vision/clip_vision_h.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/clip_vision/sigclip_vision_patch14_384.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/controlnet/diffusion_pytorch_model_promax.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/controlnet/Shakker-LabsFLUX1-dev-ControlNet-Union-Pro.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/pulid/pulid_flux_v0.9.0.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/style_models/flux1-redux-dev.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/upscale_models/RealESRGAN_x4plus.pth?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/upscale_models/RealESRGAN_x4plus_anime_6B.pth?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/vae/ae.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/xlabs/controlnets/flux-canny-controlnet-v3.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/xlabs/controlnets/flux-depth-controlnet-v3.safetensors?download=true
https://huggingface.co/UmeAiRT/ComfyUI-Auto_installer/resolve/main/models/xlabs/controlnets/flux-hed-controlnet-v3.safetensors?download=true
https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Ume_Sky/resolve/main/ume_sky_v2.safetensors?download=true
https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Modern_Pixel_art/resolve/main/ume_modern_pixelart.safetensors?download=true
https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Romanticism/resolve/main/ume_classic_Romanticism.safetensors?download=true
https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Impressionism/resolve/main/ume_classic_impressionist.safetensors?download=true
https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Ume_J1900/resolve/main/umej1900.safetensors?download=true
https://huggingface.co/UmeAiRT/FLUX.1-dev-LoRA-Ume_Knight/resolve/main/ume_gachaak.safetensors?download=true

Lobe Chat

An open-source, modern design ChatGPT/LLMs UI/framework. Supports speech synthesis, multi-modal, and extensible (function call) plugin system. One-click FREE deployment of your private OpenAI ChatGPT/Claude/Gemini/Groq/Ollama chat application. [lobehub/lobe-chat]

一个开源的现代设计AI代理工作空间。支持多个AI提供商、知识库(文件上传/RAG)、一键安装MCP市场以及工件/思维。可一键免费部署您的私有AI代理应用程序。 [lobehub/lobe-chat]

install

1

git clone --depth=1 https://github.com/lobehub/lobe-chat
cd lobe-chat
pnpm install
# pnpm add next@latest
# pnpm dev
set NODE_OPTIONS=--max-old-space-size=4096
pnpm build

usage

pnpm start

With PM2

pm2 start pnpm --name lobe-chat -- run start

Or use ecosystem.json:

{
  "apps": [
    {
      "name": "lobe-chat",
      "script": "pnpm",
      "args": "start",
      "interpreter": "C:\\Users\\User\\Scoop\\shims\\bash.exe"
    }
  ]
}

Deploy with Docker compose

2

mkdir lobe-chat
cd lobe-chat
vim docker-compose.yml
# Copy from https://lobehub.com/docs/self-hosting/platform/docker-compose#run-docker-compose-deployment-command
# sudo docker compose pull
sudo docker compose up -d

reference

cross-reference

extra

resource

mark

extra

cache

annex

Lobe Chat Server Database

install

1

mkdir lobe-chat-database
cd lobe-chat-database
# sudo rm -rf data
# sudo rm -rf s3_data
bash <(curl -fsSL https://lobe.li/setup.sh) -l en
# You will see the information following and save them for using it later.
Security secret generation results are as follows:
LobeChat:
	- URL: http://localhost:3210
	- Username: user
	- Password: <password>
Casdoor:
	- URL: http://localhost:8000
	- Username: admin
	- Password: <password>

Minio:
	- URL: http://localhost:9000
	- Username: admin
	- Password: <password>
vim docker-compose.yml
# Copy from https://lobehub.com/docs/self-hosting/platform/docker-compose#run-docker-compose-deployment-command
# Replace string `localhost` to `<your_ip>` for using on local. `<local_domain>` seems not work here.
cp .env .env.bak
# sed -i -e 's/3210/3310/g' -e 's/9000/9100/g' -e 's/9001/9101/g' -e 's/8000/8100/g' .env
sed -i 's/localhost/<your_ip>/g' .env

usage

sudo docker compose up -d
  1. Visit http://<your_ip>:8000, login with admin and <password>.
  2. Casdorr → Identity → Applications → LobeChat → Edit.
  3. Redirect URLs → Add → http://<your_ip>:3210/api/auth/callback/casdoor → Save & Exit.

reference

Stable Diffusion web UI

A web interface for Stable Diffusion, implemented using Gradio library. [AUTOMATIC1111/stable-diffusion-webui]

一个Stable Diffusion的网络界面,使用Gradio库实现。 [AUTOMATIC1111/stable-diffusion-webui]

install

1 2 3 4

git clone --depth=1 https://github.com/AUTOMATIC1111/stable-diffusion-webui
cd stable-diffusion-webui
python -m venv venv
venv\Scripts\activate
pip install torch torchvision torchaudio xformers --index-url https://download.pytorch.org/whl/cu121
subl webui-user.bat
set COMMANDLINE_ARGS=--xformers --port <port>
set XFORMERS_MORE_DETAILS=1

Download type Checkpoint * and put file *.safetensors into models/Stable-diffusion. Liked Earth Satellite Image Map Generator Mix.

usage

pip install hf_transfer
webui-user.bat

Install extension

  1. Extensions → Available → Load from → Search and Install.
  2. Extensions → Install from URL.
  3. Extensions → Installed → Apply and restartUI.

reference

cross-reference

cache

resource

mark

cache

appdedix

stable-diffusion-webui

annex

,   提示词分隔符
_   连词
75 	最好控制在75单词以内
() 	控制权重;格式为`提示词:权重`;数值建议为0.3-1.5
1   默认权重;提示词在数组中越靠前权重越高
[] 	控制生效时间;格式为`提示词:0-1`,表示时间外生效;或者`提示词::0-1`,表示时间内生效;或者`提示词1:提示词2:0-1`
\| 	交替采样
<> 	控制Lora;格式为`lora:触发词:权重`

Stable Diffusion web UI for AMDGPUs

install

git clone --depth=1 https://github.com/lshqqytiger/stable-diffusion-webui-amdgpu
cd stable-diffusion-webui-amdgpu
python -m venv .venv
.venv\Scripts\activate
subl webui-user.bat
set COMMANDLINE_ARGS="--use-directml"

usage

pip install hf_transfer
webui-user.bat

os

reference

cross-reference

mark

extra

cache

resource

cache

Dotfiles

imilar to shells, many other applications store their configuration in files that start with a dot (.). They are hidden files in Linux and Unix-like operating systems. Developers and sysadmins commonly use the term “dotfiles” specifically for the subset of the hidden files that are relevant for configuring the applications and utilities that we care about. Dotfiles are typically scattered in the user home directory (~/) or other application-specific locations between other files and folders.
As with almost anything, we typically want these files to be under some version control system so that we can share them between multiple computers or revert them to a previously working configuration. There are multiple ways to achieve that, but the most common approach is to keep all dotfiles together in one folder and use a version control system like Git to track this folder as a repository. [Petr Stříbný, "Command Line Handbook"]

类似于shell,许多其他应用程序将其配置存储在以点(.)开头的文件中。这些是在Linux和类Unix操作系统中的隐藏文件。开发人员和系统管理员通常将“dotfiles”这个术语专门用于指代与我们关心的应用程序和工具配置相关的隐藏文件子集。
dotfiles通常散布在用户的主目录(~/)或其他特定于应用程序的位置,和其他文件和文件夹混在一起。与几乎所有事物一样,我们通常希望这些文件在某个版本控制系统下,以便可以在多台计算机之间共享它们或将它们恢复到之前的工作配置。有多种方法可以实现这一点,但最常见的方法是将所有dotfiles放在一个文件夹中,并使用像Git这样的版本控制系统来将该文件夹跟踪为一个代码库。 [Petr Stříbný, "Command Line Handbook"]

reference

File Permission

The output uses characters like r for reading, w for writing, and x for executing files. The combination of these operations can also be represented by a single number, called octal notation. We will use the proper number later to change the permissions.
Allowed operations | Number :- | :- Nothing (—) | 0 Execute (–x) | 1 Write (-w-) | 2 Read (r–) | 4 Write and execute (-wx) | 3 Read and execute (r-x) | 5 Read and write (rw-) | 6 Read, write, and execute (rwx) | 7
When we put together the proper numbers for the user owner, group owner and other users, we will arrive at a three digit number, like 400 for r-------- or 777 for rwxrwxrwx. [Petr Stříbný, "Command Line Handbook"]

输出使用像r(读取)、w(写入)和x(执行文件)这样的字符。这些操作的组合也可以用一个称为八进制表示法的数字来表示。我们稍后会使用正确的数字来更改权限。
允许的操作 | 数字 :- | :- 无 (—) | 0 执行 (–x) | 1 写入 (-w-) | 2 读取 (r–) | 4 写入和执行 (-wx) | 3 读取和执行 (r-x) | 5 读取和写入 (rw-) | 6 读取、写入和执行 (rwx) | 7
当我们将用户拥有者、组拥有者和其他用户的正确数字组合在一起时,最终会得到一个三位数,比如400代表r--------或者777代表rwxrwxrwx。 [Petr Stříbný, "Command Line Handbook"]

Android TV

reference

Armbian

install

1 2

Login with user root, password 1234.

sudo apt update
sudo apt upgrade
sudo apt list --installed

Battize

optional

ujust setup-decky ACTION="install"
ujust enable-tailscale
sudo reboot
sudo tailscale up

Game stream

ujust setup-sunshine
On Windows 10:
netsh advfirewall firewall add rule name="GameStream UDP" dir=in protocol=udp localport=48010 action=allow
netsh advfirewall firewall add rule name="GameStream TCP" dir=in protocol=tcp localport=48000,48010 action=allow

reference

Home Assistant

reference

appdedix

home-assistant

OSMC

reference

postmarketOS

  1. Windows 10 → 计算机管理 → 系统工具 → 设备管理器 → 便携设备 → ONEPLUS A5010
  2. 驱动程序 → 更新驱动程序 → 浏览我的电脑以查找驱动程序 → usb_driver\
  1. OnePlus 5 → 设置 → 关于手机 → 版本号 → 点击7下
  2. 设置 → 开发者选项 → OEM解锁 → 启用
  3. 拔掉USB → 电源键+音量上键 → FastBoot Mode
  4. 插上USB → 在PC上运行fastboot oem unlock

reference

Raspberry Pi OS

install

1

sudo apt update
sudo apt full-upgrade
sudo reboot
sudo rpi-update
sudo reboot
sudo rpi-eeprom-update
sudo apt install vim
sudo vim /boot/firmware/config.txt
# Add on bottom
[all]
# dtoverlay=disable-wifi
# dtoverlay=disable-bt
dtparam=pciex1_gen=3
dtparam=cooling_fan=on
dtparam=fan_temp0=50000
dtparam=fan_temp0_hyst=4000
dtparam=fan_temp0_speed=50
dtparam=fan_temp1=60000
dtparam=fan_temp1_hyst=4000
dtparam=fan_temp1_speed=100
dtparam=fan_temp2=65000
dtparam=fan_temp2_hyst=4000
dtparam=fan_temp2_speed=150
dtparam=fan_temp3=70000
dtparam=fan_temp3_hyst=5000
dtparam=fan_temp3_speed=200

Use repository mirror (Optional)

2

sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak
sudo nano /etc/apt/sources.list.d/raspi.list
deb https://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
# deb-src https://mirrors.ustc.edu.cn/debian bullseye main contrib non-free
deb https://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free
# deb-src https://mirrors.ustc.edu.cn/debian bullseye-updates main contrib non-free
# deb https://mirrors.ustc.edu.cn/debian bullseye-backports main contrib non-free
# deb-src https://mirrors.ustc.edu.cn/debian bullseye-backports main contrib non-free

reference

cross-requirement

appdedix

raspberry-pi-os

Recalbox

usage

  • Menu → Controller settings → Pair a bluetooth controller.
  • Menu → UI Settings
    • Update Games Lists.
    • Game Filters → Hide Preinstalled Games.

optional

Change theme

Download theme into share/themes.

Enable SSH

  1. Menu → Network Name → Enable WiFi → On.
  2. Network Name → <ssid>.
  3. WiFi Password → <password> → Start.
  4. Connect with:
    host: recalbox (or ip-address)
    port: 22
    username: root
    password: recalboxroot
    

reference

cross-reference

RetroPie

Pi OS (RPI-5)

1 2

install

sudo apt install rpi-imager
wget https://downloads.raspberrypi.com/raspios_lite_arm64/images/raspios_lite_arm64-2025-05-13/2025-05-13-raspios-bookworm-arm64-lite.img.xz
lsblk
sudo rpi-imager --cli --first-run-script ./firstrun.sh 2025-05-13-raspios-bookworm-arm64-lite.img.xz /dev/nvmeXnX
sudo shutdown now
sudo apt update
sudo apt upgrade
sudo raspi-config

Locallisation Options → Locale → Enter <Space> to select/unselect → en_US-UTF-8 UTF-8 → OK → en_US-UTF-8 → OK → Finish.

sudo reboot now
sudo update-locale LANGUAGE="en_US:en"
sudo update-locale LC_ALL=en_US.UTF-8
sudo reboot now
locale
sudo apt install git lsb-release
git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup
cd RetroPie-Setup
chmod +x retropie_setup.sh
sudo ./retropie_setup.sh
  1. Basic Install → Yes
  2. Update → Yes

setup

sudo ~/RetroPie-Setup/retropie_setup.sh
# In EmulationStation, you can clink `<Start>` → RetroPie Configuration → RestroPie Setup
  1. Configuration/tools
    • autostart → Start EmulationStation at boot → OK.
    • bluetooth
      1. Pair and Connect to Bluetooth Device → <your_controller> → OK → DisplayYesNo.
      2. (Optional) Configurate bluetooth connect mode → boot → OK.
    • (Optional) wifi → Connect to WiFi network → <your_wifi> → Entry <your_wifipasswd> → Ok.
    • (Optional) samba
      1. Install RetroPie Samba shares → Ok.
      2. Manually edit /etc/samba/smb.conf → workgroup = SMBGPRP.
      3. Restart Samba service.
      4. Default Samba Shares and paths:
        • roms, /home/user/RetroPie/roms
        • bios, /home/user/RetroPie/BIOS
        • configs, /opt/retropie/configs
        • splashscreens /home/user/RetroPie/splashscreens
  2. Perform reboot

GPi CASE 2

setup

3 4

  1. Connect to a keyboard.
  2. <Start> → RetroPie (Configuration)
    • File Manager → Used <A> to enter, Find and run /boot/gpi.sh.
    • WiFi → Connect to WiFi.
    • (Optional) Interface Options → SSH → Yes.
  3. On PC, connect with:
    host `retropie` (or ip-address)
    port `22`
    username `pi`
    password `raspberry`
    

optional

Bluetooth adapter

5

sudo apt install bluetooth pi-bluetooth bluez
sudo vim /boot/firmware/config.txt
# Add on bottom
[all]
dtoverlay=disable-bt
sudo reboot

Enable Xbox controller adapter

6

git clone --depth=1 https://github.com/medusalix/xow
cd xow
make BUILD=RELEASE
sudo make install
sudo apt install cabextract
chmod +x ./firmware.sh
sudo ./firmware.sh
sudo systemctl enable --now xow
sudo systemctl status xow
# sudo systemctl stop xow
# sudo systemctl disable xow
# sudo make uninstall

Enable Pegasus Frontend

7

  1. RetroPie (Configuration) → RetroPie Setup → Configuration/tools.
    1. Manage packages → Manage experimental packages → pegasus-fe → Install from pre-compiled binary.
    2. autostart → Manally edit /opt/retropie/configs/all/autostart.sh → pegasus-fe.
  2. Reboot.

Emulator Löve (Experimental)

8 9

  1. RetroPie (Configuration) → RetroPie Setup → Manage packages → Manage optional packages → love-0.10.2 or love.
  2. Add <game>.love <path_to>/roms/love/.

usage

  1. Configure keymap: <Start> → Main Menu → Configure Input → Hold a key on controller to set.
  2. Refresh roms: <Start> → Main Menu → Quit → Restart EmulationStation → Game listing will be refreshing.

reference

cross-reference

  1. gpi-case-2.md
  2. raspberry-pi-os.md
6

xow

annex

appdedix

retropie

Ubuntu 22 ARM

Disable WiFi

1 2

sudo ifconfig eth0 up
sudo ifconfig wlan0 down

But it seems don't work.

sudo rm /etc/netplan/50-cloud-init.yaml
sudo vim /etc/netplan/00-installer-config.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: true
      optional: true
  wifis:
    wlan0:
      dhcp4: true
      optional: false
      access-points:
        "<ssid>":
          password: "<password>"
          hidden: true
sudo chmod 600 /etc/netplan/00-installer-config.yaml
sudo netplan generate
sudo netplan --debug apply
sudo reboot
ip a
sudo ifconfig wlan0 down

Install Nerd Font (Cache)

3

sudo vim /etc/fonts/conf.d/50-enable-fixed.conf
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <selectfont>
    <acceptfont>
      <pattern>
        <patelt name="<font_family>"><string>fixed</string></patelt>
      </pattern>
    </acceptfont>
  </selectfont>
</fontconfig>
sudo dpkg-reconfigure fontconfig
wget https://github.com/ryanoasis/nerd-fonts/releases/download/v3.3.0/JetBrainsMono.tar.xz
tar -xJvf JetBrainsMono.tar.xz
rm README.md
rm OFL.txt
mv JetBrains** ~/.local/share/fonts

appdedix

ubuntu-22-arm

Ubuntu

install

sudo apt update
sudo apt upgrade -y
# sudo apt-get clean
# sudo apt-get autoremove
timedatectl set-timezone Asia/Shanghai

optional

Use repository mirror

1

mkdir -p /etc/apt/sources.list.d
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak
sudo vim /etc/apt/sources.list.d/ubuntu.sources
# Ubuntu 22 ARM
Types: deb
URIs: https://mirrors.ustc.edu.cn/ubuntu-ports
Suites: jammy jammy-updates jammy-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.ustc.edu.cn/ubuntu-ports
Suites: jammy-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# Ubuntu 24 ARM
Types: deb
URIs: https://mirrors.ustc.edu.cn/ubuntu-ports
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.ustc.edu.cn/ubuntu-ports
Suites: noble-security
Components: main universe restricted multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# Ubuntu 24
Types: deb
URIs: https://mirrors.ustc.edu.cn/ubuntu
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg

Types: deb
URIs: https://mirrors.ustc.edu.cn/ubuntu
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
sudo apt update

Arch Linux

pre-install

install

1

systemctl stop reflector.service
timedatectl set-ntp true
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
vim /etc/pacman.d/mirrorlist
Server = https://mirrors.ustc.edu.cn/archlinux/$repo/os/$arch
lsblk
cfdisk /dev/nvme?n1
size        | type             | comment
1G          | EFI System       | /boot
32G*0.6=18G | Linux Swap       |
free        | Linux filesystem | /
mkfs.fat -F32 /dev/nvme?n1p1
mkswap /dev/nvme?n1p2
mkfs.btrfs -L Arch /dev/nvme?n1p3
mount -t btrfs -o compress=zstd /dev/nvme?n1p3 /mnt
btrfs subvolume create /mnt/@
btrfs subvolume create /mnt/@home
btrfs subvolume list -p /mnt
umount /mnt
mount -t btrfs -o subvol=/@,compress=zstd /dev/nvme?n1p3 /mnt
mkdir -p /mnt/home
mount -t btrfs -o subvol=/@home,compress=zstd /dev/nvme?n1p3 /mnt/home
mkdir -p /mnt/boot
# Mount EFI
mount /dev/nvme?n1p1 /mnt/boot
# Mount Linux Swap
swapon /dev/nvme?n1p2
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs
pacstrap /mnt networkmanager vim sudo zsh zsh-completions
genfstab -U /mnt > /mnt/etc/fstab
arch-chroot /mnt

2

vim /etc/hostname
arch
vim /etc/hosts
# Add
127.0.1.1	arch.local arch

3

# timedatectl set-timezone Asia/Shanghai
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock --systohc

4 5

vim /etc/locale.gen
# Find and uncomment
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
locale-gen
vim /etc/locale.conf
LANG=en_US.UTF-8
passwd root
useradd -m -G wheel -s /bin/bash <user>
passwd <user>
EDITOR=vim visudo
# Uncomment
%wheel ALL=(ALL:ALL) ALL
# AMD CPU
pacman -S amd-ucode
# AMD GPU
sudo pacman -S mesa lib32-mesa vulkan-radeon lib32-vulkan-radeon
# Intel CPU
pacman -S intel-ucode
# NVIDIA GPU
sudo pacman -Syu linux-headers
sudo pacman -S nvidia nvidia-utils nvidia-settings nvidia-dkms
sudo mkinitcpio -P
sudo modprobe nvidia
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ARCH
vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog"
grub-mkconfig -o /boot/grub/grub.cfg
exit
umount -R /mnt
shutdown -h now
sudo systemctl enable --now NetworkManager

6

lsblk -o name,mountpoint,size,uuid
# Get UUID of Swap Partition
sudo vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=5 nowatchdog resume=UUID=<swap_uuid>"
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo vim /etc/mkinitcpio.conf
HOOKS=(base udev resume ...)
sudo mkinitcpio -P
sudo reboot

reference

cross-reference

mark

  1. archwsl.md
  2. pacman.md
  3. yay.md
  4. flatpak.md
  5. openssh.md
  6. tigervnc.md
  7. firewalld.md
  8. pipewire.md
  9. bluez.md
  10. mount.md

extra

cache

troubleshoot

Bluetooth service was skipped because of an unmet condition check ...

7

sudo modprobe bluetooth
sudo systemctl restart bluetooth
systemctl status bluetooth

appdedix

arch-linux-arm_ucon arch-linux

Domain name resolution

install

1

sudo vim /etc/hosts
# For example
<ip>	github.com
<ip>	raw.githubusercontent.com

usage

sudo systemctl restart systemd-resolved

Install fonts

mkdir -p ~/.local/share/fonts
# mkdir -p ~/.local/share/fonts/ttf
mv <font_file> ~/.local/share/fonts/
# fc-cache -fv

Users and groups

usage

command

# Add user
sudo useradd -m <user>
sudo passwd <user>

# Add group
sudo addgroup sudousers
# Add user into group
sudo usermod -aG sudousers <user>
# Remove user from group
sudo gpasswd -d <user> <group>

AppImage

usage

12

  • Thunar → <app>.AppImage → Properties → Permissions → Allow this file to run as a program.
  • Or chmod +x <app>.AppImage.
cd ~/.local/share/applications
vim <app>.desktop
[Desktop Entry]
Type=Application
Name=<The APP>
Comment=<comment>
Icon=<absolute_path_to>/icon.png
Exec=<absolute_path_to>/<app>.AppImage --appimage-portable-config
Terminal=false
Categories=<categorie_1>;<categorie_1>
Path=
StartupNotify=false

Launch <app>.desktop → Mark As Secure And Launch.

ArchWSL

install

# scoop install archwsl
wsl --install archlinux
arch

useradd

passwd
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel
useradd -m -G wheel -s /bin/bash <user>
passwd <user>
exit
arch config --default-user <user>
arch

usage

command

# Personal do
sudo pacman -Syyu \
	inetutils \
	less \
	unzip \
	wget \
	xsel
# editorconfig-checker \

WSL Optionals

1

D-Bus

# sudo pacman -S dbus
sudo mkdir /run/dbus -p
sudo dbus-daemon --system

systemd/systemctl

vim /etc/wsl.conf
[boot]
systemd=true

reference

cross-reference

  1. arch-linux.md
  2. wsl.md
  3. pacman.md
  4. yay.md
  5. openssh.md
  6. tigervnc.md

appdedix

archwsl_01 archwsl_02

RaspArch

sudo -s
passwd
sudo nano /etc/sudoers.d/wheel
%wheel ALL=(ALL) ALL
sudo useradd -m -G wheel -s /bin/bash <user>
sudo passwd <user>
su <user>
sudo nano /etc/pacman.conf
DisableSandbox

[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch
sudo cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
sudo vim /etc/pacman.d/mirrorlist
# Add on top
Server = https://mirrors.ustc.edu.cn/archlinuxarm/$repo/os/$arch
wget http://mirror.archlinuxarm.org/aarch64/core/libssh2-1.11.1-1-aarch64.pkg.tar.xz
mkdir libssh2
tar -xvf libssh2-1.11.1-1-x86_64.pkg.tar.zst -C libssh2
cd libssh2/usr/lib
sudo cp libssh2.so.1.0.1 /usr/lib
sudo pacman -R firefox gimp
sudo pacman -Syyu

yay

1 2

# Not recommended
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay-git.git
cd yay-git
makepkg -si
# No aarch64 version to fix pacman
git clone https://github.com/chaitanyarahalkar/Pacman-Static
cd Pacman-Static
makepkg -si
./pacman-static -Syyu

troubleshoot

XDG Base Directory

reference

Xorg

Xinit

vim .xinitrc
session=${1:-xfce}

case $session in
	xfce|xfce4        ) exec startxfce4;;
	i3|i3wm           ) exec i3;;
	*                 ) exec $1;;
sac
startx ~/.xinitrc <xfce/i3/*>

xprofile

sudo pacman -S xorg-xev
xev
# Get your keyboard key's keycode

reference

Windows 10

boot

  1. 现在安装 → 我没有产品密钥 → Windows 10 专业版 → 自定义:仅安装Windows(高级) → 选择目标驱动器 → 格式化 → 新建
  2. 我没有Internet连接
  3. 继续执行有线设置
  4. 使用脱机账户 → 不填写密码
  5. 运行 → control userpasswords2 → 属性 → 要使用本计算机,用户必须输入用户名和密码(Off)

System environment

Get Windows default environments

SET
# BaseDirs
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\User\AppData\Roaming
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramFiles=C:\Program Files\Common Files
DriverData=C:\Windows\System32\Drivers\DriverData
HOMEDRIVE=C:
HOMEPATH=\Users\User
LOCALAPPDATA=C:\Users\User\AppData\Local
ProgramData=C:\ProgramData
ProgramFiles(x86)=C:\Program Files (x86)
ProgramFiles=C:\Program Files
PUBLIC=C:\Users\Public
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=%SystemRoot%\TEMP # TEMP=C:\Users\User\AppData\Local\Temp
TMP=%SystemRoot%\TEMP # TMP=C:\Users\User\AppData\Local\Temp
USERNAME=User
USERPROFILE=C:\Users\User
windir=%SystemRoot%

# Other
ComSpec=C:\Windows\system32\cmd.exe
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING=Default
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

# PATH
Path=C:\Windows;C:\Windows\system32;C:\Windows\System32\OpenSSH;C:\Windows\system32\wbem;C:\Windows\System32\WindowsPowerShell\v1.0

Add into System Environment

USERHOME=<user_path>
SCOOP_GLOBAL=<user_path>\Usr\Scoop

Add into top of System PATH

C:\Users\User\Scoop\apps\git\current\bin;
C:\Users\User\Scoop\apps\git\current\usr\bin;
C:\Users\User\Usr\Git\Shell\_windows\Patch;

Add into User Environment

EDITOR=<your_editor>
BROWSER=<your_browser>
## CUDA
CUDNN=C:\Program Files\NVIDIA\CUDNN\v9.17\bin\12.9;C:\Program Files\NVIDIA\CUDNN\v9.17\include\12.9;C:\Program Files\NVIDIA\CUDNN\v9.17\lib\12.9\x64
## Hugging Face
# HF_DATASET_ROOT=C:\Users\User\Usr\Model\huggingface\dataset
# HF_MODEL_ROOT=C:\Users\User\Usr\Model\huggingface\model
HF_HUB_ENABLE_HF_TRANSFER=1
HF_ENDPOINT=https://hf-mirror.com
HF_MIRROR=https://hf-mirror.com
# HF_MIRROR=https://huggingface.co
## Lib
CARGO_HOME=C:\Users\User\.cargo
CARGO_TARGET_DIR=C:\Users\User\.cargo\tmp
G_MIRROR=https://golang.google.cn/dl/
UV_PYTHON=3.12
# UV_CACHE_DIR=C:\Users\User\Usr\Data\uv_cache
JAVA_HOME=C:\Users\User\Scoop\apps\openjdk22\current
LUA_PATH=C:\Users\User\Usr\Lib\lua-5.4.6;C:\Users\User\AppData\Roaming\luarocks\share\lua\5.4\?.lua;C:\Users\User\AppData\Roaming\luarocks\share\lua\5.4\?\init.lua
LUA_CPATH=C:\Users\User\Usr\Lib\lua-5.4.6\src;C:\Users\User\AppData\Roaming\luarocks\lib\lua\5.4\?.dll
PIPX_HOME=C:\Users\User\.pipx
PNPM_HOME=C:\Users\User\.pnpm
## Bin
LIBCLANG_PATH=C:\Users\User\Scoop\apps\llvm\current\bin
LLVM_LIB_DIR=C:\Users\User\Scoop\apps\llvm\current\lib
SCOOP=C:\Users\User\Scoop
## Opt
MAGICK_CODER_MODULE_PATH=C:\Users\User\Scoop\apps\imagemagick\current\modules\coders
MAGICK_HOME=C:\Users\User\Scoop\apps\imagemagick\current
OLLAMA_HOST=localhost
OLLAMA_ORIGINS=*
TESSDATA_PREFIX=C:\Users\User\Scoop\apps\tesseract-languages\current
## Other
DOTFILES_DIR=C:\Users\User\Usr\Git\dotfiles
PEGASUS_HOME=C:\Users\User\Scoop\apps\pegasus\current

Add into User PATH (ignore the scoop add)

C:\Users\User\.local\bin;
## Lib
C:\Users\User\.cargo\bin;
C:\Users\User\.cargo\tmp\release;
C:\Users\User\.rustup\toolchains\stable-x86_64-pc-windows-msvc\bin;
C:\Users\User\.g\bin;
C:\Users\User\.g\go\bin;
C:\Users\User\.pipx\bin;
C:\Users\User\.pnpm;
C:\Users\User\Usr\Lib\lua-5.4.6;
C:\Users\User\Usr\Lib\lua-5.4.6\bin;
C:\Users\User\AppData\Roaming\luarocks\bin;
C:\Users\User\Usr\Lib\rbenv\rbenv\bin;
C:\Users\User\Usr\Lib\rbenv\shims;
## Opt
C:\Program Files\Ethea\SVGShellExtensions;
C:\Program Files\GPSoftware\Directory Opus;
C:\Program Files\BraveSoftware\Brave-Browser\Application;
## Shell
C:\Users\User\Usr\Git\Shell\_windows;
C:\Users\User\Usr\Git\Shell\_windows\SendTo;
C:\Users\User\Usr\Git\Shell\_windows\FromClipboard;
C:\Users\User\Usr\Git\Shell\bin;
C:\Users\User\Usr\Git\Shell\opt;
## Patch
C:\Users\User\Usr\Opt\cmder_mini;
C:\Users\User\Usr\Srv\Kiwix-Server;

Reset Windows certificate store

certutil -generateSSTFromWU roots.sst
certutil -addstore -f root roots.sst
del roots.sst

config (Cache)

  • Win+Q
    • 搜索权限和历史记录 → (All Off)
    • Windows Search设置 → 高级搜索索引器设置 → 经典 → 在此自定义搜索位置 → 修改 → 包含的位置/用户 Off → 确定
  • 鼠标
    • 鼠标设置 → 其他鼠标选项 → 指针 → Grey Tango
    • 自定义 → 文本选择 → 浏览 → cursor_white/Text.cur → 应用
  • SMB
    • 启用或关闭Windows功能 → SMB1.0/CIFS文件共享支持(On) → SMB直通(On)
    • 网络和共享中心 → 高级共享设置 → 专用 → 启用网络发现(On) → 启用网络连接设备的自动设置(On) → 启用文件和打印机共享(On)
    • 计算机管理 → 本地用户和组 → 用户 → 右键 → 新用户 → 用户名() → 用户不能更改密码(On) → 密码永不过期(On) → 新建
    • 文件夹 → 右键 → 属性 → 共享 → 共享 → 选择要与其共享的用户 ... 权限级别(读取/写入) → 共享 → 完成
  • 查询本机IP
    • CMD → ipconfig | findstr /i "ipv4"
    • 网络状态 → 更改适配器选项 → 以太网 → 属性 → Internet协议版本4 → IPv4
  • 添加网络位置
    • 此电脑 → 右键 → 添加一个网络位置 → 下一页 → 选择自定义网络位置 → 查看示例 ... 用户名() → 下一步 ... 保存密码(On) → 登录 → 完成
  • 新建防火墙规则
    • 管理Windows防火墙规则 → 创建新规则 → 新增空白规则 ... 此程序 → 浏览名称 → 方向 → 出站
  • 资源管理器
    • 查看 → 选项 → 常规 → 打开文件资源管理器时打开(此电脑) → 在"快速访问"中显示常用文件夹(Off)
    • ... 查看 → 显示隐藏的文件、文件夹和驱动器 (On) → 隐藏已知文件类型的扩展名 (Off)
  • 自动播放CD或其他媒体
    • 可移动驱动器 → 不执行操作
  • 关闭Windows键热键
    • 编辑组策略 → 用户配置 → 管理模板 → Windows组件 → 文件资源管理器 → 关闭Windows键热键 → 右键 → 编辑 → 已启用 → 确定
  • 键盘
    • Windows
      • 编辑语言和键盘选项
        • 拼写、键入和键盘设置 → 全部关闭
        • 添加语言 → 英语(美国)
        • 添加语言 → 中文(简体,中国)/选项 → 微软拼音 → 删除
      • 高级键盘设置
        • 语言栏选项 → 语言栏/语言栏 隐藏 → (可选)高级键设置
          • 在输入语言之间 → 更改按键顺序 → (无)
          • 切换到英语(美国) - 美式键盘 → 更改按键顺序 → (无)
          • 切换到中国(简体,中国) - 小狼毫 → 更改按键顺序 → Ctrl+Shift+1
          • 中文(简体)输入法 - 输入法/非输入发切换 → Ctrl+Shift+F12
        • 替代默认输入法 → 英语(美国) - 美式键盘 → 允许我为每个应用窗口使用不同的输入法 Off
    • KBLAutoSwith → 设置
      • 基础设置1 → 输入法切换设置
        • 自动切换 → 禁止
        • 默认输入法 → 英文
      • 基础设置2 → 特殊热键 → 右Shift → 切换中英文输入法
    • Rime
      • 迁移: 复制用户资料夹到新目录 → 小狼毫 安装选项 → 新目录 → 小狼毫 重新部署 → 小狼毫算法服务
      • 小狼毫安装选项 → 用户文件夹 → 使用默认默认位置 → 修改文件夹
      • 小狼毫重新部署
        • 小狼毫输入法设定 → 检查配置
      • 崩溃时运行小狼毫算法服务
  • 声音
    • 声音 → 声音控制面板 → 声音 → 声音方案 → 无声
  • Game bar
    • 游戏 → Game Bar (Off) → 允许控制器打开Game Bar (Off)
  • 更改DNS服务器
    • 查看网络连接 → 以太网 → 属性 → 网络 → Internet协议版本4 → 属性 → 自动获得DNS服务器地址
    • 命令提示符 → ipconfig /flushdns
  • 打印机
    • 属性 → 共享 → 共享这台打印机 (On) → 在客户端计算机上呈现打印作业 (On)

reference

cross-reference

mark

cache

troubleshoot

resource

cache

ReviOS

reference

  1. Windows 10 版本信息
  2. List of system changes
  3. Installing Windows
  4. Applying Playbook
  5. Post-Install Guide

appdedix

revios

WSL

install

1 2 3

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
wsl --set-default-version 2
wsl --update --web-download
wsl --list --online
wsl --install <distro>

optional

Remove Windows 10's PATH

4 5

sudo vim /etc/wsl.config
[interop]
appendWindowsPath = false

WSLg

Turn on6:

ln -s /mnt/wslg/runtime-dir/wayland-0* /run/user/1000/

Turn off7:

subl %UserProfile%\.wslconfig
[wsl2]
guiApplications=false

cross-reference

srv

reference

cross-reference

mark

later

extra

cache

resource

mark

later

extra

cache

cancel

ActivityWatch

resource

cache

Anki Sync Server

install

1

# Ubuntu 22 ARM
uv venv .anki-sync-server
source .anki-sync-server/bin/activate
uv pip install anki
sudo vim /etc/systemd/system/anki-sync-server.service
[Unit]
Description=Anki Sync Server
After=network.target

[Service]
Environment="SYNC_USER1=<user>:<password>"
Environment="SYNC_USER1=SYNC_HOST=0.0.0.0"
Environment="SYNC_USER1=SYNC_PORT=8060"
WorkingDirectory=/path/to/.anki-sync-server
ExecStart=/path/to/.anki-sync-server/bin/python -m anki.syncserver
Restart=always

[Install]
WantedBy=multi-user.target

usage

sudo systemctl enable --now anki-sync-server

cross-reference

audiobookshelf

install

1

mkdir audiobookshelf
cd audiobookshelf
vim docker-compose.yml
# Copy from https://github.com/advplyr/audiobookshelf/blob/master/docker-compose.yml
    volumes:
    	# Add media dirs on mount disk
      - /mnt/<mount_name>/audiobookshelf:/audiobooks
      - /mnt/<mount_name>/podcast:/podcasts
sudo docker compose up -d

reference

appdedix

audiobookshelf

beaverhabits

install

mkdir beaverhabits
cd beaverhabits
vim docker-compose.yml
# Copy from https://github.com/daya0576/beaverhabits?tab=readme-ov-file#self-hosting

usage

sudo docker compose up -d

Beaver Habit Tracker → More → Add.

Black Candy

install

1

mkdir blackcandy
cd blackcandy
vim docker-compose.yml
services:
  blackcandy:
    image: ghcr.io/blackcandy-org/blackcandy:latest
    ports:
      - "3000:3000"
    volumes:
      - <music_dir>:/media_data
    environment:
      MEDIA_PATH: /media_data
    deploy:
      restart_policy:
        condition: any
  1. Visit http://<your_host>:3000.
  2. User → Settings → Library → Sync.

appdedix

blackcandy

Bukubrow

install

1

pipx install "buku[server]"
bukuserver run --host 127.0.0.1 --port 5001
git clone --depth=1 https://github.com/samhh/bukubrow-host
cd bukubrow-host
cargo build --release
./target/release/bukubrow --install-chrome

Cal.com

reference

Calibre-Web

install

# Ubuntu 22 ARM
uv venv calibre-web-venv
source calibre-web-venv/bin/activate
uv pip install calibreweb

Install optional features, for example:

vim calibre-web-venv/requirements.txt
# metadata extraction
rarfile>=3.2,<5.0
scholarly>=1.2.0,<1.8
markdown2>=2.0.0,<2.5.0
html2text>=2020.1.16,<2024.2.26
python-dateutil>=2.1,<2.10.0
beautifulsoup4>=4.0.1,<4.13.0
faust-cchardet>=2.1.18,<2.1.20
py7zr>=0.15.0,<0.21.0
mutagen>=1.40.0,<1.50.0
pycountry>=20.0.0,<25.0.0
cps
sudo vim /lib/systemd/system/calibre-web.service
[Unit]
Description=Calibre-Web
After=network.target

[Service]
ExecStart=/home/scillidan/calibre-web-venv/bin/cps
WorkingDirectory=/home/scillidan/calibre-web-venv
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

usage

sudo systemctl enable --now calibre-web
  1. Visit http://<your_host>:8083.
  2. Login with admin, admin123.
  3. Calibre → Add books → There's Calibre Library\ here now.
  4. Calibre-Web → Admin → Edit Cabibre Database Configuration → Select folder contains the metadata.db.

reference

resource

appdedix

calibre-web

CasaOS

install

wget -qO- https://get.casaos.io | sudo bash
sudo ufw allow 80
# sudo casaos-uninstall

appdedix

casaos

code-server

reference

Coder

install

Ubuntu 22 ARM

1

Get code-server-*-linux-arm64.tar.gz from releases.

tar -xzvf code-server-*-linux-arm64.tar.gz
sudo cp -r code-server-*-linux-amd64 /usr/lib/code-server
sudo ln -s /usr/lib/code-server/bin/code-server /usr/bin/code-server
sudo mkdir /var/lib/code-server
sudo vim /lib/systemd/system/code-server.service
[Unit]
Description=code-server
After=nginx.service

[Service]
Type=simple
Environment=PASSWORD=<password>
ExecStart=/usr/bin/code-server --bind-addr 0.0.0.0:8010 --user-data-dir /var/lib/code-server --auth password
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now code-server

config

2

  1. Settings → Profile → <target_profile> → More → Export → <profile_name> → Local file.
  2. Settings → Profile (Default) → Import Profile.

Dashy

reference

Datasette

Datasette is a tool for exploring and publishing data. It helps people take data of any shape, analyze and explore it, and publish it as an interactive website and accompanying API.
Datasette is aimed at data journalists, museum curators, archivists, local governments, scientists, researchers and anyone else who has data that they wish to share with the world. It is part of a wider ecosystem of 44 tools and 154 plugins dedicated to making working with structured data as productive as possible. [datasette.io]

Datasette是一个用于探索和发布数据的工具。它帮助人们处理任何形状的数据,进行分析和探索,并将其发布为互动网站及配套的API。
Datasette旨在服务于数据记者、博物馆策展人、档案管理员、地方政府、科学家、研究人员以及希望与全球分享数据的其他人。它是一个更广泛的生态系统的一部分,包括44个工具和154个插件,致力于使处理结构化数据的工作尽可能高效。 [datasette.io]

Data processing

1

pipx install sqlite-utils
sqlite-utils insert database.db table table.csv --csv
sqlite-utils drop-table database.db table
sqlite-utils enable-fts database.db table column_1 column_2
# sqlite-utils insert-files resource.db latex media/*.jpg

Selfhost

2

mkdir <dir>
cd <dir>
uv venv
.venv\Scripts\activate
uv pip install datasette
uv pip install datasette-sitemap datasette-block-robots datasette-backup datasette-search-all datasette-external-links-new-tabs datasette-copyable datasette-publish-vercel
# datasette install datasette-render-images datasette-multiline-links datasette-render-markdown datasette-media
# datasette install git+https://github.com/next-LI/datasette-csv-importer.git
# uv pip install datasette-parquet 
datasette serve database.db
datasette serve database_1.db database_2.db -m metadata.yml

Deploy to Vercel

3

Create .github/workflows/vercel.yml

name: Deploy to Vercel
on:
  push:
    branches: [ "main" ]
  pull_request:
    branches: [ "main" ]
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '18.x'
      - name: Install Vercel CLI
        run: npm i -g vercel
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.9'
      - name: Install dependencies
        run: pip install datasette datasette-sitemap datasette-block-robots datasette-backup datasette-search-all datasette-ripgrep datasette-render-images datasette-media datasette-render-markdown datasette-multiline-links datasette-external-links-new-tabs datasette-copyable datasette-publish-vercel
      - name: Deploy Datasette using Vercel
        env:
          VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
        run: |-
          datasette publish vercel database_1.db database_2.db \
            --metadata metadata.yml \
            --token $VERCEL_TOKEN \
            --project database

Vercel → Project database → Settings → Build and Deployment → Node.js Version → 18.x.

reference

resource

mark

extra

cache

DeepLX

install

Ubuntu 22 ARM

Get deeplx_linux_arm64 from Releases.

chmod +x deeplx_linux_arm64
mv deeplx_linux_arm64 /usr/bin/deeplx
sudo mkdir -p /opt/deeplx
sudo vim /etc/systemd/system/deeplx.service
[Unit]
Description=DeepLX Service
After=network.target

[Service]
ExecStart=/usr/bin/deeplx
WorkingDirectory=/opt/deeplx
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

usage

sudo systemctl enable --now deeplx.service

reference

dictd

install

Ubuntu 22 ARM

1

sudo apt install dictd
sudo vim /etc/dictd/dictd.conf
global {
    listen_to 0.0.0.0
    port 2628
}

access {
  allow *
}

include /var/lib/dictd/db.list

#LASTLINE
sudo vim /var/lib/dictd/db.list
# For example
database ecdict {
	data <path_to>/dictd/ecdict.dict.dz
	index <path_to>/dictd/ecdict.index
}
...
sudo systemctl enable --now dictd.service
systemctl status dictd.service

Arch

sudo pacman -S dictd
yay -S --noconfirm dictd-wn
sudo vim /etc/dict/dictd.conf
global {
    listen_to localhost
    port 2628
}

access {
  allow *
}

# For example
database wn {
	data /usr/share/dictd/wn.dict.dz
	index /usr/share/dictd/wn.index
}

database ecdict {
	data /usr/share/dictd/ecdict.dict.dz
	index /usr/share/dictd/ecdict.index
}

database gcide {
	data /usr/share/dictd/gcide.dict.dz
	index /usr/share/dictd/gcide.index
}


# database dict-en-en {
# 	data /usr/share/dictd/dict-en-en.dict.dz
# 	index /usr/share/dictd/dict-en-en.index
# }
# database wikdict-en-zh {
# 	data /usr/share/dictd/wikdict-en-zh.dict.dz
# 	index /usr/share/dictd/wikdict-en-zh.index
# }

#LASTLINE
sudo vim /etc/dict/dict.conf
server localhost
# server dict.org
sudo systemctl enable --now dictd.service

usage

dict --host localhost --port 2528 -I -v
dict -h localhost -p 2528 -d <database> <word>

reference

cross-reference

cache

resource

cache

dir2opds

install

# Ubuntu 22 ARM
mkdir dir2opds
cd dir2opds
wget https://github.com/dubyte/dir2opds/releases/download/v*/dir2opds_*_linux_arm64.tar.gz
tar xvf dir2opds_*_linux_arm64.tar.gz
sudo vim /etc/systemd/system/dir2opds.service
[Unit]
Description=dir2opds
Documentation=https://github.com/dubyte/dir2opds
After=network-online.target

[Service]
Restart=on-failure
ExecStart=/home/<user>/dir2opds/dir2opds -dir /mnt/nvme/audioebook -port 8080

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now dir2opds.service

Docker

install

Ubuntu 22/24 ARM

1

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get update
sudo apt-get install ca-certificates wget
sudo install -m 0755 -d /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/docker.asc https://download.docker.com/linux/ubuntu/gpg
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
	"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
	$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
	sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Arch

sudo pacman -S docker docker-compose
sudo systemctl enable --now docker.service

Use repository mirror

2 3

sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
# Add <docker_status_monitor> site to your bookmark. If failed, you can visit the web page and modify them
{
	"dns": ["8.8.8.8", "8.8.4.4"],
	"registry-mirrors": [
		"https://docker.1ms.run",
		"https://docker.1panel.live",
		"https://docker.ketches.cn"
	]
}
# Optional
	"experimental": true,
	"default-runtime": "nvidia",
	"runtimes": {
		"nvidia": {
			"path": "/usr/bin/nvidia-container-runtime",
			"runtimeArgs": []
		}
	}
sudo mkdir -p /etc/containers/registries.conf.d
sudo vim /etc/containers/registries.conf.d/docker.conf
unqualified-search-registries = ["docker.io"]

[[registry]]
location = "docker.io"

[[registry.mirror]]
location = "https://docker.1panel.live"
sudo systemctl daemon-reload
sudo systemctl restart docker

usage

4 5

# Do a test
sudo docker run -p 8080:80 --rm nginx
# sudo ufw allow 8080
# Visit http://<docker_host>/8080
# Do a text for NVIDIA Container Toolkit
sudo docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark

command

# Update
sudo docker compose down
sudo docker compose pull
sudo docker compose up -d

# Prune all unused Docker images
sudo docker image prune -a -f

# Prune unused Docker containers
sudo docker container prune -f

# Prune unused Docker volumes
sudo docker volume prune -f

# Prune unused Docker networks
sudo docker network prune -f

# Prune the entire Docker system, including images, containers, volumes, and networks
sudo docker system prune -a --volumes -f

reference

Dokploy

install

curl -sSL https://dokploy.com/install.sh | sh

File Browser

install

1

mkdir filebrowser-docker
cd filebrowser-docker
vim docker-compose.yml
# Copy from https://docs.techdox.nz/filebrowser/#docker-compose-file-docker-composeyml
sudo docker compose up -d

font-files

reference

Gitea

install

1

Get gitea-*-linux-arm64 from dl.gitea.com.

# Ubuntu 24 ARM
gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
gpg --verify gitea-*-linux-amd64.asc gitea-*-linux-amd64
mv gitea-*-linux-arm64 gitea
sudo chmod +x gitea
sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
sudo cp gitea /usr/local/bin/gitea
sudo vim /etc/systemd/system/gitea.service
[Unit]
Description=Gitea
After=network.target

[Service]
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
Environment=GITEA_WORK_DIR=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

usage

sudo systemctl start --now gitea.service
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini

headscale

install

1 2

Get headscale_*_linux_arm64 from Headscale - Releases.

# Ubuntu 24 ARM
sudo mv headscale_<version>_linux_arm64 headscale
sudo chmod +x headscale
mv headscale /usr/local/bin/
sudo useradd --create-home --home-dir --system --user-group --shell /usr/sbin/nologin headscale
sudo mkdir -p /etc/headscale
sudo wget https://headscale.net/stable/packaging/headscale.systemd.service -O /etc/systemd/system/headscale.service
sudo vim /etc/headscale/config.yaml
unix_socket: /var/run/headscale/headscale.sock
sudo systemctl daemon-reload
sudo systemctl enable --now headscale
systemctl status headscale

cross-reference

immich

install

1

mkdir immich-app
cd immich-app
wget -O docker-compose.yml https://github.com/immich-app/immich/releases/latest/download/docker-compose.yml
wget -O .env https://github.com/immich-app/immich/releases/latest/download/example.env
sudo docker compose up -d

appdedix

immich

indexing

Jackett

install

# Arch
sudo pacman -S jackett
# Windows 10
scoop install jackett

Ubuntu ARM

1

sudo apt install mono-devel

Get Jackett.Binaries.LinuxARM64.tar.gz from Releases.

tar -xvzf Jackett.Binaries.LinuxARM64.tar.gz
cd Jackett
./jackett_launcher.sh
# Exit
sudo ./install_service_systemd.sh
sudo systemctl status jackett.service

Termux

2

proot-distro login archlinux
pacman -S mono
wget https://github.com/Jackett/Jackett/releases/download/<the_version>/Jackett.Binaries.Mono.tar.gz
tar -xvzf Jackett.Binaries.Mono.tar.gz
cd Jackett
mono --debug JackettConsole.exe

config

  • Jackett → Configured Indexers → Add Indexer
    • Torrents.csv (Add)
    • Knaben (Add)
    • TheRARBG (Add)

reference

cross-reference

resource

extra

Jellyfin

install

1

# Ubuntu 22 ARM
sudo dpkg -i jellyfin-server_10.9.11+ubu2204_arm64.deb jellyfin-web_10.9.11+ubu2204_all.deb
sudo dpkg -i jellyfin-ffmpeg6_6.0.1-8-jammy_arm64.deb
sudo systemctl enable --now jellyfin
systemctl status jellyfin

reference

resource

cache

Jupyter

reference

Kiwix Server

  1. Download binaries.
  2. Decompress the archiver to Kiwix-Server/.
  3. Add Kiwix-Server/ into PATH.

usage

# Deliver ZIM file articles on LAN
kiwix-serve --address 0.0.0.0 --port 5173 <zim>
# Deliver ZIM files articles on LAN
kiwix-manage <path_to>/kiwix/library.xml add <zim>
kiwix-serve --library <path_to>/kiwix/library.xml --address 0.0.0.0 --port 5173

Komga

install

Ubuntu 22 ARM

Docker

mkdir komga
cd komga
vim docker-compose.yml
# Copy from https://komga.org/docs/installation/docker#docker-compose
services:
	komga:
		image: gotson/komga:latest
		container_name: komga
		ports:
			- 25600:25600
		volumes:
			- ./config/:/config
			# Add manga dir on mount disk
			- /mnt/<mount_name>/<path_to_manga>:/manga
		restart: unless-stopped
# rm -rf .config
sudo docker compose up -d
  1. Visit http://<your_host>:25600.
  2. Register and login.
  3. Komga → Add/edit Library → Root folder → /manga.

Jar

1 2 3

sudo apt install openjdk-21-jdk postgresql postgresql-contrib -y
sudo su postgres
createuser komgauser --pwprompt
createdb -O komgauser komga
exit
sudo mkdir /opt/komga
sudo wget https://github.com/gotson/komga/releases/download/<the_version>/komga-<the_version>.jar -P /opt/komga/
sudo vim /etc/systemd/system/komga.service
[Unit]
Description=Komga Service
After=network.target

[Service]
ExecStart=/usr/bin/java -Xms128M -Xmx256M -jar /opt/komga/komga-<the_version>.jar --server.servlet.context-path=/komga --server.port=8090
WorkingDirectory=/opt/komga
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now komga

Arch

sudo useradd -m komga
sudo passwd komga
sudo usermod -aG mountusers komga
sudo vim /etc/systemd/system/komga.service
[Unit]
Description=komga service
After=network-network.target

[Service]
User=komga
ExecStart=/usr/bin/komga
Type=exec
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo firewall-cmd --zone=home --add-port=25600/tcp --permanent
sudo firewall-cmd --reload
sudo systemctl daemon-reload
sudo systemctl enable --now komga.service

Windows 10

java -jar "komga.jar" --komga.config-dir="config"

reference

cross-reference

LanguageTool

LanguageTool is an advanced AI-based writing assistant and text editor designed to improve writing quality. It goes beyond simple spelling and grammar checking by offering features like:

  • Detection and correction of grammar, spelling, and punctuation errors
  • Style improvements, including suggestions to avoid overused or redundant words
  • Support for more than 20 languages
  • Fixing formatting inconsistencies such as times, numbers, and currency
  • Personalized features like a personal dictionary and style guide
  • Integration with various platforms and applications, including web browsers, Microsoft Word, Google Docs, LibreOffice, and more
  • An online editor and browser extensions to check text while typing on the web
  • Advanced AI and open-source technology behind it
  • Premium options with enhanced error detection, unlimited rephrasing, and team collaboration features
    It is available as free and premium versions, with the core being open-source and downloadable for offline use. LanguageTool is designed to help users write precisely, clearly, and stylishly across different types of texts and languages.
    In short, LanguageTool is a comprehensive grammar, style, and spell checker that acts as a powerful writing assistant to make your writing error-free and polished. [perplexity.ai]

LanguageTool是一款先进的基于AI的写作助手和文本编辑器,旨在提高写作质量。它超越了简单的拼写和语法检查,提供以下功能:

  • 检测和修正语法、拼写和标点错误
  • 风格改进,包括避免使用过多或冗余词汇的建议
  • 支持超过20种语言
  • 修复时间、数字和货币等格式不一致
  • 个性化功能,如个人词典和风格指南
  • 与各种平台和应用的集成,包括网络浏览器、Microsoft Word、Google Docs、LibreOffice等
  • 在线编辑器和浏览器扩展,在线输入时进行文本检查
  • 背后的先进AI技术和开源技术
  • 付费选项包括增强的错误检测、无限重写和团队协作功能
    它有免费的和付费的版本,核心功能为开源,可离线下载使用。LanguageTool旨在帮助用户在不同类型的文本和语言中写作精准、清晰和风格优雅。
    简而言之,LanguageTool是一个全面的语法、风格和拼写检查工具,作为强大的写作助手,帮助您使写作无误且精练。 [perplexity.ai]

install

Ubuntu 22 ARM

1 2 3

Decompress ngrams-en-*.zip to /mnt/<disk>/share/ngrams/.

sudo apt install openjdk-21-jdk
sudo unzip LanguageTool-stable.zip
sudo mv LanguageTool-* /opt/languagetool
sudo apt install make g++
git clone --depth=1 https://github.com/facebookresearch/fastText
cd fastText
make
sudo vim /opt/languagetool/server.properties
fasttextModel=fasttext/lid.176.bin
fasttextBinary=fasttext/fasttext
sudo vim /etc/systemd/system/languagetool.service
[Unit]
Description=LanguageTool Service
After=network.target

[Service]
ExecStart=java -cp /opt/languagetool/languagetool-server.jar org.languagetool.server.HTTPServer --languagemodel /mnt/<nvme>/share/ngrams --port 8040 --allow-origin --public
WorkingDirectory=/opt/languagetool
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now languagetool.service
  1. Get ngrams-en-*.zip from here.
  2. Get LanguageTool Desktop version for offline use from LanguageTool embedded HTTP Server.

Windows 10

  1. Install OpenJDK,I tested it on openjdk17.
  2. Decompress ngrams-en-*.zip to ngrams/.
  3. Decompress LanguageTool-stable.zip to LanguageTool/.
unzip LanguageTool-stable.zip
java.exe -cp LanguageTool\languagetool-server.jar org.languagetool.server.HTTPServer --languagemodel <ngrams_dir> --port <port> --allow-origin

For running it liked service, create languagetool_service.cmd from the command above. Then create languagetool_service.vbs:

Set WshShell = CreateObject("WScript.Shell")
	WshShell.Run chr(34) & "languagetool_service.cmd" & Chr(34), 0
Set WshShell = Nothing

Create shortcut of languagetool_service.vbs, put it into C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\.

Browser Extension

  1. Install Browser Extension.
  2. Browser Extension → Settings → Advanced settings → Other server → http://<your_host>:<port>/v2.
  3. General settings → Show in right-click menu (On).

appdedix

LibreTranslate

install

From source

git clone --depth=1 https://github.com/LibreTranslate/LibreTranslate
cd LibreTranslate
uv venv .venv --python 3.10
source .venv/bin/activate
uv pip install -e .
# libretranslate --load-only en,zh
libretranslate
# Exit
sudo cp -r ~/.local/share/argos-translate/packages /root/.local/share/argos-translate/
sudo vim /etc/systemd/system/libretranslate.service
[Unit]
Description=libretranslate
After=syslog.target network.target

[Service]
WorkingDirectory=/home/<user>/<path_to>/libretranslate
ExecStart=/home/<user>/<path_to>/libretranslate/.venv/bin/python main.py --host 0.0.0.0
Restart=always
RestartSec=120

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now libretranslate
# You may have to wait a few minutes until you can visit in browser.

Docker compose

1

git clone --depth=1 https://github.com/LibreTranslate/LibreTranslate
cd LibreTranslate
mv docker-compose.yml docker-compose.yml.bak
vim docker-compose.yml
services:
  libretranslate:
    container_name: libretranslate
    build:
      context: .
      dockerfile: ./docker/Dockerfile
    restart: unless-stopped
    ports:
      - "5000:5000"
    healthcheck:
      test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py']
    environment:
      LT_HOST: 0.0.0.0
      LT_UPDATE_MODELS: 'true'
      LT_LOAD_ONLY: en,zh
    volumes:
      - libretranslate_api_keys:/app/db
      # Keep the models in a docker volume, to avoid re-downloading on startup
      - /mnt/<mount_name>/share/libretranslate_models:/home/libretranslate/.local:rw

volumes:
  libretranslate_api_keys:
  libretranslate_models:
sudo docker compose up -d

appdedix

LinguaCafe

install

1

mkdir linguacafe
cd linguacafe
wget https://raw.githubusercontent.com/simjanos-dev/LinguaCafe/refs/heads/main/docker-compose.yml
mkdir storage
sudo docker compose up -d
  1. Visit http://<your_host>:9191.
  2. Create admin user, then login.
  3. Admin settings → Languages → <your_lang> → Install.

reference

appdedix

linguacafe

linkding

install

1 2

git clone --depth=1 https://github.com/sissbruecker/linkding
cd linkding
nvm install 18.*
nvm use 18.*
npm install
npm run build
uv venv
.venv\Scripts\activate
uv python -m pip install -r requirements.txt
uv python -m pip install -r requirements.prod.txt
uv pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser --username=<user> --email=<email>

usage

cd linkding
npm run dev
# In a new terminal session
python manage.py runserver 8002

Visit http://localhost:8002 to try it.

Deploy with PM2

3

# Ubuntu 22 ARM
npm install -g concurrently
cp requirements.dev.txt requirements.dev.txt.bak
vim requirements.dev.txt
rcssmin
vim package.json
{
  "scripts": {
    "start": "concurrently \"rollup -c -w\" \"python manage.py runserver 0.0.0.0:8060\""
pm2 start npm --name "linkding" -- run start
pm2 save

config

On Windows 10, how to autorun at startup?

  1. Create start_linkding.bat:
    @echo off
    setlocal
    
    cd linkding
    set LD_SUPERUSER_NAME=<user>
    set LD_SUPERUSER_PASSWORD=<password>
    start npm run dev
    timeout 5
    start .venv\Scripts\python.exe manage.py runserver 8002
    
    endlocal
    pause
    
  2. Create start_linkding.vbs:
    Set WshShell = CreateObject("WScript.Shell")
      WshShell.Run chr(34) & "<path_to>\start_linkding.cmd" & Chr(34), 0
    Set WshShell = Nothing
    
  3. Create shortcut of start_linkding.vbs.
  4. Put the shortcut into C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\.

resource

extra

cache

annex

# Command combo 🤡
linkding --url "http://<your_host>:8002" --token "<token>" bookmarks all -q $1 ^
  | jq ".results[]" ^
  | ramda -c -o csv ^
  | xsv select tag_names,url,website_title ^
  | tidy-viewer -u 45

appdedix

linkding

LM Studio

usage

  • Discover → Select the LLM → Choose a download option → Check Full GPU Offload Possible → Download.
  • Chat → Select a model to load → Select the LLM.
  • Developer → Enable CORS (On) → Serve on Local Network (on) → Select a model to load → Start Server.

troubleshoot

1

  1. Install LM Studio.
  2. Go to C:\Users\User\AppData\Local\LM-Studio\app-*\resources\app\.webpack\main.
  3. Find in folder, replace huggingface.co to hf-mirror.com.

Lute v3

install

Docker compose

1

mkdie lute
cd lute
vim docker-compose.yml
# Copy from https://luteorg.github.io/lute-manual/install/windows/windows-using-docker.html#3-create-docker-composeyml
sudo docker compose up -d

config

  • Lute → Settings
    • Languages → English → Dictionaries → Add
      • SilverDict
        Terms
        Embedded
        http://<your_host>:2628/api/query/<en_group>/[LUTE]
        (Enable)
        
      • LibreTranslate
        Sentences
        Pop-up window
        http://<your_host>:5000/?source=en&target=zh-Hans&q=[LUTE]
        (Enable)
        

usage

  • Lute → Books
    • Import web page
      1. Import URL → https://www.gutenberg.org/cache/epub/11/pg11-images.html
      2. Language → English
      3. Save

reference

Mathesar

install

mkdir mathesar
cd mathesar
wget https://github.com/mathesar-foundation/mathesar/raw/0.2.0/docker-compose.yml
echo $(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | head -c 50)
vim .env
SECRET_KEY=<secret_key>

Miniflux

install

Ubuntu 22 ARM

1 2 3 4

cd /etc/apt/sources.list.d
sudo touch miniflux.list
echo "deb [trusted=yes] https://repo.miniflux.app/apt/ * *" | sudo tee /etc/apt/sources.list.d/miniflux.list > /dev/null
sudo apt update
sudo apt install miniflux
sudo apt install postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
sudo apt install postgresql-16
sudo -u postgres psql
CREATE USER miniflux WITH ENCRYPTED PASSWORD 'miniflux';
CREATE DATABASE miniflux;
GRANT ALL PRIVILEGES ON DATABASE miniflux TO miniflux;
ALTER USER miniflux WITH SUPERUSER;
\q
sudo vim /etc/miniflux.conf
RUN_MIGRATIONS=1
DATABASE_URL=user=miniflux password=miniflux dbname=miniflux sslmode=disable
LISTEN_ADDR=/run/miniflux/miniflux.sock
PORT=8070
miniflux -c /etc/miniflux.conf -migrate
miniflux -c /etc/miniflux.conf -create-admin
# sudo systemctl start postgresql
miniflux -c /etc/miniflux.conf
sudo systemctl enable --now miniflux
sudo systemctl enable --now postgresql

Windows 10

  1. Get miniflux-windows-amd64 from releases, rename it to miniflux.exe.
  2. PostgreSQL (test on v14).

Create database5:

initdb --locale=C --username=miniflux --pgdata=miniflux
postgres -D miniflux
# Keep this terminial window

Configrate database6:

  1. Find and run pgAdmin4.exe.
  2. Servers → Context-menu → Register → Server → Tab General:
    Name: miniflux_server
    
  3. Tab Connection:
    host name: localhost
    Maintenance database: miniflux
    Username: miniflux
    
  4. Servers → miniflux_server → Context-menu of Databases → Create → Database → Tab General:
    Database: miniflux
    
  5. Tab Definition:
    Encoding: None
    

Create miniflux.conf7:

DATABASE_URL=user=miniflux password=secret dbname=miniflux sslmode=disable
RUN_MIGRATIONS=1
POLLING_FREQUENCY=60
CREATE_ADMIN=1
ADMIN_USERNAME=<admin_username>
ADMIN_PASSWORD=<admin_password>
DEBUG=on
WORKER_POOL_SIZE=10
PORT=8070
# In a new terminal session
miniflux -config-file miniflux.conf

usage

# Backup data
pg_dump -U miniflux -h 127.0.0.1 -p 5432 -F t miniflux > miniflux.tar
# Clear postgresql
sudo systemctl stop postgresql
sudo systemctl disable postgresql
pg_lsclusters
sudo systemctl stop postgresql@16-main
sudo pg_dropcluster 16 main --stop
sudo apt-get remove --purge postgresql-16

config

On Windows 10, how to autorun at startup?

  1. Create start_miniflux.bat.
    rem Maybe need administrator permissions. I forgot.
    @echo off
    
    start postgres.exe -D miniflux_db
    timeout 5
    start miniflux.exe -config-file miniflux.conf
    
    pause
    
  2. I don't want to use Windows Task Scheduler. I don't try NSSM. So create start_miniflux.vbs:
    Set WshShell = CreateObject("WScript.Shell")
      WshShell.Run chr(34) & "<path_to>\start_service.bat" & Chr(34), 0
    Set WshShell = Nothing
    
  3. Create shortcut of start_miniflux.vbs.
  4. Put the shortcut into C:\Users\User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\.

reference

resource

mark

appdedix

miniflux

n8n

Build with the precision of code or the speed of drag-n-drop. Host with on-prem control or in-the-cloud convenience. n8n gives you more freedom to implement multi-step AI agents and integrate apps than any other tool. [n8n.io]

通过代码的精确性或拖放的速度进行构建。可以选择本地控制或云端便捷进行托管。n8n比其他任何工具都提供更多自由,以实现多步骤的AI代理和应用程序集成。 [n8n.io]

install

1

mkdir n8n
cd n8n
vim docker-compose.yml
# Copy from https://docs.n8n.io/hosting/installation/server-setups/docker-compose/#5-create-docker-compose-file
services:
  traefik:
    command:
      # If serve port is already used, edit liked
      - "--entrypoints.web.address=:8070"
      - "--entrypoints.websecure.address=:453"
    ports:
      - "8070:8070"
      - "453:453"
  n8n:
    images: n8nio/n8n
    ports:
      - "0.0.0.0:5678:5678"
    environment:
      - N8N_SECURE_COOKIE=false
sudo docker volume create n8n_data
sudo docker volume create traefik_data
sudo docker compose up -d

resource

later

cache

appdedix

n8n_01 n8n_02

Netdata

install

1

# Ubuntu 22 ARM
sudo apt install netdata -y
sudo vim /etc/netdata/netdata.conf
[global]
  run as user = netdata
  web files owner = root
  web files group = root
  # Netdata is not designed to be exposed to potentially hostile
  # networks. See https://github.com/netdata/netdata/issues/164
  bind socket to IP = 0.0.0.0
sudo systemctl enable --now netdata

nginx

reference

appdedix

nginx

NocoDB

install

1

bash <(curl -sSL http://install.nocodb.com/noco.sh) <(mktemp)
# Enter your host as ip address and domain name

Service Management Menu → Start Service

appdedix

nocodb

ntfy.sh

install

1

# Ubuntu 24 ARM
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://archive.heckel.io/apt/pubkey.txt | sudo gpg --dearmor -o /etc/apt/keyrings/archive.heckel.io.gpg
sudo apt install apt-transport-https
sudo sh -c "echo 'deb [arch=arm64 signed-by=/etc/apt/keyrings/archive.heckel.io.gpg] https://archive.heckel.io/apt debian main' \
    > /etc/apt/sources.list.d/archive.heckel.io.list"
sudo apt update
sudo apt install ntfy
sudo systemctl enable --now ntfy

Overleaf

reference

Paperless-ngx

install

1 2

mkdir -v ~/paperless-ngx
wget https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/refs/heads/main/docker/compose/docker-compose.postgres.yml -O docker-compose.yml

Add volumes as additional storage liked:

vim docker-compose.yml
    volumes:
      - /mnt/nvme/paper:/usr/src/paperless/consume
wget https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/refs/heads/main/docker/compose/docker-compose.env
vim docker-compose.env
PAPERLESS_OCR_LANGUAGES=chi-sim chi-sim-vert chi-tra chi-tra-vert
PAPERLESS_SECRET_KEY=<secret_key>
docker compose pull
sudo docker compose run --rm webserver createsuperuser
sudo docker compose up -d

reference

appdedix

paperless-ngx

Penpot

install

mkdir penpot
wget https://raw.githubusercontent.com/penpot/penpot/main/docker/images/docker-compose.yaml
sudo docker compose up -d

appdedix

penpot

Plex

install

1

# Ubuntu 22 ARM
echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
sudo apt update
sudo apt install plexmediaserver
sudo systemctl status plexmediaserver

Visit http://<your_host>:32400/web.

reference

resource

cache

postgresql

install

1

# Ubuntu ARM
sudo apt install postgresql
sudo systemctl enable --now postgresql
sudo systemctl status postgresql
sudo vim /etc/postgresql/17/main/postgresql.conf
listen_addresses = '0.0.0.0'
sudo systemctl restart postgresql
sudo su postgres

qbittorrent-nox-static

Ubuntu 22 ARM

install

sudo adduser qbittorrent
su qbittorrent
mkdir -p ~/bin && source ~/.profile
wget -qO ~/bin/qbittorrent-nox https://github.com/userdocs/qbittorrent-nox-static/releases/latest/download/aarch64-qbittorrent-nox
chmod 700 ~/bin/qbittorrent-nox
~/bin/qbittorrent-nox
  1. The default account and password is displayed in terminal.
  2. Visit <your_host>:8080 and login.
  3. qBittorrent WebUI → Settings
    • WebUI
      • Authentication → Change Username, Password.
      • (Optional) Web User Interface → Change IP address to 0.0.0.0, change port to 8090.
      • (Optional) Bypass authentication for clients on localhost (On).
      • (Optional) Bypass authentication for clients in whilelisted IP subnets → ...
    • Speed → Global Rate Limits → For example, you can set a lower speed here, liked 100 KiB/s upload and 10000 KiB/s download.
    • Connection → Connections Limits → Set lesser number here.
    • Advanced → Customize application instance name Steam.
su <sudo_user>
sudo vim /etc/systemd/system/qbittorrent.service
[Unit]
Description=qBittorrent-nox service
Documentation=man:qbittorrent-nox(1)
Wants=network-online.target
After=network-online.target nss-lookup.target

[Service]
Type=exec
User=qbittorrent
ExecStart=/home/qbittorrent/bin/qbittorrent-nox
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now qbittorrent
systemctl status qbittorrent

Download to mounted disk

sudo mkdir /mnt/<mount_name>/qbittorrent
sudo groupadd mountusers
sudo usermod -aG mountusers qbittorrent
## Get the uid
id -u $USER
## Get the gid
getent group mountusers
sudo cp /etc/fstab /etc/fstab.bak
sudo vim /etc/fstab
# Add on bottom. I used NTFS disk here.
UUID=<disk_uuid> /mnt/<mount_name> ntfs-3g default,uid=<uid>,gid=<gid>,umask=0000, 0 0
# sudo systemctl deamon-reload
# sudo mount -a
sudo reboot

qBittorrent WebUI → Settings → Downloads → Saving Management → Default Save Path → /mnt/<mount_name>/qbittorrent.。

Share downloaded files via Samba

sudo vim /etc/samba/smb.conf
[qbittorrent]
comment = qbittorrent
path = /mnt/<mount_name>/share/qbittorrent
guest ok = no
read only = no
browsable = yes
writeable = yes
force user = qbittorrent
sudo systemctl restart smbd

reference

cross-reference

rime-ls

install

# Build on Windows 10
git clone --depth=1 https://github.com/wlh320/rime-ls
cd rime-ls
git fetch --tags
git checkout v0.4.1
set "LIBRIME_LIB_DIR=%USERPROFILE%\Usr\Lib\rime\dist\lib"
set "LIBRIME_INCLUDE_DIR=%USERPROFILE%\Usr\Lib\rime\dist\include"
set "LIB=%USERPROFILE%\Usr\Lib\rime\dist\lib"
cargo build --release

Termux (Cache)

# Windows 10
cargo install --force cargo-ndk
rustup target add aarch64-linux-android
# rustup target add armv7-linux-androideabi x86_64-linux-android i686-linux-android
cargo ndk -t aarch64-linux-android build --release
ln ~/.cargo/tmp/release/rime_ls ~/.local/bin/rime_ls

cross-reference

SakuraLLM

SFT And RLHF models using Knowledge of Universal Character and Relationship Attributes for Japanese to Chinese Translation in Light Novel & Galgame Domain. [SakuraLLM/SakuraLLM]

SFT和RLHF模型利用通用角色和关系属性的知识进行轻小说和美少女游戏领域的日译中翻译。 [SakuraLLM/SakuraLLM]

install

git clone --depth=1 https://github.com/SakuraLLM/SakuraLLM
cd SakuraLLM
uv pip install torch torchvision torchaudio xformers --index-url https://download.pytorch.org/whl/cu121
uv pip install -r requirements.llamacpp.txt
uv pip install llama-cpp-python --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu121
  1. Here, I download q2k of Sakura-14B-Qwen2beta-v0.9.2-GGUF.
  2. Put the files into models/.

usage

1 2

# As API
python server.py --trust_remote_code --model_name_or_path models/sakura-13b-lnovel-v0.9b-Q2_K.gguf --model_version 0.9 --no-auth --llama_cpp --use_gpu --log debug
# As CLI
# txt
python translate_novel.py --trust_remote_code --model_name_or_path models/sakura-13b-lnovel-v0.9b-Q2_K.gguf --model_version 0.9 --no-auth --llama_cpp --use_gpu --log debug --text_length 512 --data_path <novel.txt> --output_path <novel_translated.txt>
# epub
python translate_epub.py --trust_remote_code --model_name_or_path models/sakura-13b-lnovel-v0.9b-Q2_K.gguf --model_version 0.9 --no-auth --llama_cpp --use_gpu --log debug --text_length 512 --data_path <novel.epub> --output_folder <novel_epub>

appdedix

Samba

install

1 2

Ubuntu 22 ARM

sudo apt install samba
sudo useradd -m smbuser
sudo smbpasswd -a smbuser
sudo groupadd -r smbusers
sudo usermod -aG smbusers smbuser
sudo chown smbuser:smbusers <path_to>/<share_name>
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo vim /etc/samba/smb.conf
workgroup = <SMBGPNAME>
# interfaces = <wired_interfaces> <wireless_interfaces>

[<share_name>]
comment = Share Name
path = <path_to>/<share_name>
guest ok = no
read only = no
browsable = yes
writable = yes
create mask = 0644
directory mask = 2755
# force create mode = 0664
# force directory mode = 2775
# force group = smbusers
sudo systemctl restart smbd

Arch

sudo pacman -S samba
sudo vim /etc/samba/smb.conf
# https://git.samba.org/samba.git/?p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD
sudo smbpasswd -a smbuser
sudo systemctl start smb nmb
sudo systemctl enable smb nmb

client

Windows 10

  1. Windows 10 → 计算机管理 → 本地用户和组 → 用户 → 右键 → 新用户:
    • 用户名 → smbuser
    • 用户不能更改密码 (On)
    • 密码永不过期 (On)
  2. 本地用户和组 → 组 → 右键 → 新建组 → 组名 SMBGPNAME → 添加 → 输入对象名称来选择 smbuser → 确认 → 创建.
  3. 资源管理器 → 此电脑 → 右键 → 添加一个网络位置 → 指定网站的位置 → \\<your_host>\<path_to_share> → 请键入该网络位置的名称 <any_name>.
  4. 网络位置 → \\<your_host>\<path_to_share> → 右键 → 映射网络驱动器 → 登录时重新连接 On → 完成.

crose-reference

SilverDict

install

From source

# Ubuntu 22 ARM
git clone --depth=1 https://github.com/Crissium/SilverDict
cd SilverDict/client
yarn install
yarn build
mv build ../server/
cd ..
uv venv --python 3.11
source .venv/bin/activate
uv pip install -r server/requirements.txt
python server/server.py 0.0.0.0
# pm2 start server.py --name silverdict --interpreter "<path_to>/SilverDict/.venv/Scripts/python.exe" --cwd "<path_to>/SilverDict/server" 
sudo vim /etc/systemd/system/silverdict.service
[Unit]
Description=SilverDict
After=syslog.target network.target

[Service]
WorkingDirectory=/home/<user>/<path_to>/SilverDict
ExecStart=/home/<user>/<path_to>/SilverDict/.venv/bin/python server/server.py 0.0.0.0
Restart=always
RestartSec=120

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now silverdict

Docker compose

mkdir silverdict
cd silverdict
vim docker-compose.yml
services:
  silverdict:
    image: mathdodger/silverdict:latest
    container_name: silverdict
    ports:
      - "2628:2628"
    volumes:
      - .silverdict:/root/.silverdict
      - /<path_to_dictionaries>:/dictionary
sudo docker compose up -d

usage

  • SilverDict → More → Library
    • Sources
      1. Add → <path_to>/<stardict_dir>.
      2. Refresh.
      3. Go tab Dictionarys, check import results.
      4. More → Query → Search <word>, check results.
    • Dictionaries
      • For example, add:
        Name: HanYuDaCiDian
        Filename: <path_to>/<dict>.ifo
        Type: StarDict (.ifo)
        
      1. Do nothing before importing finished.
    • Groups
      1. Add
        Group name: zh
        Group language(s): zh
        
      2. Group zh → Edit dictionaries → <dict_name> (On)
      3. Default Group → Edit dictionaries → <dict_name> (Off)

Optional

  • SilverDict → More → Settings
    • Create n-gram index

reference

cross-reference

appdedix

silverdict

Snapdrop

appdedix

snapdrop

Sourcebot

install

1

mkdir sourcebot
cd sourcebot
vim docker-compose.yml
services:
  sourcebot:
    image: ghcr.io/sourcebot-dev/sourcebot:latest
    ports:
      - "3100:3100"
    restart: unless-stopped
sudo docker compose up -d

Storyteller

reference

Suwayomi-Server

install

Ubuntu 22 ARM

1

Get Suwayomi-Server-v*-debian-all.deb from Suwayomi-Server - Releases.

sudo dpkg -i Suwayomi-Server-v*-debian-all.deb
sudo apt --fix-broken install
sudo vim /etc/systemd/system/suwayomi-server.service
[Unit]
Description=Suwayomi Server
After=network.target

[Service]
ExecStart=suwayomi-server
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now suwayomi-server
sudo systemctl status suwayomi-server

Arch

sudo pacman -S xorg-xhost
sudo useradd -m suwayomi
sudo passwd suwayomi
sudo usermod -aG mountusers suwayomi
su suwayomi
  1. Get release from Suwayomi-Server-preview.
  2. Extract to Suwayomi-Server/.
su <root_user>
sudo vim /etc/systemd/system/suwayomi.service
[Unit]
Description=Suwayomi Server
After=network.target

[Service]
User=suwayomi
Group=suwayomi
Environment=DISPLAY=:0
ExecStart=/usr/bin/java -jar <path_to>/Suwayomi-Server/bin/Suwayomi-Server.jar
Restart=on-abnormal

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now suwayomi
sudo firewall-cmd --zone=home --add-port=4567/tcp --permanent
sudo firewall-cmd --reload

usage

  1. The service may take several minutes to start until you can see it.
  2. Visit http://<your_host>:4567.
  3. Settings
    • Brower
      • Extension repositories → Add repository23
        • https://raw.githubusercontent.com/ThePBone/tachiyomi-extensions-revived/repo/index.min.json
        • https://raw.githubusercontent.com/yuzono/anime-repo/repo/index.min.json
      • Local source location → /mnt/<disk>/manga.
    • Download → Download localtion → /mnt/<disk>/share/suwayomi.
    • Library → Automatically refresh metadata (On).
  4. Brower
    1. Extensions → Filter → <your_lang> → Select <plugin> → Install.
    2. Sources → Filter → <your_lang> (On).
  5. (Optional) Backup → Restore Backup.

syncthing

Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers. [syncthing/syncthing]

Syncthing是一个持续的文件同步程序。它将在两个或多个计算机之间同步文件。 [syncthing/syncthing]

install

# Arch
sudo pacman -S syncthing
# Windows 10
scoop install syncthing

reference

resource

cache

Tailscale

install

# Ubuntu 22 ARM
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/noble.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
sudo apt-get update
sudo apt-get install tailscale
sudo tailscale up
# Windows 10
scoop install tailscale
# Arch
sudo pacman -S tailscale
sudo systemctl enable --now tailscaled
sudo tailscale login

reference

cache

Teable

install

1

mkdir teable
cd teable
vim docker-compose.yml
vim .env
# Copy from https://help.teable.io/deployment/docker-compose#docker-compose
sudo docker-compose pull

usage

sudo docker compose --env-file .env up -d

troubleshoot

appdedix

ai-pdf-summary applicant-tracker bug-tracker employee-directory event-planning lightweight-crm remote-team-hub sales-crm template-management travel-agency-fliers user-feedback

TeXdoc online

install

1

git clone --depth=1 https://gitlab.com/islandoftex/images/texdoc-online
cd texdoc-online
cp docker-compose.yml docker-compose.yml.bak
vim docker-compose.yml
# Copy from https://gitlab.com/islandoftex/images/texdoc-online/-/wikis/Deploying-your-instance-of-TeXdoc-online#running-from-source
sudo docker compose up -d

TriliumNext Notes

install

mkdir trilium-next
cd trilium-next
vim docker-compose.yml
# Copy from https://github.com/TriliumNext/Notes/blob/develop/docker-compose.yml
# Modify the following
  environment:
    # - TRILIUM_DATA_DIR=/home/node/trilium-data
  	- NODE_TLS_REJECT_UNAUTHORIZED=0
  ports:
  	- '8070:8080'
  volumes:
  	- ~/.local/share/trilium-data:/home/node/trilium-data
sudo docker compose up -d

Sync with server

1

  1. Install TriliumNext Notes Desktop.
  2. TriliumNext Notes Desktop → Settings → Sync → Sync Configuration → Server instance address → http://<your_host>:8070.

[1^]: Synchronization | Docs

Trilium Notes

install

Ubuntu 24 ARM

1 2

Get trilium-linux-x64-server-*.tar.xz from Trilium - Releases.

tar -xvf trilium-linux-x64-server-*.tar.xz
sudo mv trilium-linux-x64-server /opt/trilium
sudo vim /etc/systemd/system/trilium.service
[Unit]
Description=Trilium Daemon
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/opt/trilium/trilium.sh
WorkingDirectory=/opt/trilium/

TimeoutStopSec=20
Restart=always

[Install]
WantedBy=multi-user.target
export TRILIUM_DATA_DIR=/home/<user>/.local/share/trilium
sudo systemctl enable --now trilium

ttyd

install

1

# Ubuntu 22 ARM
sudo apt-get update
sudo apt-get install -y build-essential cmake git libjson-c-dev libwebsockets-dev
git clone --depth=1 https://github.com/tsl0922/ttyd
cd ttyd && mkdir build && cd build
cmake ..
make
sudo make install
sudo vim /etc/systemd/system/ttyd.service
[Unit]
Description=ttyd service
After=network.target

[Service]
Type=simple
User=<username>
Group=<username>
ExecStart=/usr/local/bin/ttyd --cwd /home/<user> --writable zsh
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl enable --now ttyd

ttydBridge

appdedix

ttydbridge

Twenty

install

1

curl -o docker-compose.yml https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/docker-compose.yml
curl -o .env https://raw.githubusercontent.com/twentyhq/twenty/refs/heads/main/packages/twenty-docker/.env.example
openssl rand -base64 32
vim .env
APP_SECRET=<random_string>
PGPASSWORD_SUPERUSER=<password>

usage

sudo docker compose --env-file .env up -d

appdedix

twenty

Vercel

Usage example

  1. When deploy Calcutext with Vercel.
  2. The Project → Settings → General → Node.js Version → 16.x.
  3. Deployment → More → Redeploy.

wakapi

install

Docker compose

mkdir wakapi
vim docker-compose.yml
services:
	wakapi:
		image: n1try/wakapi
		container_name: wakapi
		ports:
			- "3000:3000"
		volumes:
			- wakapi-data:/data
		environment:
			WAKAPI_PASSWORD_SALT: "${WAKAPI_PASSWORD_SALT}"

volumes:
	wakapi-data:
vim .env
WAKAPI_PASSWORD_SALT=<change_it>
sudo docker compose --env-file .env up -d

From source

# Ubuntu 22 Arm
git clone --depth=1 https://github.com/muety/wakapi
cd wakapi
vim docker-compose.yml
# Base on https://github.com/muety/wakapi/blob/master/compose.yml
	db:
		volumes:
			# Save data on mount disk
			- /mnt/<mount_name>/local/share/wakapi-db-data:/var/lib/postgresql/data
sudo mkdir -p /mnt/<mount_name>/local/share/wakapi-db-data
vim .env
WAKAPI_PASSWORD_SALT=<change_it>
WAKAPI_DB_PASSWORD=<change_it>
WAKAPI_MAIL_SMTP_PASS=<change_it>
sudo docker compose up -d

web-check

Weblate

install

1

# Ubuntu 22 ARM
sudo apt install -y \
   libxml2-dev libxslt-dev libfreetype6-dev libjpeg-dev libz-dev libyaml-dev \
   libffi-dev libcairo-dev gir1.2-pango-1.0 libgirepository1.0-dev \
   libacl1-dev libssl-dev libpq-dev libjpeg-dev build-essential \
   python3-gdbm python3-dev python3-pip python3-virtualenv virtualenv git
sudo apt install -y \
   libldap2-dev libldap-common libsasl2-dev \
   libxmlsec1-dev
sudo apt install -y nginx uwsgi uwsgi-plugin-python3 redis-server postgresql postgresql-contrib exim4 gettext
sudo apt-get install git-svn

reference

yomichan-web-service

install

# ArchWSL
sudo pacman -S memcached
yay -S mongodb42-bin
nvm install hydrogen
git clone --depth=1 https://github.com/tetraset/yomichan-web-service
cd yomichan-web-service
npm install
node yomichan.js

Zasper

install

1

# Ubuntu 22 ARM
git clone --depth=1 https://github.com/zasper-io/zasper
cd zasper/docker
sudo docker compose build
sudo docker compose up -d

ZeroTier One

install

  1. Log-in ZeroTier.
  2. Create a Network.

1

# Ubuntu 22 ARM
wget -qO- https://install.zerotier.com | sudo bash
sudo systemctl enable --now zerotier-one.service
systemctl status zerotier-one.service
sudo zerotier-cli join <network_id>
sudo zerotier-cli listnetworks

GitHub Actions Runner

reference

cross-reference

mark

asset

mark

later

extra

cache

annex

mark

# releases.yml
name: Create Releases
on:
  push:
    tags:
      - 'v*'
  workflow_dispatch:
jobs:
  release:
    runs-on: ubuntu-latest
    permissions:
      contents: write
    steps:
    - name: Checkout repository
      uses: actions/checkout@v4
    - name: Install system dependencies
      run: |
        sudo apt-get update
    - name: Generate SHA256 checksums
      run: |
        for file in ./*; 
        do 
          if [ -f "$file" ]; then 
            sha256sum "$file" > "$file.sha256"; 
            echo "Generated checksum for $file"; 
          fi
        done
    - name: Create GitHub Release and upload files
      uses: softprops/action-gh-release@v2
      with:
        tag_name: ${{ github.ref_name }}
        name: "${{ github.ref_name }}"
        files: |
          *.sha256

extra

# _hugo-optimize.yml
# https://github.com/b-m-f/hugo-picture-optimization
- name: Install pkgs for hugo-picture-optimization
  run: sudo apt install -y libimage-exiftool-perl jpegoptim optipng imagemagick && sudo apt-get install coreutils
- name: Make hugo_optimized.sh executeable
  run: sudo chmod +x ./hugo_optimized.sh
- name: Run hugo_optimized.sh
  run: ./hugo_optimized.sh
# _scp.yml
# https://github.com/appleboy/scp-action
- name: Rename public to html
  run: mv public html
- name: Checkout
  uses: actions/checkout@v3
- name: copy file to server
  uses: appleboy/scp-action@v0.1.7
  with:
    host: ${{ secrets.VPS_HOST }}
    username: ${{ secrets.VPS_USERNAME }}
    key: ${{ secrets.VPS_KEY }}
    password: ${{ secrets.VPS_PASSWORD }}
    port: ${{ secrets.VPS_PORT }}
    source: "./html/*"
    target: "/var/www/sub-domains/<sub_domain>/"
    rm: true
    overwrite: true
    strip_components: 2

cache

# _tencent-cloud-cdn.yml
# https://www.ioiox.com/archives/69.html
- name: Install coscmd
  run: sudo pip install coscmd
- name: Configure coscmd
  env:
    SECRET_ID: ${{ secrets.SecretId }}
    SECRET_KEY: ${{ secrets.SecretKey }}
    BUCKET: <Bucket>
    REGION: <Region>
  run: coscmd config -a $SECRET_ID -s $SECRET_KEY -b $BUCKET -r $REGION
- name: Upload
  run: coscmd upload -rfs --delete ./ / --ignore "./.git/*"

Github pages

Usage example

  1. When deploy QR code designer with Github Pages.
  2. kochrt/qr-designer → Fork → Unselect Copy the main branch only.
  3. Fork → Settings → Pages → Build and development.
    1. Source → Deploy from a branch.
    2. Branch → gh-pages, /(root).
  4. Visit https://<user>.github.io/qr-designer.

reference

PM2

install

Ubuntu 22 ARM

1

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
source .bashrc
nvm install --lts
nvm use --lts
npm install -g pm2
pm2 dump
pm2 startup
# pm2 unstartup
# Restore from dump file after reboot
pm2 resurrect

config

Windows 10

set "PM2_HOME=C:\ProgramData\pm2\home"
set "PM2_INSTALL_DIRECTORY=C:\ProgramData\npm\npm\node_modules\pm2"
set "PM2_SERVICE_DIRECTORY=C:\ProgramData\pm2\service"

Configuare Apache on Rocky Linux

2 3

pm2 start npm --name "<app_name>" --watch -- start

Create a new VirtualHost configuration with subdomain names:

sudo vim /etc/httpd/conf.d/sub.domain.com.conf
<VirtualHost *:80>
  ServerName www.sub.domain.com
  ServerAlias sub.domain.com

  ErrorLog /var/log/httpd/sub.domain.com-error.log
  CustomLog /var/log/httpd/sub.domain.com-access.log combined
  ProxyPreserveHost On
  ProxyPass / http://localhost:3000/
  ProxyPassReverse / http://localhost:3000/
</VirtualHost>

reference

cross-reference

pm2-installer

install

As Administrator:

git clone --depth=1 https://github.com/jessety/pm2-installer
cd pm2-installer
sudo npm run configure
sudo npm run setup
sudo pm2 save

Windows 10 → Control Panel → Administrative Tools > Services → PM2 → Properties → Log On → local system account → Go back to first tab → Start1.