From e1091356ff54caf84e6d5df453532a821fcb0598 Mon Sep 17 00:00:00 2001 From: Nick Date: Fri, 11 Apr 2025 17:06:38 -0500 Subject: [PATCH] feat: added feldwitz article skeleton --- .pre-commit-config.yaml | 2 +- .../Pages/Blog/Records/FeldwitzFuckery.elm | 33 +++++ frontend/src/Pages/Blog.elm | 4 +- frontend/src/Pages/Blog/Feldwitzfuckery.elm | 119 ++++++++++++++++++ 4 files changed, 156 insertions(+), 2 deletions(-) create mode 100755 frontend/src/Config/Pages/Blog/Records/FeldwitzFuckery.elm create mode 100755 frontend/src/Pages/Blog/Feldwitzfuckery.elm diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 35e4747..175f455 120000 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1 +1 @@ -/nix/store/si1f73qc72k63h6kqdb5yz230p0vlnm4-pre-commit-config.json \ No newline at end of file +/nix/store/szka9nhkbpqrp6fjyrwrdshk3qmc8sxz-pre-commit-config.json \ No newline at end of file diff --git a/frontend/src/Config/Pages/Blog/Records/FeldwitzFuckery.elm b/frontend/src/Config/Pages/Blog/Records/FeldwitzFuckery.elm new file mode 100755 index 0000000..5e29566 --- /dev/null +++ b/frontend/src/Config/Pages/Blog/Records/FeldwitzFuckery.elm @@ -0,0 +1,33 @@ +module Config.Pages.Blog.Records.FeldwitzFuckery exposing (..) + +import Config.Pages.Blog.Types exposing (BlogArticle) +import Route.Path as Path + + +articleFeldwitzFuckery : BlogArticle +articleFeldwitzFuckery = + { articleName = "" + , articleLink = Path.toString Path.Blog_Feldwitzfuckery + , articleAuthor = "Nick Hiebert" + , isNewTabLink = False + , hasReferences = True + , hasTableOfContents = True + , articleImage = "" + , articlePublished = "" + , articleBody = """ + + + +![][image1] +[image1]: /blog/feldwitzfuckery/image1.png + +Thank you for reading! If you like what you've read and want help me create more content like this, consider pledging your [Support](https://www.uprootnutrition.com/donate). Every little bit helps! I hope you found the content interesting!""" + , articleReferences = + [ { author = "" + , title = "" + , journal = "" + , year = "" + , link = "" + } + ] + } \ No newline at end of file diff --git a/frontend/src/Pages/Blog.elm b/frontend/src/Pages/Blog.elm index c9600e8..f949ede 100755 --- a/frontend/src/Pages/Blog.elm +++ b/frontend/src/Pages/Blog.elm @@ -32,6 +32,7 @@ import Config.Helpers.Response import Config.Helpers.Viewport exposing (resetViewport) import Config.Pages.Blog.Records.BigFatSurprise exposing (articleBigFatSurprise) import Config.Pages.Blog.Records.EverettVegans exposing (articleEverettVegans) +import Config.Pages.Blog.Records.FeldwitzFuckery exposing (articleFeldwitzFuckery) import Config.Pages.Blog.Records.HunterGatherers exposing (articleHunterGatherers) import Config.Pages.Blog.Records.MeatApologetics exposing (articleMeatApologetics) import Config.Pages.Blog.Records.NagraGoodrich exposing (articleNagraGoodrich) @@ -171,7 +172,8 @@ blogList device = (\article -> cardMaker device (C.BlogCard article) (contentList device article) ) - [ articleShenanigans + [ articleFeldwitzFuckery + , articleShenanigans , articleSweetDeception , articleEverettVegans , articleQuackSmashing diff --git a/frontend/src/Pages/Blog/Feldwitzfuckery.elm b/frontend/src/Pages/Blog/Feldwitzfuckery.elm new file mode 100755 index 0000000..1e50421 --- /dev/null +++ b/frontend/src/Pages/Blog/Feldwitzfuckery.elm @@ -0,0 +1,119 @@ +module Pages.Blog.Feldwitzfuckery exposing (..) + +import Config.Data.Identity exposing (pageNames) +import Config.Helpers.Articles.Article exposing (contentList) +import Config.Helpers.Cards.Outer.Helpers exposing (cardMaker) +import Config.Helpers.Cards.Outer.Types as C exposing (Cardable(..)) +import Config.Helpers.Headers.Types exposing (Header) +import Config.Helpers.Response + exposing + ( pageList + , topLevelContainer + ) +import Config.Helpers.Viewport exposing (resetViewport) +import Config.Pages.Blog.Records.FeldwitzFuckery exposing (articleFeldwitzFuckery) +import Effect exposing (Effect) +import Element as E + exposing + ( Device + , Element + , column + ) +import Layouts +import Page exposing (Page) +import Route exposing (Route) +import Shared exposing (Model) +import View exposing (View) + + +page : Shared.Model -> Route () -> Page Model Msg +page shared route = + Page.new + { init = init + , update = update + , subscriptions = subscriptions + , view = view shared + } + |> Page.withLayout toLayout + + +toLayout : Model -> Layouts.Layout Msg +toLayout model = + Layouts.Navbar {} + + + +-- INIT + + +type alias Model = + {} + + +init : () -> ( Model, Effect Msg ) +init () = + ( {} + , Effect.map + (\_ -> NoOp) + (Effect.sendCmd resetViewport) + ) + + + +-- UPDATE + + +type Msg + = NoOp + + +update : Msg -> Model -> ( Model, Effect Msg ) +update msg model = + case msg of + NoOp -> + ( model + , Effect.none + ) + + + +-- SUBSCRIPTIONS + + +subscriptions : Model -> Sub Msg +subscriptions model = + Sub.none + + + +-- VIEW + + +view : Shared.Model -> Model -> View Msg +view shared model = + { title = pageNames.pageHyperBlog ++ " (feldwitzFuckery)" + , attributes = [] + , element = articleContainer shared.device + } + + +articleContainer : Device -> Element msg +articleContainer device = + topLevelContainer (articleList device) + + +articleList : Device -> Element msg +articleList device = + column + (case ( device.class, device.orientation ) of + _ -> + pageList device + ) + <| + List.concat + [ List.map + (\article -> + cardMaker device (C.BlogArticle article) (contentList article []) + ) + [ articleFeldwitzFuckery ] + ]