diff of fab176547a0e463f59494f84170666fbb3d81db6

fab176547a0e463f59494f84170666fbb3d81db6
diff --git a/aggressive-murja.asd b/aggressive-murja.asd
index ff4bc27..50567c3 100644
--- a/aggressive-murja.asd
+++ b/aggressive-murja.asd
@@ -83,6 +83,7 @@
 		    :components ((:file "root")
 				 (:file "tabs")
 				 (:file "blogpost")))
+		   (:file "single-post")
 		   (:module "admin"
 		    :components ((:module "components"
 				  :components ((:file "tag-script")
@@ -92,7 +93,7 @@
 				 (:file "post-list")
 				 (:file "new-post")))
 		   (:file "blog-root")
-		   (:file "single-post")))
+		   ))
 		 (:file "main"))))
   :in-order-to ((test-op (test-op "aggressive-murja/tests"))))
 
diff --git a/src/local-lib/lisp-fixup.lisp b/src/local-lib/lisp-fixup.lisp
index c70c47d..4e7ee15 100644
--- a/src/local-lib/lisp-fixup.lisp
+++ b/src/local-lib/lisp-fixup.lisp
@@ -12,6 +12,13 @@
 
 (in-package :lisp-fixup)
 
+(eval-when (:compile-toplevel :load-toplevel :execute)
+
+  (named-readtables:defreadtable :murja.ps
+    (:merge :standard)
+    ;; this is required to make parenscript not mangle capitalization of ourSYMBOLS
+    (:case :invert)))
+
 (defvar *dev?* nil "True if we're running in dev")
 
 (defun sha-512 (str)
diff --git a/src/routes/root-routes.lisp b/src/routes/root-routes.lisp
index 4976754..6dc4e25 100644
--- a/src/routes/root-routes.lisp
+++ b/src/routes/root-routes.lisp
@@ -90,58 +90,58 @@
   </body>
 </html>")
 
-(defroute root ("/" :method :get
-		    :decorators (murja.middleware.db:@transaction
-				 @check-if-initial)) ()
-  *root*)
+;; (defroute root ("/" :method :get
+;; 		    :decorators (murja.middleware.db:@transaction
+;; 				 @check-if-initial)) ()
+;;   *root*)
 
-(defroute spurasdasdasd ("/blog/initial-setup" :method :get) ()
-  *root*)
+;; (defroute spurasdasdasd ("/blog/initial-setup" :method :get) ()
+;;   *root*)
 
-(defroute root-blg ("/blog/" :method :get
-			     :decorators (murja.middleware.db:@transaction
-					  @check-if-initial)) ()
-  *root*)
+;; (defroute root-blg ("/blog/" :method :get
+;; 			     :decorators (murja.middleware.db:@transaction
+;; 					  @check-if-initial)) ()
+;;   *root*)
 
-(defroute root-blg-new ("/blog/new_post" :method :get) ()
-  *root*)
+;; (defroute root-blg-new ("/blog/new_post" :method :get) ()
+;;   *root*)
 
-(defroute root-blg-newer ("/blog/new_post/" :method :get) ()
-  *root*)
+;; (defroute root-blg-newer ("/blog/new_post/" :method :get) ()
+;;   *root*)
 
-(defroute mediamgr ("/blog/mediamanager" :method :get) ()
-  *root*)
+;; (defroute mediamgr ("/blog/mediamanager" :method :get) ()
+;;   *root*)
 
-(defroute postmgr ("/blog/postadmin" :method :get) ()
-  *root*)
+;; (defroute postmgr ("/blog/postadmin" :method :get) ()
+;;   *root*)
 
 
-(defroute post-view ("/blog/post/:id" :method :get) ()
-  *root*)
+;; (defroute post-view ("/blog/post/:id" :method :get) ()
+;;   *root*)
 
-(defroute edit ("/blog/post/edit/:id" :method :get) ()
-  *root*)
+;; (defroute edit ("/blog/post/edit/:id" :method :get) ()
+;;   *root*)
 
-(defroute root-blg-2 ("/blog/tags/:tag" :method :get) ()
-  *root*)
+;; (defroute root-blg-2 ("/blog/tags/:tag" :method :get) ()
+;;   *root*)
 
-(defroute sdkfpsokopfs ("/blog/post/:post/version/:ver" :method :get) ()
-  *root*)
+;; (defroute sdkfpsokopfs ("/blog/post/:post/version/:ver" :method :get) ()
+;;   *root*)
 
-(defroute ddddddd ("/blog/settings" :method :get) ()
-  *root*)
+;; (defroute ddddddd ("/blog/settings" :method :get) ()
+;;   *root*)
 
-(defroute asjdisdjfiosd ("/blog/logs" :method :get) ()
-  *root*)
+;; (defroute asjdisdjfiosd ("/blog/logs" :method :get) ()
+;;   *root*)
 
-(defroute aesdfg ("/blog/settings" :method :get) ()
-  *root*)
+;; (defroute aesdfg ("/blog/settings" :method :get) ()
+;;   *root*)
 
 
-(defroute ddddddd1234 ("/blog/page/:page" :method :get) ()
-  *root*)
+;; (defroute ddddddd1234 ("/blog/page/:page" :method :get) ()
+;;   *root*)
 
-(defroute sdfdsfopsf ("/blog/feeds" :method :get) ()
-  *root*)
+;; (defroute sdfdsfopsf ("/blog/feeds" :method :get) ()
+;;   *root*)
 
-(defroute kgvfokgf ("/blog/usersettings" :method :get) () *root*)
+;; (defroute kgvfokgf ("/blog/usersettings" :method :get) () *root*)
diff --git a/src/view/admin/components/previouslies-script.lisp b/src/view/admin/components/previouslies-script.lisp
index bdaea78..9191794 100644
--- a/src/view/admin/components/previouslies-script.lisp
+++ b/src/view/admin/components/previouslies-script.lisp
@@ -7,11 +7,6 @@
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
 
-  (named-readtables:defreadtable :murja.ps
-    (:merge :standard)
-    ;; this is required to make parenscript not mangle capitalization of ourSYMBOLS
-    (:case :invert))
-
   (named-readtables:in-readtable :murja.ps))
 
 (defun previouslies-component-frontend ()
diff --git a/src/view/admin/new-post.lisp b/src/view/admin/new-post.lisp
index 0108768..bbce8f0 100644
--- a/src/view/admin/new-post.lisp
+++ b/src/view/admin/new-post.lisp
@@ -66,5 +66,7 @@
 	(dolist (link (coerce (json:parse (gethash "previouslies" form)) 'list))
 	  (let ((id (gethash "id" link)))
 	    (murja.posts.post-db:link-previously (post-id post) id)))
-	
-	(hunchentoot:redirect (easy-routes:genurl 'murja.view.single-post:blog/post/id :id (post-id post)))))))
+
+	(if (post-hidden? post)
+	    (hunchentoot:redirect (easy-routes:genurl 'murja.view.blog-root:root))
+	    (hunchentoot:redirect (easy-routes:genurl 'murja.view.single-post:blog/post/id :id (post-id post))))))))
diff --git a/src/view/admin/post-list.lisp b/src/view/admin/post-list.lisp
index b4eea9e..3f2be9f 100644
--- a/src/view/admin/post-list.lisp
+++ b/src/view/admin/post-list.lisp
@@ -14,7 +14,7 @@
     (with-html
       (:div.title-flex-container
        (:span.post-admin-title (format nil "~a - ~a ~d" title month year))
-       (:a :href (format nil "/blog/post/edit/~d" id) "Edit")
+       (:a :href (format nil "/blog/post/editor/~d" id) "Edit")
        (:div.post-admin-title
 	(:h* "Tags")
 	(:ul
diff --git a/src/view/components/blogpost.lisp b/src/view/components/blogpost.lisp
index cc817dc..db79e57 100644
--- a/src/view/components/blogpost.lisp
+++ b/src/view/components/blogpost.lisp
@@ -52,6 +52,9 @@
 				(with-html
 				  (:li c)))
 			      #'blogpost)
-	  page))))
+	  (remove-if (lambda (post)
+		       (or (post-hidden? post)
+			   (post-unlisted? post)))
+		     page)))))
 	  
 	     
diff --git a/src/view/single-post.lisp b/src/view/single-post.lisp
index a48f7f5..387bebc 100644
--- a/src/view/single-post.lisp
+++ b/src/view/single-post.lisp
@@ -13,4 +13,9 @@
 		      :subtab t
 		      :captured-url-params (id))
   (let ((post (get-post id :allow-hidden? nil)))
-    (blogpost post)))
+    (if post 
+	(blogpost post)
+	(progn
+	  (setf (hunchentoot:return-code*) 404)
+	  (:div "not found")))))
+