call backend to create snippt
This commit is contained in:
parent
ad56963220
commit
f2e435b777
3 changed files with 29 additions and 2 deletions
0
.zed/settings.json
Normal file
0
.zed/settings.json
Normal file
21
README.md
21
README.md
|
|
@ -1,7 +1,26 @@
|
||||||
## Snippets CLI CMS
|
# Snippets CLI CMS
|
||||||
|
|
||||||
A simple command-line interface for managing my code snippets.
|
A simple command-line interface for managing my code snippets.
|
||||||
|
|
||||||
Written in Clojure via Babashka.
|
Written in Clojure via Babashka.
|
||||||
|
|
||||||
Interactive elements are powered by [Gum](https://github.com/charmbracelet/gum).
|
Interactive elements are powered by [Gum](https://github.com/charmbracelet/gum).
|
||||||
|
|
||||||
|
|
||||||
|
## Run dev
|
||||||
|
|
||||||
|
To run commands:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ bb -m cli-cms.main create
|
||||||
|
```
|
||||||
|
|
||||||
|
Or to play around and call individual functions using the REPL:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ bb
|
||||||
|
user=> (require '[cli-cms.create :as command])
|
||||||
|
user=> (def mock-snippet {:title "mock snippet from repl" :slug "mock" :tags '("mock") :markdown "# This is a mock"})
|
||||||
|
#'user/mock-snippet
|
||||||
|
user=> (command/create-snippet mock-snippet)
|
||||||
|
```
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,15 @@
|
||||||
(:require
|
(:require
|
||||||
[cli-cms.cli-utils :as utils]
|
[cli-cms.cli-utils :as utils]
|
||||||
[clojure.string :as str]
|
[clojure.string :as str]
|
||||||
|
[babashka.http-client :as http]
|
||||||
|
[cheshire.core :as json]
|
||||||
[babashka.process :refer [shell]]))
|
[babashka.process :refer [shell]]))
|
||||||
|
|
||||||
|
(defn create-snippet [{:keys [title slug markdown tags]}]
|
||||||
|
(http/post "http://localhost:8080/api/snippet"
|
||||||
|
{:headers {:content-type "application/json"}
|
||||||
|
:body (json/encode {:title title :slug slug :markdown markdown :tags tags})}))
|
||||||
|
|
||||||
(defn run []
|
(defn run []
|
||||||
(let [title (utils/prompt-for "title")
|
(let [title (utils/prompt-for "title")
|
||||||
slug (utils/prompt-for "slug")
|
slug (utils/prompt-for "slug")
|
||||||
|
|
@ -13,4 +20,5 @@
|
||||||
;; (println "Please enter a title:")
|
;; (println "Please enter a title:")
|
||||||
(println (format "TODO: create post with title: %s and slug %s" title slug))
|
(println (format "TODO: create post with title: %s and slug %s" title slug))
|
||||||
(println tags)
|
(println tags)
|
||||||
(println markdown)))
|
(println markdown)
|
||||||
|
(create-snippet {:title title :slug slug :markdown markdown :tags tags})))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue