Splice ./universe directory into ./
Manually merging: - README.md: I added the description from universe/README.md into the heading of dotfiles/README.md. - .envrc: dotfiles/.envrc was a superset of universe/.envrc - .gitignore: Adding some of the ignored patterns from universe/.gitignore to dotfiles/.gitignore Everything else here should be a simple rename.
This commit is contained in:
parent
fb9380ba26
commit
5c9079a410
133 changed files with 17 additions and 7979 deletions
16
blog/src/index.html
Normal file
16
blog/src/index.html
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<meta name="description" content="Showcase of AI bots at DeepMind" />
|
||||
<link rel="stylesheet" href="/index.css">
|
||||
<title>AI Showcase</title>
|
||||
<script data-ad-client="ca-pub-6018268443649487" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
<h1>Welcome</h1>
|
||||
<p>To my blog!</p>
|
||||
</body>
|
||||
</html>
|
||||
49
blog/src/server.lisp
Normal file
49
blog/src/server.lisp
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
(in-package #:cl-user)
|
||||
(defpackage #:server
|
||||
(:documentation "Robot condemned to a life of admin work for my blog.")
|
||||
(:use #:cl)
|
||||
(:import-from #:cl-arrows #:->>)
|
||||
(:export :main))
|
||||
(in-package #:server)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Nix-injected dependencies
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;; TODO: Wrap this in an assert or ensure that there's a trailing slash so it's
|
||||
;; treated as a directory.
|
||||
(defvar *path-to-posts* "/tmp/"
|
||||
"File path pointing to the posts directory.")
|
||||
|
||||
(defvar *pandoc-bin* "/usr/bin/pandoc")
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Library
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defun render-post (path)
|
||||
"Render the markdown file stored at PATH to HTML using pandoc."
|
||||
(uiop:run-program (list *pandoc-bin* path "--to" "html")
|
||||
:output :string))
|
||||
|
||||
;; TODO: Figure out how to handle this with Nix.
|
||||
(defvar *posts* (uiop:directory-files *path-to-posts*)
|
||||
"List of the paths to the blog posts.")
|
||||
|
||||
(hunchentoot:define-easy-handler
|
||||
(get-latest :uri "/latest") ()
|
||||
(render-post (concatenate 'string *path-to-posts* "/" "test.md")))
|
||||
|
||||
(hunchentoot:define-easy-handler
|
||||
(get-posts :uri "/posts") ()
|
||||
"Working!")
|
||||
|
||||
(defun main ()
|
||||
"This is the main entrypoint for our application."
|
||||
(hunchentoot:start (make-instance 'hunchentoot:easy-acceptor :port 4242))
|
||||
(print "Listing on port 4242...")
|
||||
(sb-thread:join-thread
|
||||
(find-if (lambda (th)
|
||||
(string= (sb-thread:thread-name th)
|
||||
"hunchentoot-listener-*:4242"))
|
||||
(sb-thread:list-all-threads))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue