diff --git a/src/MyWebLog/Handlers/Post.fs b/src/MyWebLog/Handlers/Post.fs
index 10e99ee..93e4a09 100644
--- a/src/MyWebLog/Handlers/Post.fs
+++ b/src/MyWebLog/Handlers/Post.fs
@@ -118,20 +118,17 @@ let pageOfCategorizedPosts slugAndPage : HttpHandler = fun next ctx -> task {
let conn = ctx.Conn
match parseSlugAndPage webLog slugAndPage with
| Some pageNbr, slug, isFeed ->
- let allCats = CategoryCache.get ctx
- let cat = allCats |> Array.find (fun cat -> cat.slug = slug)
- if isFeed then
+ match CategoryCache.get ctx |> Array.tryFind (fun cat -> cat.slug = slug) with
+ | Some cat when isFeed ->
return! Feed.generate (Feed.CategoryFeed ((CategoryId cat.id), $"category/{slug}/{webLog.rss.feedName}"))
(defaultArg webLog.rss.itemsInFeed webLog.postsPerPage) next ctx
- else
- let allCats = CategoryCache.get ctx
- let cat = allCats |> Array.find (fun cat -> cat.slug = slug)
+ | Some cat ->
// Category pages include posts in subcategories
match! Data.Post.findPageOfCategorizedPosts webLog.id (getCategoryIds slug ctx) pageNbr webLog.postsPerPage
conn with
| posts when List.length posts > 0 ->
- let! hash = preparePostList webLog posts CategoryList cat.slug pageNbr webLog.postsPerPage ctx conn
- let pgTitle = if pageNbr = 1 then "" else $""" (Page {pageNbr})"""
+ let! hash = preparePostList webLog posts CategoryList cat.slug pageNbr webLog.postsPerPage ctx conn
+ let pgTitle = if pageNbr = 1 then "" else $""" (Page {pageNbr})"""
hash.Add ("page_title", $"{cat.name}: Category Archive{pgTitle}")
hash.Add ("subtitle", defaultArg cat.description "")
hash.Add ("is_category", true)
@@ -139,6 +136,7 @@ let pageOfCategorizedPosts slugAndPage : HttpHandler = fun next ctx -> task {
hash.Add ("slug", slug)
return! themedView "index" next ctx hash
| _ -> return! Error.notFound next ctx
+ | None -> return! Error.notFound next ctx
| None, _, _ -> return! Error.notFound next ctx
}
diff --git a/src/MyWebLog/appsettings.json b/src/MyWebLog/appsettings.json
index 0be4f82..bcc5748 100644
--- a/src/MyWebLog/appsettings.json
+++ b/src/MyWebLog/appsettings.json
@@ -3,7 +3,7 @@
"hostname": "data02.bitbadger.solutions",
"database": "myWebLog_dev"
},
- "Generator": "myWebLog 2.0-alpha17",
+ "Generator": "myWebLog 2.0-alpha18",
"Logging": {
"LogLevel": {
"MyWebLog.Handlers": "Debug"