feat: added gibberish

This commit is contained in:
Nick 2024-11-30 21:15:49 -06:00
parent 16cc054355
commit f73dab4579
64 changed files with 427 additions and 77 deletions

View file

@ -0,0 +1,41 @@
module Debate.Gibberish.Domains.Epistemology exposing (..)
import Debate.Gibberish.Types exposing (..)
epistemologyGibberish : Domain
epistemologyGibberish =
{ gibberishDomainName = "Epistemology"
, gibberishTerms =
[ { term = "abductive arguments"
, explanation = ""
}
, { term = "content internalism"
, explanation = ""
}
, { term = "direct reference"
, explanation = ""
}
, { term = "externalist epistemology"
, explanation = ""
}
, { term = "inductive arguments"
, explanation = ""
}
, { term = "non-entailing explanations"
, explanation = ""
}
, { term = "non-inferential justification"
, explanation = ""
}
, { term = "phenomenal conservatism"
, explanation = ""
}
, { term = "synthetic a priori"
, explanation = ""
}
, { term = "ultimate grounding"
, explanation = ""
}
]
}

View file

@ -0,0 +1,35 @@
module Debate.Gibberish.Domains.Metaphysics exposing (..)
import Debate.Gibberish.Types exposing (..)
metaphysicsGibberish : Domain
metaphysicsGibberish =
{ gibberishDomainName = "Metaphysics"
, gibberishTerms =
[ { term = "correspondence theory of truth"
, explanation = ""
}
, { term = "libertarian free will"
, explanation = ""
}
, { term = "metaphysical essence"
, explanation = ""
}
, { term = "metaphysical modality"
, explanation = ""
}
, { term = "non-physical mental entities"
, explanation = ""
}
, { term = "ontological modality"
, explanation = ""
}
, { term = "subjective idealism"
, explanation = ""
}
, { term = "warrant"
, explanation = ""
}
]
}

View file

@ -0,0 +1,23 @@
module Debate.Gibberish.Domains.Normativity exposing (..)
import Debate.Gibberish.Types exposing (..)
normativityGibberish : Domain
normativityGibberish =
{ gibberishDomainName = "Normativity"
, gibberishTerms =
[ { term = "externalist value"
, explanation = ""
}
, { term = "irreducible normativity"
, explanation = ""
}
, { term = "moral particles"
, explanation = ""
}
, { term = "stance-independent normativity"
, explanation = ""
}
]
}

View file

@ -0,0 +1,23 @@
module Debate.Gibberish.Domains.Ontology exposing (..)
import Debate.Gibberish.Types exposing (..)
ontologyGibberish : Domain
ontologyGibberish =
{ gibberishDomainName = "Normativity"
, gibberishTerms =
[ { term = "externalist value"
, explanation = ""
}
, { term = "irreducible normativity"
, explanation = ""
}
, { term = "moral particles"
, explanation = ""
}
, { term = "stance-independent normativity"
, explanation = ""
}
]
}

View file

@ -0,0 +1,14 @@
module Debate.Gibberish.Domains.PhilOfLanguage exposing (..)
import Debate.Gibberish.Types exposing (..)
philOfLanguageGibberish : Domain
philOfLanguageGibberish =
{ gibberishDomainName = "Philosophy of Language"
, gibberishTerms =
[ { term = "semantic primitive"
, explanation = ""
}
]
}

View file

@ -0,0 +1,26 @@
module Debate.Gibberish.Domains.PhilOfMind exposing (..)
import Debate.Gibberish.Types exposing (..)
philOfMindGibberish : Domain
philOfMindGibberish =
{ gibberishDomainName = "Philosophy of Mind"
, gibberishTerms =
[ { term = "epiphenomenalism"
, explanation = ""
}
, { term = "mind-heart connection"
, explanation = ""
}
, { term = "parallelism"
, explanation = ""
}
, { term = "pre-established harmony"
, explanation = ""
}
, { term = "private language"
, explanation = ""
}
]
}

View file

@ -0,0 +1,29 @@
module Debate.Gibberish.Domains.Theology exposing (..)
import Debate.Gibberish.Types exposing (..)
theologyGibberish : Domain
theologyGibberish =
{ gibberishDomainName = "Theology"
, gibberishTerms =
[ { term = "divine simplicity"
, explanation = ""
}
, { term = "equal ultimacy"
, explanation = ""
}
, { term = "fine tuning"
, explanation = ""
}
, { term = "theism"
, explanation = ""
}
, { term = "transcendental oneness"
, explanation = ""
}
, { term = "transcendental realism"
, explanation = ""
}
]
}

View file

@ -0,0 +1,149 @@
module Debate.Gibberish.Helpers exposing (..)
import Config.CardFormat exposing (..)
import Config.Colour as T exposing (..)
import Config.Format as O exposing (..)
import Config.StrengthBar exposing (..)
import Config.ToolTip exposing (..)
import Debate.Gibberish.Domains.Epistemology exposing (..)
import Debate.Gibberish.Domains.Metaphysics exposing (..)
import Debate.Gibberish.Domains.Normativity exposing (..)
import Debate.Gibberish.Domains.Ontology exposing (..)
import Debate.Gibberish.Domains.PhilOfLanguage exposing (..)
import Debate.Gibberish.Domains.PhilOfMind exposing (..)
import Debate.Gibberish.Domains.Theology exposing (..)
import Debate.Gibberish.Types exposing (..)
import Debate.Types exposing (..)
import Effect exposing (Effect)
import Element as E exposing (..)
import Element.Background as B exposing (..)
import Element.Border as D exposing (..)
import Element.Events as V exposing (..)
import Element.Font as F exposing (..)
import Html exposing (div, hr)
import Html.Attributes as H exposing (style, title, wrap)
import Json.Decode exposing (field)
import Layouts
import Page exposing (Page)
import Route exposing (Route)
import Shared
import View exposing (View)
gibberishMaker : Gibberish -> Element msg
gibberishMaker gibberish =
row
topLevelBox
[ cardImageMaker (gibberishImage gibberish)
, cardMaker
[ cardTitleMaker (gibberishTitle gibberish)
, cardFormatter
[ cardContentSpacing
[ column
fieldSpacer
[ domainList gibberish ]
]
]
]
]
gibberishImage : Gibberish -> { src : String, description : String }
gibberishImage gibberish =
{ src = "gibberish/" ++ gibberish.gibberishImage ++ ".png"
, description = gibberish.gibberishTitle
}
gibberishTitle : Gibberish -> String
gibberishTitle gibberish =
gibberish.gibberishTitle
domainList : Gibberish -> Element msg
domainList gibberish =
column
[ spacing 8
, E.width fill
]
<|
List.map2 (\x y -> makeDomain x)
gibberish.gibberishDomain
(List.range 1 (List.length gibberish.gibberishDomain))
makeDomain : Domain -> Element msg
makeDomain domain =
column
(paragraphAlignLeft
++ [ spacing 8
, E.width fill
]
)
[ column
(paragraphBoldFormat
++ [ F.size 18
, alignTop
, E.alignLeft
, F.alignLeft
, F.color colourTheme.textLightOrange
]
)
[ text domain.gibberishDomainName ]
, column
[ spacing 8
, E.width fill
]
<|
List.map2 (\x y -> makeTerms x)
domain.gibberishTerms
(List.range 1 (List.length domain.gibberishTerms))
]
makeTerms : Terms -> Element msg
makeTerms terms =
column
(paragraphAlignLeft
++ [ spacing 8
, E.width fill
]
)
[ paragraph
[ F.color colourTheme.textLightGrey
, F.regular
, F.size 16
]
[ text ("\"" ++ terms.term ++ "\"") ]
, paragraph
[ F.color colourTheme.textLightGrey
, F.regular
, F.size 16
]
[ paragraph
[ paddingEach
{ top = 0
, bottom = 0
, left = 35
, right = 0
}
]
[ text terms.explanation ]
]
]
gibberishList : Gibberish
gibberishList =
{ gibberishTitle = "Philosobabble"
, gibberishImage = "gibberish"
, gibberishDomain =
[ epistemologyGibberish
, theologyGibberish
, metaphysicsGibberish
, normativityGibberish
, ontologyGibberish
, philOfMindGibberish
, philOfLanguageGibberish
]
}

View file

@ -0,0 +1,22 @@
module Debate.Gibberish.Types exposing (..)
-- GIBBERISH
type alias Gibberish =
{ gibberishTitle : String
, gibberishImage : String
, gibberishDomain : List Domain
}
type alias Domain =
{ gibberishTerms : List Terms
, gibberishDomainName : String
}
type alias Terms =
{ term : String
, explanation : String
}

View file

@ -246,7 +246,7 @@ tableMaker : Argument -> Element msg
tableMaker argument =
column
[ centerX
, E.width fill
, E.width fill
]
([ wrappedRow
(paragraphBoldFormat
@ -465,6 +465,7 @@ proofTreeMaker argument =
]
basicDivider : Element msg
basicDivider =
el
[ E.width fill

View file

@ -32,25 +32,4 @@ type alias PremiseWithNotation =
type alias Definition =
{ definiendum : String
, definiens : String
}
-- GIBBERISH
type alias GibberishEntry =
{ gibberishEntry : List GibDomain
}
type alias GibDomain =
{ gibberishTerms : List GibTerms
, gibberishDomain : String
}
type alias GibTerms =
{ term : String
, explanation : String
}
}