vim-markdown-runner és egy Notes alapú munkafolyamat

(Dan Bridges) (2020. január 16.)

Nemrég írtam egy egyszerű vim plugint, vim-markdown-runner , hogy kiegészítsem a markdown jegyzeteimet projekt munkafolyamatát. Ebben a bejegyzésben szeretnék még néhány részletet bemutatni erről a munkafolyamatról, és bemutatni, hogy egyszerűsége meglepően hatalmas.

vim-markdown-runner akcióban

Általános felépítés

Az összes jegyzetfájlomat egyetlen helyen tárolom gyökérkönyvtár a Dropbox-ban. Így könnyedén megtekinthetem és szerkeszthetem a jegyzeteket mobil eszközről. Ez a gyökérkönyvtár-struktúra tükrözi az otthoni könyvtáramat, amely lehetővé teszi számomra, hogy a projektfájl elérési útjait társítsam a jegyzetfájljukhoz. Például, ha van egy projektem a ~/projects/side-projects/my-project fájlban, a társított jegyzetfájl a ~/Dropbox/notes/projects/side-projects/my-project.md címen található.

Ezután létrehozom egy symlink .notefile az eredeti projektmappában, amely a teljes Dropbox alapú elérési útra mutat. A symlink létrehozásának oka kettős: (i) lehetővé teszi a fájl gyors megtekintését a projektkönyvtárból, és (ii) hogy a fájl szerkesztésekor a VIM a projekt mappában maradjon, így a ctrlp keresés továbbra is működni fog a várakozásoknak megfelelően (a véletlenszerű keresés helyett a Notes mappába).

Hozzáadtam néhány funkciót és egy :Notes parancsot a .vimrc a társított jegyzetfájl létrehozásához vagy megnyitásához a jelenlegi munkakönyvtáramhoz.

Notes() elvégzi a nehéz emelést. Ha már van .notefile, akkor egyszerűen megnyitja. Ha nincs .notefile, akkor fut NotesInitNew(), amely ellenőrzi, hogy létezik-e a társított Dropbox fájl. Ha a fájl még nem létezik a Dropboxban, mégis létrehozza a megfelelő könyvtárstruktúrát, majd létrehoz egy új jelölőfájlt, amely már a címmel van feltöltve a végleges könyvtárnév alapján. Végül létrejön a .notefile szimbólumlink, majd megnyílik.

Jegyzetfájl belsejében

Egy tipikus jegyzetfájl belsejében a a szokásos listák a Todos-ról, a véletlenszerű értekezlet-jegyzetekről és más rutin elemekről, de a valódi erőt a vim-markdown-runner adja, amely lehetővé teszi számomra, hogy interaktív játszótereket, projekt-specifikus szkripteket és alap API klienst használjak, amely részletezi a projekt útvonalait, helyettesítve a Postman vagy Paw .

Játszóterek

A fejlesztés során gyakran hibaelhárítással vagy egy kis kódrészlet ellenőrzésével foglalkozom, és egy egyszerű játszótér nagyban megkönnyíti ezt.

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

A vim-markdown-runner segítségével bármelyik kódblokkba helyezhetem a kurzort, és végrehajthatom őket. A megfelelő nyelv / környezet automatikusan felismerésre kerül, és a Go esetében további lépéseket kell végrehajtani egy main() hozzáadásához és a goimports futtatásához. .

Szkriptek

Gyakran lesznek projektspecifikus szkriptjeim, amelyeket nem igazán érdemes a saját fájljaikba betenni. Futtathatom azokat is, akiknek van vim-markdown-runner:

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

Ha a kódblokkban nincs megadva nyelv, akkor a vim-markdown-runner futtatja bármi, amire $SHELL van beállítva.

API kliens

A webfejlesztési projekteken belül a jegyzetfájlomban egyszerűen található egy Végpontok szakasz a Postman és hasonlók pótlása. Ezek csak httpie parancsok, de lehetővé teszik a gyakori útvonalak egyszerű katalogizálását és futtatását:

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

Amint láthatja, számos hatékony felhasználási eset létezik, amelyeket a vim-markdown-runner kezel. Ez nagyon konfigurálható is, ezért képesnek kell lennie arra, hogy saját igényeihez igazítsa.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük