vim-markdown-runner și un flux de lucru bazat pe note

(Dan Bridges) (16 ianuarie 2020)

Recent am scris un simplu plugin vim, vim-markdown-runner , pentru a completa notele mele de reducere bazate pe fluxul de lucru al proiectului. În această postare vreau să intru în câteva detalii despre acest flux de lucru și să arăt cum simplitatea sa este surprinzător de puternică.

vim-markdown-runner in action

Structura generala

Stoc toate fisierele mele de note intr-un singur directorul rădăcină din Dropbox. Acest lucru îmi permite să vizualizez și să editez cu ușurință notele de pe un dispozitiv mobil. Această structură de director rădăcină reflectă directorul meu de acasă, ceea ce îmi permite să asociez căile fișierului de proiect cu fișierul lor de notă. De exemplu, dacă am un proiect în ~/projects/side-projects/my-project fișierul de notă asociat se află la ~/Dropbox/notes/projects/side-projects/my-project.md.

Atunci creez un link simbolic .notefile în folderul original al proiectului care indică calea completă bazată pe Dropbox. Motivul pentru crearea link-ului simbolic este dublu: (i) pentru a permite vizualizarea rapidă a unui fișier din directorul proiectului și (ii) astfel încât la editarea unui fișier vim să rămână în folderul proiectului, astfel încât lucruri precum căutarea cu ctrlp funcționează în continuare așa cum era de așteptat (în loc să căutăm accidental în folderul de note).

Am adăugat câteva funcții și o comandă :Notes la .vimrc pentru a crea sau a deschide fișierul de notă asociat pentru directorul meu actual de lucru.

Notes() face greutatea ridicată. Dacă un .notefile este deja prezent, acesta îl deschide pur și simplu. Dacă nu există un .notefile acesta rulează NotesInitNew() care verifică dacă există fișierul Dropbox asociat. Dacă fișierul nu există încă în Dropbox, creează structura corectă a directorului, apoi creează un nou fișier de reducere deja populat cu un titlu bazat pe numele directorului final. În cele din urmă, se creează linkul simbolic .notefile, apoi se deschide.

În interiorul unui fișier de note

În interiorul unui fișier de note tipic voi avea liste obișnuite de todos, note de întâlnire aleatorii și alte elemente de rutină, dar adevărata putere vine de la vim-markdown-runner care îmi permite să am locuri de joacă interactive, scripturi specifice proiectului și un client API de bază care să detalieze traseele unui proiect, înlocuind Postman sau Paw .

Terenuri de joacă

În timpul dezvoltării, adesea depanez sau verific o mică bucată de cod, având un loc de joacă simplu facilitează foarte mult acest lucru.

## Playground```go
fmt.Println(os.Getwd())
``````python
import pandas as pd
print(pd.read\_csv("data.csv"))
```

Cu vim-markdown-runner îmi pot plasa cursorul în oricare dintre aceste blocuri de cod și le pot executa. Limbajul / mediul corect va fi detectat automat și, în cazul Go, se efectuează câțiva pași suplimentari pentru a adăuga un main() și a rula goimports .

Scripturi

Voi avea deseori scripturi specifice proiectului care nu merită să fie introduse în propriile fișiere. Îi pot rula și pe cei cu vim-markdown-runner:

## Scripts```
get\_name() {
echo "Dan"
}echo "You are $(get\_name)"
```

Dacă nu este specificată nicio limbă în blocul de cod, vim-markdown-runner o va rula cu orice $SHELL este setat la.

Client API

În cadrul proiectelor de dezvoltare web, am o secțiune Endpoints în fișierul de note, ca un simplu înlocuitor pentru Postman și altele asemenea. Acestea sunt doar comenzi httpie , dar îmi permite să cataloguez și să rulez cu ușurință rutele comune:

## Endpoints```
http localhost:3000/api/todos
``````
http POST localhost:3000/api/todos title=Stuff
```...etc

După cum puteți vedea, există o varietate de cazuri de utilizare puternice pe care le gestionează vim-markdown-runner. De asemenea, este foarte configurabil, așa că ar trebui să îl puteți adapta la propriile nevoi.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *