-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
===================================================================== --- New Scripts -------------------------- zsh ) latex + latex template engine - latex/build-pdf - latex/cleanup - latex/create-new - latex/get-pdf - latex/open-pdf beta SQL script -- got tired of floating this; works, but only OK - db/run-sql/postgres --- Changes ------------------------------ - Added 'math', 'basic', and 'times-new-roman' templates to latex - Added 'readlink' to list of required coreutils - Added __INPUT to read into a variable with prompt (zsh/utils/io) - Added $EXECUTION_DIR to interact with the user's working directory --- Bug Fixes ---------------------------- - subscwrypts no longer force stdout/stderr to tty
- Loading branch information
Showing
25 changed files
with
492 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
_DEPENDENCIES+=() | ||
_REQUIRED_ENV+=() | ||
source ${0:a:h}/../common.zsh | ||
##################################################################### |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
#!/bin/zsh | ||
_DEPENDENCIES+=( | ||
psql | ||
) | ||
_REQUIRED_ENV+=() | ||
source ${0:a:h}/common.zsh | ||
##################################################################### | ||
|
||
_RUN_SQL_POSTGRES() { | ||
local _HOST _NAME _PASS _PORT _USER INPUT_FILE | ||
|
||
while [[ $# -gt 0 ]] | ||
do | ||
case $1 in | ||
--host | -h ) _HOST="$2"; shift 2 ;; | ||
--name | -d ) _NAME="$2"; shift 2 ;; | ||
--pass | -w ) _PASS="$2"; shift 2 ;; | ||
--port | -p ) _PORT="$2"; shift 2 ;; | ||
--user | -U ) _USER="$2"; shift 2 ;; | ||
--file | -i ) INPUT_FILE="$2"; shift 2 ;; | ||
* ) shift 1 ;; | ||
esac | ||
done | ||
|
||
[ ! $_HOST ] && _HOST=127.0.0.1 | ||
[ ! $_NAME ] && _NAME=postgres | ||
[ ! $_PORT ] && _PORT=5432 | ||
[ ! $_USER ] && _USER=postgres | ||
|
||
local SQL_DIR="$SCWRYPTS_DATA_PATH/sql" | ||
[ ! -d $SQL_DIR ] && mkdir -p $SQL_DIR | ||
cd $SQL_DIR | ||
|
||
[[ $(ls "*.sql" 2>&1 | wc -l) -eq 0 ]] && { | ||
__ERROR "you haven't made any SQL commands yet" | ||
__REMINDER "add '.sql' files here: '$SQL_DIR/'" | ||
exit 1 | ||
} | ||
|
||
[ ! $INPUT_FILE ] && INPUT_FILE=$(\ | ||
__FZF 'select a sql file to run' | ||
) | ||
[ ! $INPUT_FILE ] && __ABORT | ||
|
||
[ ! -f $INPUT_FILE ] && { | ||
__FAIL 2 "no such sql file '$SQL_DIR/$INPUT_FILE'" | ||
} | ||
|
||
__STATUS "loading $INPUT_FILE preview..." | ||
_LESS $INPUT_FILE | ||
|
||
__STATUS "login : $_USER@$_HOST:$_PORT/$_NAME" | ||
__STATUS "command : ./$INPUT_FILE" | ||
|
||
__yN 'run this command?' || __ABORT | ||
|
||
__STATUS "running './$INPUT_FILE'" | ||
PGPASSWORD="$_PASS" psql \ | ||
-h $_HOST \ | ||
-p $_PORT \ | ||
-U $_USER \ | ||
-d $_NAME \ | ||
< $INPUT_FILE \ | ||
&& __SUCCESS "finished running './$INPUT_FILE'" \ | ||
|| __FAIL 3 "something went wrong running './$INPUT_FILE' (see above)" | ||
} | ||
|
||
##################################################################### | ||
__WARNING | ||
__WARNING 'this function is in a beta state' | ||
__WARNING | ||
_RUN_SQL_POSTGRES $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
#!/bin/zsh | ||
_DEPENDENCIES+=( | ||
pdflatex | ||
rg | ||
) | ||
_REQUIRED_ENV+=() | ||
source ${0:a:h}/common.zsh | ||
##################################################################### | ||
|
||
PDFLATEX() { | ||
[ ! $1 ] && __FAIL 1 'must provide filename' | ||
local FILENAME=$(GET_MAIN_LATEX_FILENAME "$1") | ||
|
||
local ARGS=(-interaction=nonstopmode) | ||
ARGS+=("$FILENAME") | ||
|
||
cd "$(dirname $FILENAME)" | ||
|
||
__STATUS 'running compile (1/2)' | ||
pdflatex ${ARGS[@]} \ | ||
|| __FAIL 2 'first compile failed (see above)' | ||
|
||
__STATUS 'running compile (2/2)' | ||
pdflatex ${ARGS[@]} >/dev/null 2>&1 \ | ||
|| __FAIL 3 'second compile failed :c' | ||
|
||
__SUCCESS "created '$(echo $FILENAME | sed 's/\.[^.]*$/.pdf/')'" | ||
} | ||
|
||
##################################################################### | ||
PDFLATEX $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/zsh | ||
_DEPENDENCIES+=() | ||
_REQUIRED_ENV+=() | ||
source ${0:a:h}/common.zsh | ||
##################################################################### | ||
|
||
CLEAN_LATEX_LOGFILES() { | ||
local DIRECTORY=$(__GET_PATH_TO_RELATIVE_ARGUMENT ".") | ||
[ $1 ] && DIRECTORY="$(dirname "$(GET_MAIN_LATEX_FILENAME "$1")")" | ||
[ $DIRECTORY ] && [ -d $DIRECTORY ] \ | ||
|| __FAIL 1 'unable to parse valid directory' | ||
|
||
cd $DIRECTORY | ||
rm $(ls | grep '\.\(aux\)\|\(log\)\|\(pdf\)\|\(out\)\|\(dvi\)$') | ||
|
||
__SUCCESS "cleaned up latex artifacts in '$DIRECTORY'" | ||
} | ||
|
||
##################################################################### | ||
CLEAN_LATEX_LOGFILES $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
_DEPENDENCIES+=( | ||
rg | ||
) | ||
_REQUIRED_ENV+=() | ||
source ${0:a:h}/../common.zsh | ||
##################################################################### | ||
|
||
GET_MAIN_LATEX_FILENAME() { | ||
local FILENAME=$(__GET_PATH_TO_RELATIVE_ARGUMENT "$1") | ||
local DIRNAME="$FILENAME" | ||
|
||
for _ in {1..3} | ||
do | ||
CHECK_IS_MAIN_LATEX_FILE && return 0 | ||
DIRNAME="$(dirname "$FILENAME")" | ||
__STATUS "checking '$DIRNAME'" | ||
[[ $DIRNAME =~ ^$HOME$ ]] && break | ||
FILENAME=$( | ||
rg -l --max-depth 1 'documentclass' "$DIRNAME/" \ | ||
| grep '\.tex$' \ | ||
| head -n1 \ | ||
) | ||
__STATUS "here is '$FILENAME'" | ||
done | ||
|
||
__WARNING 'unable to find documentclass; pdflatex will probably fail' | ||
echo "$1" | ||
} | ||
|
||
CHECK_IS_MAIN_LATEX_FILE() { | ||
[ ! $FILENAME ] && return 1 | ||
grep -q 'documentclass' $FILENAME 2>/dev/null && echo $FILENAME || return 3 | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
#!/bin/zsh | ||
_DEPENDENCIES+=( | ||
pdflatex | ||
rg | ||
) | ||
_REQUIRED_ENV+=() | ||
|
||
TEMPLATE_DIR="${0:a:h}/templates" | ||
|
||
source ${0:a:h}/common.zsh | ||
##################################################################### | ||
|
||
CREATE_NEW_LATEX_DOCUMENT_FROM_TEMPLATE() { | ||
local DOCUMENT_DIR="$EXECUTION_DIR" | ||
local TEMPLATE=$(GET_TEMPLATES | __FZF 'select a template') | ||
[ ! $TEMPLATE ] && __ABORT | ||
__SUCCESS "selected template '$TEMPLATE'" | ||
|
||
__INPUT DOC_TITLE 'document title' || __ABORT | ||
|
||
local DOCUMENT_FILE="$DOCUMENT_DIR/$(SLUGIFY_TITLE).tex" | ||
[ -f "$DOCUMENT_FILE" ] && __FAIL 1 "'$(basename $DOCUMENT_FILE)' already exists" | ||
|
||
__INPUT DOC_ID 'document id/subtitle' | ||
__INPUT AUTHOR 'author name' | ||
__INPUT AUTHOR_ID 'author id/title' | ||
|
||
{ | ||
PRINT_TITLE_INFO | ||
cat "$TEMPLATE_DIR/$TEMPLATE/template.tex" | ||
} > "$DOCUMENT_FILE" | ||
cp "$TEMPLATE_DIR/gitignore" "$DOCUMENT_DIR/.gitignore" | ||
for FILE in $(find "$TEMPLATE_DIR/$TEMPLATE" -type f | grep -v '/template.tex$') | ||
do | ||
cp "$FILE" "$DOCUMENT_DIR/" || return 2 | ||
done | ||
[[ ! $TEMPLATE =~ ^basic$ ]] \ | ||
&& mkdir "$DOCUMENT_DIR/sections" "$DOCUMENT_DIR/graphics" | ||
|
||
__SUCCESS "finished generating '$(basename $DOCUMENT_FILE)' from '$TEMPLATE'" | ||
} | ||
|
||
GET_TEMPLATES() { | ||
find "$TEMPLATE_DIR" -type d | sed "s^$TEMPLATE_DIR/*^^; /^$/d" | ||
} | ||
|
||
PRINT_TITLE_INFO() { | ||
local DATESTRING=$(date '+%B %_d, %Y' | sed 's/ \{1,\}/ /g') | ||
sed " | ||
s^LATEX-DOC-TITLE^$DOC_TITLE^ | ||
s^LATEX-DOC-DATE^$DATESTRING^ | ||
s^LATEX-DOC-ID^$DOC_ID^ | ||
s^LATEX-AUTHOR-NAME^$AUTHOR^ | ||
s^LATEX-AUTHOR-ID^$AUTHOR_ID^ | ||
" "$TEMPLATE_DIR/main.tex" | ||
} | ||
|
||
SLUGIFY_TITLE() { | ||
echo $DOC_TITLE | sed "s^['\"\\/,\!@#\$%^&*()]*^^g; s^\s\+^-^g;" | ||
} | ||
|
||
##################################################################### | ||
CREATE_NEW_LATEX_DOCUMENT_FROM_TEMPLATE $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#!/bin/zsh | ||
_DEPENDENCIES+=() | ||
_REQUIRED_ENV+=() | ||
source ${0:a:h}/common.zsh | ||
##################################################################### | ||
|
||
GET_PDF() { | ||
local FILENAME=$(GET_MAIN_LATEX_FILENAME "$1" | sed 's/\.[^.]*$/.pdf/') | ||
[ $FILENAME ] && [ -f $FILENAME ] || __FAIL 1 "no compiled pdf found for '$1'; have you run 'build-pdf'?" | ||
__SUCCESS 'found main pdf' | ||
echo $FILENAME | ||
} | ||
|
||
##################################################################### | ||
GET_PDF $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
#!/bin/zsh | ||
_DEPENDENCIES+=() | ||
_REQUIRED_ENV+=() | ||
source ${0:a:h}/common.zsh | ||
##################################################################### | ||
|
||
OPEN_PDF() { | ||
local PDF=$(__RUN_SCWRYPT latex/get-pdf -n -- $1) | ||
[ ! $PDF ] && return 1 | ||
|
||
__OPEN "$PDF" | ||
} | ||
|
||
##################################################################### | ||
OPEN_PDF $@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
\usepackage[margin=.75in,bottom=0.5in,top=1.0in]{geometry} | ||
|
||
\usepackage{enumitem} | ||
\usepackage{fancyhdr} | ||
\usepackage{hyperref} | ||
\usepackage{lastpage} | ||
|
||
\newcommand{\headerL} {\documentTitle: \documentDate} | ||
\newcommand{\headerC} {\documentId} | ||
\newcommand{\headerR} {\authorName\ (\authorId)} | ||
\newcommand{\pageOfTotal} {\thepage\ of~\pageref{LastPage}} | ||
|
||
\pagestyle{fancy} | ||
\fancypagestyle{plain}{% | ||
\fancyhf{} | ||
\fancyhead[L]{\headerL}\fancyhead[R]{\headerR}\fancyhead[C]{\headerC} | ||
\fancyfoot[C]{\pageOfTotal} | ||
} | ||
|
||
\renewcommand{\baselinestretch}{1} | ||
\setlength{\parskip}{0em} | ||
\hyphenpenalty=5000% | ||
|
||
\fancyhf{} | ||
\fancyhead[L]{\headerL}\fancyhead[R]{\headerR}\fancyhead[C]{\headerC} | ||
\fancyfoot[C]{\pageOfTotal} | ||
|
||
\title{\documentTitle} | ||
\author{\authorName\ \\ \authorId} | ||
\date{\documentDate} | ||
|
||
\begin{document} | ||
\maketitle% | ||
% --------------------------------------------------------------------- | ||
|
||
% --------------------------------------------------------------------- | ||
\end{document} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
*.aux | ||
*.log | ||
*.out | ||
*.dvi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
\documentclass[letterpaper]{article} | ||
|
||
\newcommand{\documentTitle} {LATEX-DOC-TITLE} | ||
\newcommand{\documentDate} {LATEX-DOC-DATE} | ||
\newcommand{\documentId} {LATEX-DOC-ID} | ||
|
||
\newcommand{\authorName} {LATEX-AUTHOR-NAME} | ||
\newcommand{\authorId} {LATEX-AUTHOR-ID} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
\ProvidesPackage{code} | ||
% --------------------------------------------------------------------- | ||
|
||
\newcommand{\clispsnippet}[2]{% | ||
\lstinputlisting[% | ||
caption=#1, | ||
language=Lisp, | ||
showstringspaces=false, | ||
numbers=left, | ||
]{#2} | ||
} |
Oops, something went wrong.