First commit
This commit is contained in:
		
						commit
						fe1755043f
					
				
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
build
 | 
			
		||||
jpm_tree
 | 
			
		||||
							
								
								
									
										8
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,8 @@
 | 
			
		|||
## Install dependencies
 | 
			
		||||
 | 
			
		||||
`jpm deps --local
 | 
			
		||||
 | 
			
		||||
## Build
 | 
			
		||||
 | 
			
		||||
`jpm build`
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										34
									
								
								main.janet
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								main.janet
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,34 @@
 | 
			
		|||
(import httprequest :as r)
 | 
			
		||||
(import spork/json :as json)
 | 
			
		||||
 | 
			
		||||
(def url "https://hachyderm.io/api/v1/bookmarks")
 | 
			
		||||
(def auth "REDACTED")
 | 
			
		||||
 | 
			
		||||
(defn download-bookmarks []
 | 
			
		||||
  "Downloads the bookmarks and saves them to a file."
 | 
			
		||||
  (def response
 | 
			
		||||
    (r/get url {"Authorization" (string "Bearer " auth)} {}))
 | 
			
		||||
  (def links ((response :headers) "Link"))
 | 
			
		||||
  (pp links)
 | 
			
		||||
  (def bookmarks (json/decode (response :body)))
 | 
			
		||||
  (def fout (file/open "./response.json" :w))
 | 
			
		||||
  (file/write fout (json/encode bookmarks)))
 | 
			
		||||
 | 
			
		||||
(defn write-markdown [item]
 | 
			
		||||
  (def id (item "id"))
 | 
			
		||||
  (def fout (file/open (string "./" id ".md") :w))
 | 
			
		||||
  (file/write fout (item "content"))
 | 
			
		||||
  (file/close fout))
 | 
			
		||||
 | 
			
		||||
(defn write-files []
 | 
			
		||||
  "Writes the bookmarks to files."
 | 
			
		||||
  (def fin (file/open "./response.json" :r))
 | 
			
		||||
  (print (file/read fin :all))
 | 
			
		||||
  (def bookmarks (json/decode (file/read fin :all)))
 | 
			
		||||
  (each item bookmarks
 | 
			
		||||
    (write-markdown item)))
 | 
			
		||||
 | 
			
		||||
(defn main [& args]
 | 
			
		||||
  (download-bookmarks)
 | 
			
		||||
  # (write-files)
 | 
			
		||||
  (print "ok"))
 | 
			
		||||
							
								
								
									
										7
									
								
								project.janet
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								project.janet
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,7 @@
 | 
			
		|||
(declare-project
 | 
			
		||||
  :name "mastodon-test"
 | 
			
		||||
  :dependencies ["https://github.com/meinside/httprequest-janet"])
 | 
			
		||||
 | 
			
		||||
(declare-executable
 | 
			
		||||
  :name "mastodon-test"
 | 
			
		||||
  :entry "main.janet")
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user