feat: v1 close

This commit is contained in:
Nick 2024-12-22 04:36:03 -06:00
parent f9af0e1941
commit d55f729540
40 changed files with 561 additions and 496 deletions

View file

@ -2,10 +2,10 @@ module Config.Helpers.Articles.Article exposing (..)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Types exposing (References)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Markdown exposing (..)
import Config.Helpers.Response

View file

@ -1,10 +1,10 @@
module Config.Helpers.Cardables.Helpers exposing (..)
module Config.Helpers.Cards.Helpers exposing (..)
import Config.Data.Identity
exposing
( pageNames
)
import Config.Helpers.Cardables.Types as C exposing (..)
import Config.Helpers.Cards.Types as C exposing (..)
import Config.Helpers.Converters exposing (formatName)
import Config.Helpers.Format
exposing
@ -12,6 +12,7 @@ import Config.Helpers.Format
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Response exposing (contentContainer)
import Config.Pages.Debate.Arguments.Records.Template exposing (argument)
import Config.Style.Colour exposing (colourTheme)
import Config.Style.Glow
@ -38,6 +39,45 @@ import Shared
cardMaker : Device -> Cardable msg -> List (Element msg) -> Element msg
cardMaker device cardable contents =
let
hasLink : Bool
hasLink =
case cardable of
C.Contact _ ->
False
C.Cuck c ->
True
C.BlogArticle _ ->
False
C.BlogCard _ ->
True
C.Argument _ ->
True
C.Gibberish _ ->
True
C.Service _ ->
True
C.Debate _ ->
True
C.Donate _ ->
True
C.Interview _ ->
False
C.NutriDex _ ->
False
C.ServicePage _ ->
False
cardTitleMaker : String -> Element msg
cardTitleMaker title =
el
@ -109,36 +149,40 @@ cardMaker device cardable contents =
cardInner : String -> List (Element msg) -> Element msg
cardInner title elements =
column
[ width fill ]
[ width fill
]
[ cardTitleMaker title
, cardStuff <|
row
[ width fill ]
[ width fill
, height fill
]
elements
]
cardOuter : Element msg -> Element msg
cardOuter elements =
contentContainer <|
el
[ width (fill |> minimum 100)
, width (fill |> maximum 875)
, padding 10
, centerX
]
<|
el
[ E.width fill
([ E.width fill
, D.width 5
, D.color colourTheme.backgroundDarkGrey
, D.rounded 32
, glowDeepDarkGrey
, mouseOver
]
++ (if hasLink then
[ mouseOver
[ D.color colourTheme.textDarkOrange
, B.color colourTheme.textDarkOrange
, glowDeepDarkOrange
]
, transitionStyleSlow
]
else
[]
)
)
elements
cardWithImageWithLink : Bool -> String -> String -> String -> List (Element msg) -> Element msg
@ -193,19 +237,21 @@ cardMaker device cardable contents =
in
case cardable of
C.Contact contact ->
el [] <| cardTitleMaker contact.contactName
cardWithNoImage
(String.toUpper contact.contactName)
contents
C.Cuck cuck ->
cardWithImageWithLink
cuck.isNewTabLink
cuck.cuckName
("/cucks/" ++ cuck.cuckImage ++ ".png")
("/cucks/" ++ cuck.cuckImage ++ "/" ++ cuck.cuckImage ++ ".png")
cuck.cuckSocial
contents
C.BlogArticle blogArticle ->
cardWithNoImage
blogArticle.articleName
(String.toUpper blogArticle.articleName)
contents
C.BlogCard blogArticle ->
@ -217,10 +263,9 @@ cardMaker device cardable contents =
contents
C.Argument argument ->
cardWithImageWithLink
cardWithNoImageWithLink
argument.isNewTabLink
argument.argumentTitle
("/arguments/" ++ argument.argumentImage ++ ".png")
argument.proofLink
contents
@ -264,7 +309,12 @@ cardMaker device cardable contents =
C.NutriDex nutriDex ->
cardWithNoImage
nutriDex.nutriDexTitle
(String.toUpper nutriDex.nutriDexTitle)
contents
C.ServicePage service ->
cardWithNoImage
(String.toUpper service.serviceName)
contents
@ -280,8 +330,7 @@ cardContentMaker content =
cardStuff : Element msg -> Element msg
cardStuff content =
el
[ E.height fill
, E.width fill
[ E.width fill
, centerX
, B.color colourTheme.backgroundDarkGrey
, padding 10
@ -303,5 +352,6 @@ cardStuff content =
}
, spacing 8
, width fill
, height fill
]
content

View file

@ -1,4 +1,4 @@
module Config.Helpers.Cardables.Types exposing (..)
module Config.Helpers.Cards.Types exposing (..)
import Config.Pages.Blog.Types exposing (BlogArticle)
import Config.Pages.Contact.Types exposing (Contact)
@ -24,3 +24,4 @@ type Cardable msg
| Donate Donate
| Interview Interview
| NutriDex NutriDex
| ServicePage (Service msg)

View file

@ -47,7 +47,6 @@ divider =
el
[ width fill
, height fill
, spacing 20
, centerX
, width (fill |> maximum 600)
, D.widthEach
@ -58,7 +57,7 @@ divider =
}
, D.color colourTheme.textLightOrange
, paddingEach
{ top = 20
{ top = 10
, bottom = 0
, left = 0
, right = 0

View file

@ -1,37 +0,0 @@
module Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Pages.Contact.Types exposing (Contact)
import Element as E
exposing
( Device
, Element
, column
, row
, text
)
import Shared exposing (..)
-- headerMaker : Device -> Header -> Element msg
-- headerMaker device header =
-- cardMaker device header.headerTitle (contentList header) { description = "", src = "" } ""
contentList : Header -> List (Element msg)
contentList header =
[ text header.headerBody ]
servicesHeader : Header
servicesHeader =
let
name =
"Services"
in
{ headerTitle = String.toUpper name
, headerBody = "Bundle any of the services below to receive a $10 discount per hour. For example, two Debate Analysis sessions would cost $140 total, instead of $80/hr. All prices are in CAD."
}

View file

@ -0,0 +1,152 @@
module Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Converters exposing (formatName)
import Config.Helpers.Format
exposing
( divider
, headerFontSizeBig
, headerFontSizeMedium
, headerFontSizeSmall
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Types as C exposing (..)
import Config.Helpers.Response exposing (contentContainer)
import Config.Style.Colour exposing (colourTheme)
import Config.Style.Glow
exposing
( glowDeepDarkGrey
, glowDeepDarkOrange
)
import Config.Style.Icons.Icons exposing (construction)
import Config.Style.Transitions
exposing
( hoverCircleButtonDarkOrange
, transitionStyleMedium
, transitionStyleSlow
)
import Element as E exposing (..)
import Element.Background as B
import Element.Border as D
import Element.Font as F
import Html.Attributes as H
import Route.Path as Path exposing (..)
import Shared exposing (..)
headerMaker : Headerable -> Element msg
headerMaker headerable =
let
headerTitleMaker : String -> Element msg
headerTitleMaker title =
el
[ headerFontSizeBig
, F.bold
, width fill
, F.center
]
<|
paragraph [] [ text title ]
headerHelper : String -> String -> Element msg
headerHelper title body =
el
[ width (fill |> minimum 100)
, width (fill |> maximum 725)
, padding 10
, centerX
]
<|
column
[ width fill
]
[ headerTitleMaker title
, divider
, el
[ E.height fill
, E.width fill
, centerX
, spacing 8
, paddingEach
{ top = 10
, bottom = 0
, left = 0
, right = 0
}
]
<|
el
[ paddingEach
{ top = 0
, bottom = 0
, left = 15
, right = 15
}
, spacing 8
, width fill
]
<|
paragraph
[ width fill
, headerFontSizeSmall
, F.center
]
<|
[ text body ]
]
in
case headerable of
C.Arguments argument ->
headerHelper argument.headerTitle argument.headerBody
C.BlogPage blog ->
headerHelper blog.headerTitle blog.headerBody
C.CuckList cuck ->
headerHelper cuck.headerTitle cuck.headerBody
C.Debate debate ->
headerHelper debate.headerTitle debate.headerBody
C.Donate donate ->
headerHelper donate.headerTitle donate.headerBody
C.Gibberish gibberish ->
headerHelper gibberish.headerTitle gibberish.headerBody
C.Services service ->
headerHelper service.headerTitle service.headerBody
C.Interviews interview ->
headerHelper interview.headerTitle interview.headerBody
cardContentMaker : List (Element msg) -> Element msg
cardContentMaker content =
column
[ spacing 8
, width fill
]
content
cardStuff : Element msg -> Element msg
cardStuff content =
el
[ E.height fill
, E.width fill
, centerX
, spacing 8
]
<|
el
[ paddingEach
{ top = 0
, bottom = 0
, left = 15
, right = 15
}
, spacing 8
, width fill
]
content

View file

@ -0,0 +1,91 @@
module Config.Helpers.Headers.Records exposing (..)
import Config.Helpers.Headers.Types exposing (..)
argumentHeader : Header
argumentHeader =
let
name =
"Arguments"
in
{ headerTitle = String.toUpper name
, headerBody = "This page features arguments that I hold to be sound. I'm open to hearing all challenges, as I am ready to engage with and defend any argument listed."
}
blogHeader : Header
blogHeader =
let
name =
"Blog"
in
{ headerTitle = String.toUpper name
, headerBody = "This page features blog articles written by me, along with contributions from guest authors, covering topics primarily related to nutrition science, health science, and article."
}
cuckListHeader : Header
cuckListHeader =
let
name =
"Cucklist"
in
{ headerTitle = String.toUpper name
, headerBody = "This page features a list of morons who wrote cheques with their mouths that their asses couldn't cash. Each person included in this list has dodged debating me."
}
debateHeader : Header
debateHeader =
let
name =
"Debate"
in
{ headerTitle = String.toUpper name
, headerBody = "Here you will find links to various pages relevant to debate, such as formal arguments, a list of debate-dodging cucks, and an inventory of nonsensical terminology."
}
donateHeader : Header
donateHeader =
let
name =
"Donate"
in
{ headerTitle = String.toUpper name
, headerBody = "My site, research, and content all cost time and money to run. If you find my contributions valuable, please consider supporting my work on any of the platforms listed below!"
}
gibberishHeader : Header
gibberishHeader =
let
name =
"Gibberish"
in
{ headerTitle = String.toUpper name
, headerBody = "This page is specifically for terms and ostensible concepts that I think are either nonsensical or so practically useless that its intelligiblity is irrelevant."
}
servicesHeader : Header
servicesHeader =
let
name =
"Services"
in
{ headerTitle = String.toUpper name
, headerBody = "Bundle any of the services below to receive a $10 discount per hour. For example, two Debate Analysis sessions would cost $140 total, instead of $80/hr. All prices are in CAD."
}
interviewHeader : Header
interviewHeader =
let
name =
"Interviews"
in
{ headerTitle = String.toUpper name
, headerBody = "This page showcases various podcasts and shows I've been on. If youd like to have me as a guest on your podcast, feel free to reach outId love to share my perspectives with your audience!"
}

View file

@ -1,6 +1,17 @@
module Config.Helpers.Headers.Types exposing (..)
type Headerable
= Arguments Header
| BlogPage Header
| CuckList Header
| Debate Header
| Donate Header
| Gibberish Header
| Services Header
| Interviews Header
type alias Header =
{ headerTitle : String
, headerBody : String

View file

@ -38,3 +38,13 @@ pageListFormat =
, height fill
, scrollbarY
]
contentContainer : Element msg -> Element msg
contentContainer =
el
[ width (fill |> minimum 100)
, width (fill |> maximum 875)
, padding 10
, centerX
]

View file

@ -1,12 +1,8 @@
module Config.Pages.Contact.Types exposing (..)
type alias Contact =
{ contactName : String
, contactImage : String
, contactLink : String
, isNewTabLink : Bool
, contactLinkLabel : String
, contactEntry : List Method
}
@ -15,3 +11,7 @@ type alias Method =
}
contactTitle : Contact
contactTitle =
{ contactName = "Contact"
}

View file

@ -392,8 +392,7 @@ items input =
]
in
column
[ scrollbarY
, height fill
[ height fill
, width fill
]
<|

View file

@ -2,8 +2,8 @@ module Pages.Blog exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (extractFirstWords)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Converters
exposing
( formatName
@ -15,8 +15,9 @@ import Config.Helpers.Format
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (blogHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Markdown
exposing
( renderDeviceMarkdown
@ -141,12 +142,8 @@ blogList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.BlogPage blogHeader) ]
, List.map
(\article ->
cardMaker device (C.BlogCard article) (contentList article)
)
@ -165,17 +162,6 @@ blogList device =
]
blogHeader : Header
blogHeader =
let
name =
"Blog"
in
{ headerTitle = String.toUpper name
, headerBody = "This page features blog articles written by me, along with contributions from guest authors, covering topics primarily related to nutrition science, health science, and article."
}
contentList : BlogArticle -> List (Element msg)
contentList article =
[ articleMaker article ]

View file

@ -2,8 +2,8 @@ module Pages.Blog.Bigfatsurprise exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Everettvegans exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Huntergatherers exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Meatapologetics exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Nagragoodrich exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Plantbasedmeta exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Quacksmashing exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Sapiendiet exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Seedoils exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Shenanigans exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Blog.Sweetdeception exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (contentList)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -1,10 +1,10 @@
module Pages.Contact exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing
@ -124,16 +124,11 @@ contactList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ List.map
(\contact ->
cardMaker device (C.Contact contact) (contentList contact)
)
[]
[contactTitle]
]

View file

@ -11,8 +11,8 @@ import Config.Data.Identity
exposing
( pageNames
)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Converters exposing (formatName)
import Config.Helpers.Format
exposing
@ -20,8 +20,9 @@ import Config.Helpers.Format
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (debateHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Response
exposing
( pageList
@ -142,12 +143,8 @@ debateList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.Debate debateHeader) ]
, List.map
(\debate ->
cardMaker device (C.Debate debate) (contentList debate)
)
@ -158,40 +155,17 @@ debateList device =
]
debateHeader : Header
debateHeader =
let
name =
"Debate"
in
{ headerTitle = String.toUpper name
, headerBody = "Here you will find links to various pages relevant to debate, such as formal arguments, a list of debate-dodging cucks, and an inventory of nonsensical terminology."
}
contentList : Debate -> List (Element msg)
contentList debate =
[ descriptionMaker debate ]
debateImage :
Debate
->
{ src : String
, description : String
}
debateImage debate =
{ src = "debate/" ++ debate.debateImage ++ ".png"
, description = debate.debateTitle
}
descriptionMaker : Debate -> Element msg
descriptionMaker debate =
column
[ E.width fill
, centerX
, spacing 3
column [ alignTop ]
[ column
[ spacing 3
, alignTop
]
[ row [ spacing 5 ]
[ paragraph
@ -217,7 +191,7 @@ descriptionMaker debate =
|> el
[ F.color colourTheme.textLightGrey
, F.regular
, F.size 16
, paragraphFontSize
]
]
, el [ width fill ] <|
@ -225,6 +199,7 @@ descriptionMaker debate =
[ text debate.debateDescription
]
]
]
debateArguments : Debate

View file

@ -1,16 +1,17 @@
module Pages.Debate.Arguments exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Converters exposing (toTitleCase)
import Config.Helpers.Format
exposing
( paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (argumentHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Response
exposing
( pageList
@ -137,12 +138,8 @@ debateList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.Arguments argumentHeader) ]
, List.map
(\argument ->
cardMaker device (C.Argument argument) (contentList argument)
)
@ -150,17 +147,6 @@ debateList device =
]
argumentHeader : Header
argumentHeader =
let
name =
"Arguments"
in
{ headerTitle = String.toUpper name
, headerBody = "This page features arguments that I hold to be sound. I'm open to hearing all challenges, as I am ready to engage with and defend any argument listed."
}
contentList : Argument -> List (Element msg)
contentList argument =
[ summaryMakerDesktop argument
@ -170,33 +156,10 @@ contentList argument =
]
argumentImage : Argument -> { src : String, description : String }
argumentImage argument =
{ src = "/arguments/" ++ argument.argumentImage ++ ".png"
, description = argument.argumentTitle
}
infoSpacing =
E.width <| px 100
propositionMakerDesktop : Argument -> Element msg
propositionMakerDesktop argument =
row []
[ propositionMaker
, propositionTitleMaker argument
]
propositionMakerMobile : Argument -> Element msg
propositionMakerMobile argument =
column []
[ propositionMaker
, propositionTitleMaker argument
]
propositionMaker : Element msg
propositionMaker =
column
@ -471,24 +434,27 @@ getConfidenceTooltip num =
tableMaker : Argument -> Element msg
tableMaker argument =
let
cellPadding : Attribute msg
cellPadding =
paddingXY 10 5
in
column
[ centerX
, E.width fill
]
[ wrappedRow
([ F.color colourTheme.textLightGrey
[ el
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, paragraphFontSize
, F.bold
]
++ [ E.alignLeft
, E.alignLeft
, E.width fill
, htmlAttribute <| H.style "position" "relative"
]
)
[ E.table
[ spacing 0
, D.rounded 10
<|
E.table
[ D.rounded 10
, D.width 2
, D.color colourTheme.textDarkGrey
, clip
@ -505,15 +471,16 @@ tableMaker argument =
, right = 1
}
, D.color colourTheme.textDarkGrey
, padding 8
, cellPadding
, E.width fill
]
(text "Definiendum")
|> el [ F.color colourTheme.textLightOrange ]
, width = fill |> maximum 50
<|
el [ F.color colourTheme.textLightOrange ] <|
text "Definiendum"
, width = fill |> maximum 30
, view =
\definition ->
row
el
[ F.color colourTheme.textLightOrange
, F.bold
, D.widthEach
@ -523,13 +490,12 @@ tableMaker argument =
, right = 1
}
, D.color colourTheme.textDarkGrey
, padding 8
, cellPadding
, E.height fill
]
[ row [ centerX ]
[ paragraph [] [ text definition.definiendum ]
]
]
<|
el [ centerX ] <|
paragraph [] [ text definition.definiendum ]
}
, { header =
el
@ -541,15 +507,18 @@ tableMaker argument =
, right = 1
}
, D.color colourTheme.textDarkGrey
, padding 8
, cellPadding
, E.width fill
]
(text "Definiens")
|> el [ F.color colourTheme.textLightOrange ]
<|
el
[ F.color colourTheme.textLightOrange ]
<|
text "Definiens"
, width = fill
, view =
\definition ->
paragraph
el
[ F.color colourTheme.textLightGrey
, F.regular
, D.widthEach
@ -559,18 +528,16 @@ tableMaker argument =
, right = 1
}
, D.color colourTheme.textDarkGrey
, padding 8
, cellPadding
, E.height fill
]
[ row []
[ paragraph [] [ text definition.definiens ]
]
]
<|
el [] <|
paragraph [] [ text definition.definiens ]
}
]
}
]
]
argumentDesktopPadding : Attribute msg
@ -578,21 +545,11 @@ argumentDesktopPadding =
paddingXY 40 3
argumentMobilePadding : Attribute msg
argumentMobilePadding =
paddingXY 0 3
desktopFormalizationMaker : Argument -> Element msg
desktopFormalizationMaker argument =
formalizationMaker argument argumentDesktopPadding
mobileFormalizationMaker : Argument -> Element msg
mobileFormalizationMaker argument =
formalizationMaker argument argumentMobilePadding
formalizationMaker : Argument -> Attribute msg -> Element msg
formalizationMaker argument padding =
column
@ -603,16 +560,14 @@ formalizationMaker argument padding =
(List.indexedMap
(\index argumentEntry ->
column
([ F.color colourTheme.textLightGrey
[ F.color colourTheme.textLightGrey
, paragraphSpacing
, paragraphFontSize
]
++ [ spacing 3
, spacing 3
, centerX
, E.width fill
, padding
]
)
(List.indexedMap
(\entryIndex entryWithNotation ->
column

View file

@ -1,8 +1,8 @@
module Pages.Debate.Cucklist exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Converters exposing (formatSocial)
import Config.Helpers.Format
exposing
@ -10,8 +10,9 @@ import Config.Helpers.Format
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (cuckListHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Response
exposing
( pageList
@ -130,12 +131,8 @@ cucksList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.CuckList cuckListHeader) ]
, List.map
(\cuck ->
cardMaker device (C.Cuck cuck) (contentList cuck)
)
@ -143,17 +140,6 @@ cucksList device =
]
cuckListHeader : Header
cuckListHeader =
let
name =
"Cucklist"
in
{ headerTitle = String.toUpper name
, headerBody = "This page features a list of morons who wrote cheques with their mouths that their asses couldn't cash. Each person included in this list has dodged debating me."
}
contentList : Cuck -> List (Element msg)
contentList cuck =
[ socialMaker cuck
@ -162,18 +148,6 @@ contentList cuck =
]
cuckImage :
Cuck
->
{ src : String
, description : String
}
cuckImage cuck =
{ src = "/cucks/" ++ cuck.cuckImage ++ "/" ++ cuck.cuckImage ++ ".png"
, description = cuck.cuckName
}
dodgeMaker : Cuck -> Element msg
dodgeMaker cuck =
column

View file

@ -1,16 +1,17 @@
module Pages.Debate.Gibberish exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Converters exposing (toTitleCase)
import Config.Helpers.Format
exposing
( paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (gibberishHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Response
exposing
( pageList
@ -135,12 +136,8 @@ gibberishList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.Gibberish gibberishHeader) ]
, List.map
(\gibberish ->
cardMaker device (C.Gibberish gibberish) (contentList gibberish)
)
@ -155,17 +152,6 @@ gibberishList device =
]
gibberishHeader : Header
gibberishHeader =
let
name =
"Gibberish"
in
{ headerTitle = String.toUpper name
, headerBody = "This page is specifically for terms and ostensible concepts that I think are either nonsensical or so practically useless that its intelligiblity is irrelevant."
}
contentList : Gibberish -> List (Element msg)
contentList gibberish =
[ descriptionMaker gibberish

View file

@ -1,16 +1,17 @@
module Pages.Donate exposing (Model, Msg, page)
import Config.Data.Identity as I exposing (..)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format
exposing
( headerFontSizeSmall
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (donateHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Response
exposing
( pageList
@ -132,12 +133,8 @@ donateList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.Donate donateHeader) ]
, List.map
(\donate ->
cardMaker device (C.Donate donate) (contentList device donate)
)
@ -152,17 +149,6 @@ donateList device =
]
donateHeader : Header
donateHeader =
let
name =
"Donate"
in
{ headerTitle = String.toUpper name
, headerBody = "My site, research, and content all cost time and money to run. If you find my contributions valuable, please consider supporting my work on any of the platforms listed below!"
}
contentList : Device -> Donate -> List (Element msg)
contentList device donate =
[ feeMaker donate
@ -175,18 +161,6 @@ contentList device donate =
]
donateImage :
Donate
->
{ src : String
, description : String
}
donateImage donate =
{ src = "donate/" ++ donate.donateImage ++ ".png"
, description = donate.donateName
}
donateWidth =
width <| px 45
@ -486,7 +460,7 @@ createColumn { label, getter } =
{ bottom = 1
, top = 1
, left = 1
, right = 1
, right = 0
}
, D.color colourTheme.textDarkGrey
, padding 8
@ -505,7 +479,7 @@ createColumn { label, getter } =
{ bottom = 1
, top = 0
, left = 1
, right = 1
, right = 0
}
, D.color colourTheme.textDarkGrey
, padding 8

View file

@ -6,7 +6,6 @@ import Config.Helpers.Format
( paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -1,8 +1,8 @@
module Pages.Interviews exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Converters exposing (formatSocial)
import Config.Helpers.Format
exposing
@ -10,8 +10,9 @@ import Config.Helpers.Format
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (interviewHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Response
exposing
( pageList
@ -139,12 +140,8 @@ interviewList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.Interviews interviewHeader) ]
, List.map
(\interview ->
cardMaker device (C.Interview interview) (contentList interview)
)
@ -161,17 +158,6 @@ interviewList device =
]
interviewHeader : Header
interviewHeader =
let
name =
"Interviews"
in
{ headerTitle = String.toUpper name
, headerBody = "This page showcases various podcasts and shows I've been on. If youd like to have me as a guest on your podcast, feel free to reach outId love to share my perspectives with your audience!"
}
contentList : Interview -> List (Element msg)
contentList interview =
[ appearanceTitle interview
@ -179,13 +165,6 @@ contentList interview =
]
interviewImage : Interview -> { src : String, description : String }
interviewImage interview =
{ src = "interviews/" ++ interview.interviewImage ++ ".png"
, description = interview.interviewImage
}
socialMaker : Interview -> Element msg
socialMaker interview =
paragraph

View file

@ -1,9 +1,9 @@
module Pages.NotFound_ exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -3,15 +3,15 @@ module Pages.Nutridex exposing (Model, Msg, page)
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Articles.Article exposing (makeReference)
import Config.Helpers.Articles.Types exposing (References)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format
exposing
( divider
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing

View file

@ -2,8 +2,8 @@ module Pages.Services exposing (Model, Msg, page)
import Browser
import Config.Data.Identity exposing (pageNames)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format
exposing
( headerFontSizeMedium
@ -11,8 +11,9 @@ import Config.Helpers.Format
, paragraphFontSize
, paragraphSpacing
)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Records exposing (servicesHeader)
import Config.Helpers.Headers.Types as R exposing (..)
import Config.Helpers.Response
exposing
( pageList
@ -125,12 +126,9 @@ servicesList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ [ headerMaker (R.Services servicesHeader)
]
, List.map
(\service ->
cardMaker device (C.Service service) (contentList service)
)
@ -151,13 +149,6 @@ contentList service =
]
serviceImage : Service msg -> { src : String, description : String }
serviceImage service =
{ src = "services/" ++ service.serviceImage ++ ".png"
, description = service.serviceName
}
serviceWidth =
width <| px 45

View file

@ -1,7 +1,7 @@
module Pages.Services.Analysis exposing (Model, Msg, page)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C exposing (..)
import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response exposing (pageList, topLevelContainer)
@ -113,16 +113,11 @@ analysisList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ List.map
(\service ->
cardMaker device (C.Service service) contentList
cardMaker device (C.ServicePage service) contentList
)
[]
[ servicesDebateAnalysis ]
]

View file

@ -1,9 +1,9 @@
module Pages.Services.Coaching exposing (Model, Msg, page)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing
@ -118,16 +118,11 @@ coachingList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ List.map
(\service ->
cardMaker device (C.Service service) contentList
cardMaker device (C.ServicePage service) contentList
)
[]
[ servicesDebateCoaching ]
]

View file

@ -1,9 +1,9 @@
module Pages.Services.Elm exposing (Model, Msg, page)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing
@ -118,16 +118,11 @@ elmBuildsList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ List.map
(\service ->
cardMaker device (C.Service service) contentList
cardMaker device (C.ServicePage service) contentList
)
[]
[ servicesElmBuilds ]
]

View file

@ -1,9 +1,9 @@
module Pages.Services.Nix exposing (Model, Msg, page)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing
@ -118,16 +118,11 @@ elmBuildsList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ List.map
(\service ->
cardMaker device (C.Service service) contentList
cardMaker device (C.ServicePage service) contentList
)
[]
[ servicesNixBuilds ]
]

View file

@ -1,9 +1,9 @@
module Pages.Services.Nutrition exposing (Model, Msg, page)
import Config.Helpers.Cardables.Helpers exposing (cardMaker)
import Config.Helpers.Cardables.Types as C
import Config.Helpers.Cards.Helpers exposing (cardMaker)
import Config.Helpers.Cards.Types as C
import Config.Helpers.Format exposing (..)
import Config.Helpers.Headers.Header exposing (..)
import Config.Helpers.Headers.Helpers exposing (..)
import Config.Helpers.Headers.Types exposing (Header)
import Config.Helpers.Response
exposing
@ -118,16 +118,11 @@ nutritionList device =
)
<|
List.concat
[ -- List.map (headerMaker device)
-- [
-- servicesHeader
-- ]
-- ,
List.map
[ List.map
(\service ->
cardMaker device (C.Service service) contentList
cardMaker device (C.ServicePage service) contentList
)
[]
[ servicesNutritionScience ]
]

View file

@ -1,5 +1,5 @@
* {
scrollbar-width: thin;
scrollbar-width: thick;
scrollbar-color: rgb(120, 60, 0) rgb(20, 20, 20);
}