Compare commits
9 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
164cc66a1e | ||
![]() |
d1440136f4 | ||
![]() |
86adaa86a2 | ||
![]() |
f1e0aa5ec0 | ||
![]() |
4f06d54e42 | ||
![]() |
508c457ffb | ||
![]() |
713d6d4486 | ||
![]() |
21b946568d | ||
![]() |
1713c9e01e |
7 changed files with 87 additions and 53 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -16,3 +16,5 @@ result-*
|
||||||
# ---> Project
|
# ---> Project
|
||||||
# Ignore compiled elm files
|
# Ignore compiled elm files
|
||||||
compiled
|
compiled
|
||||||
|
# Ignore hosting-specific files
|
||||||
|
/index.html
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
/nix/store/i4wcn83p1273vgv0nggpdbjqppq33aj7-pre-commit-config.json
|
/nix/store/j8cvalbr8zkxdw6s2pnf2zhymd2m42r1-pre-commit-config.json
|
15
README.md
15
README.md
|
@ -2,4 +2,19 @@
|
||||||
|
|
||||||
The all-new (very experimental) MacGregor House website
|
The all-new (very experimental) MacGregor House website
|
||||||
|
|
||||||
|
## Building
|
||||||
|
|
||||||
|
To build, run
|
||||||
|
|
||||||
|
`nix build .`
|
||||||
|
|
||||||
|
For live preview, run
|
||||||
|
|
||||||
|
`bash watch.sh` and
|
||||||
|
`nix run nixpkgs#live-server`
|
||||||
|
|
||||||
|
then navigate to the `src` directory.
|
||||||
|
|
||||||
|
## Models
|
||||||
|
|
||||||

|

|
||||||
|
|
18
flake.lock
generated
18
flake.lock
generated
|
@ -88,11 +88,11 @@
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739064336,
|
"lastModified": 1746928027,
|
||||||
"narHash": "sha256-LTZznyurm9WWchG3uPH+8Sf5hkzZyHoa9FvDW0cLk0M=",
|
"narHash": "sha256-kqJdF25vHpQTnagr6ixYr86ZJ953406byaJf48muhS8=",
|
||||||
"owner": "jeslie0",
|
"owner": "jeslie0",
|
||||||
"repo": "mkElmDerivation",
|
"repo": "mkElmDerivation",
|
||||||
"rev": "2d5f1acc6da7e6d5deeff5c9f47729a671ab8f9a",
|
"rev": "74f7e6eb1cd18995071980f5dccf867e2b620db4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -119,11 +119,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739446958,
|
"lastModified": 1746663147,
|
||||||
"narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=",
|
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2ff53fe64443980e139eaa286017f53f88336dd0",
|
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -194,11 +194,11 @@
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1737465171,
|
"lastModified": 1746537231,
|
||||||
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
"narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
"rev": "fa466640195d38ec97cf0493d6d6882bc4d14969",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -48,8 +48,10 @@
|
||||||
elm make src/Main.elm --output Main.js --optimize
|
elm make src/Main.elm --output Main.js --optimize
|
||||||
'';
|
'';
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir $out
|
mkdir -p $out/dist/elm
|
||||||
cp Main.js $out
|
cp Main.js $out/dist/elm
|
||||||
|
sed 's/..compiled\/Main.js/\/elm\/Main.js/' src/index.html > $out/dist/index.html
|
||||||
|
cp -r assets $out/dist/assets
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -70,7 +72,6 @@
|
||||||
nil.enable = true;
|
nil.enable = true;
|
||||||
statix.enable = true;
|
statix.enable = true;
|
||||||
markdownlint.enable = true;
|
markdownlint.enable = true;
|
||||||
mdsh.enable = true;
|
|
||||||
typos.enable = true;
|
typos.enable = true;
|
||||||
check-merge-conflicts.enable = true;
|
check-merge-conflicts.enable = true;
|
||||||
commitizen.enable = true;
|
commitizen.enable = true;
|
||||||
|
|
88
src/Main.elm
88
src/Main.elm
|
@ -82,6 +82,7 @@ type alias Model =
|
||||||
, h : Int
|
, h : Int
|
||||||
, last : String
|
, last : String
|
||||||
, url : Url.Url
|
, url : Url.Url
|
||||||
|
, path : String
|
||||||
, key : Nav.Key
|
, key : Nav.Key
|
||||||
, mesh : Maybe Object3d
|
, mesh : Maybe Object3d
|
||||||
, textures : Maybe (Material.Textured Obj.Decode.ObjCoordinates)
|
, textures : Maybe (Material.Textured Obj.Decode.ObjCoordinates)
|
||||||
|
@ -95,19 +96,20 @@ type alias Model =
|
||||||
|
|
||||||
|
|
||||||
type alias Flags =
|
type alias Flags =
|
||||||
( Int, Int )
|
( Int, Int, String )
|
||||||
|
|
||||||
|
|
||||||
init : Flags -> Url.Url -> Nav.Key -> ( Model, Cmd Msg )
|
init : Flags -> Url.Url -> Nav.Key -> ( Model, Cmd Msg )
|
||||||
init flags url key =
|
init flags url key =
|
||||||
let
|
let
|
||||||
( width, height ) =
|
( width, height, path ) =
|
||||||
flags
|
flags
|
||||||
in
|
in
|
||||||
( { w = width
|
( { w = width
|
||||||
, h = height
|
, h = height
|
||||||
, last = ""
|
, last = ""
|
||||||
, url = url
|
, url = url
|
||||||
|
, path = path
|
||||||
, key = key
|
, key = key
|
||||||
, mesh = Nothing
|
, mesh = Nothing
|
||||||
, textures = Nothing
|
, textures = Nothing
|
||||||
|
@ -395,7 +397,7 @@ bodyText =
|
||||||
[ Font.color white
|
[ Font.color white
|
||||||
, Font.family [ Font.typeface "Inter" ]
|
, Font.family [ Font.typeface "Inter" ]
|
||||||
, Font.size 20
|
, Font.size 20
|
||||||
, width (px 600)
|
, width (px 500)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -459,12 +461,12 @@ id =
|
||||||
Html.Attributes.id >> Element.htmlAttribute
|
Html.Attributes.id >> Element.htmlAttribute
|
||||||
|
|
||||||
|
|
||||||
getPaths : String -> List String
|
getPaths : String -> String -> List String
|
||||||
getPaths base =
|
getPaths path base =
|
||||||
let
|
let
|
||||||
root : String
|
root : String
|
||||||
root =
|
root =
|
||||||
"/" ++ base
|
path ++ base
|
||||||
in
|
in
|
||||||
List.map ((++) root) [ "", "/", "/index.html" ]
|
List.map ((++) root) [ "", "/", "/index.html" ]
|
||||||
|
|
||||||
|
@ -484,13 +486,18 @@ itemize multikeys entry =
|
||||||
[]
|
[]
|
||||||
|
|
||||||
|
|
||||||
sitemap : Dict String (Model -> List (Html Msg))
|
sitemap : Model -> Dict String (Model -> List (Html Msg))
|
||||||
sitemap =
|
sitemap model =
|
||||||
|
let
|
||||||
|
getter : String -> List String
|
||||||
|
getter =
|
||||||
|
getPaths model.path
|
||||||
|
in
|
||||||
Dict.fromList
|
Dict.fromList
|
||||||
(itemize ([ "/", "/index.html" ] ++ getPaths "src" ++ getPaths "index" ++ getPaths "home") pageHome
|
(itemize ([ "/", "/index.html", model.path ] ++ getter "src" ++ getter "index" ++ getter "home") pageHome
|
||||||
++ itemize (getPaths "entries") pageEntries
|
++ itemize (getter "entries") pageEntries
|
||||||
++ itemize (getPaths "about") pageAbout
|
++ itemize (getter "about") pageAbout
|
||||||
++ itemize (getPaths "colophon") colophon
|
++ itemize (getter "colophon") colophon
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -499,7 +506,7 @@ loadUrl model =
|
||||||
let
|
let
|
||||||
req : Maybe (Model -> List (Html Msg))
|
req : Maybe (Model -> List (Html Msg))
|
||||||
req =
|
req =
|
||||||
Dict.get model.url.path sitemap
|
Dict.get model.url.path (sitemap model)
|
||||||
in
|
in
|
||||||
case req of
|
case req of
|
||||||
Just builder ->
|
Just builder ->
|
||||||
|
@ -532,10 +539,13 @@ menu model =
|
||||||
, Font.family [ Font.typeface "Inter" ]
|
, Font.family [ Font.typeface "Inter" ]
|
||||||
, Font.size 18
|
, Font.size 18
|
||||||
]
|
]
|
||||||
(row [ spacing 20 ]
|
(column [ spacing 20 ]
|
||||||
[ inlineLinkInt "Entries" "/entries"
|
[ row [] [ inlineLink "accessibility.mit.edu" "https://accessibility.mit.edu" ]
|
||||||
, inlineLinkInt "Access" "/about"
|
, row [ spacing 20 ]
|
||||||
, inlineLinkInt "Colophon" "/colophon"
|
[ inlineLinkInt "Entries" (model.path ++ "entries")
|
||||||
|
, inlineLinkInt "Access" (model.path ++ "about")
|
||||||
|
, inlineLinkInt "Colophon" (model.path ++ "colophon")
|
||||||
|
]
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -782,7 +792,7 @@ pageAbout model =
|
||||||
, column [ spacing 15 ]
|
, column [ spacing 15 ]
|
||||||
[ row
|
[ row
|
||||||
[ spacing 15 ]
|
[ spacing 15 ]
|
||||||
[ linkBtnInt "← Back" "/"
|
[ linkBtnInt "← Back" model.path
|
||||||
, btn "Directions" (Scroll "one")
|
, btn "Directions" (Scroll "one")
|
||||||
]
|
]
|
||||||
, row [ spacing 15 ]
|
, row [ spacing 15 ]
|
||||||
|
@ -809,7 +819,7 @@ pageAbout model =
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "one" ])
|
(page model ++ [ id "one" ])
|
||||||
[ image (fullImage model)
|
[ image (fullImage model)
|
||||||
{ src = "../assets/img/map.png"
|
{ src = model.path ++ "../assets/img/map.png"
|
||||||
, description = "mit campus map with pin at macgregor house"
|
, description = "mit campus map with pin at macgregor house"
|
||||||
}
|
}
|
||||||
, column (pageText model)
|
, column (pageText model)
|
||||||
|
@ -878,7 +888,9 @@ pageAbout model =
|
||||||
, paragraph bodyText
|
, paragraph bodyText
|
||||||
[ text "If you're experiencing issues viewing or interacting with parts of this website, please do not hesitate to "
|
[ text "If you're experiencing issues viewing or interacting with parts of this website, please do not hesitate to "
|
||||||
, inlineLink "contact the webmaster" "mailto:ananthv@mit.edu"
|
, inlineLink "contact the webmaster" "mailto:ananthv@mit.edu"
|
||||||
, text " at any time. We strive to make the story of MacGregor widely accessible to the general public, and we value your input and community support in achieving that goal."
|
, text " at any time. We strive to make the story of MacGregor widely accessible to the general public, and we value your input and community support in achieving that goal. Please also see "
|
||||||
|
, inlineLink "accessibility.mit.edu" "https://accessibility.mit.edu/"
|
||||||
|
, text " for more options and public accessibility forms."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -940,7 +952,7 @@ pageEntries model =
|
||||||
[ entryLink "A entry" "A"
|
[ entryLink "A entry" "A"
|
||||||
, text ", "
|
, text ", "
|
||||||
, entryLink "Bentry" "B"
|
, entryLink "Bentry" "B"
|
||||||
, text " (Office of the President), "
|
, text ", "
|
||||||
, entryLink "Centry" "C"
|
, entryLink "Centry" "C"
|
||||||
, text " (the C is silent), "
|
, text " (the C is silent), "
|
||||||
, entryLink "Dentry" "D"
|
, entryLink "Dentry" "D"
|
||||||
|
@ -960,7 +972,7 @@ pageEntries model =
|
||||||
[ row
|
[ row
|
||||||
[ spacing 15
|
[ spacing 15
|
||||||
]
|
]
|
||||||
[ linkBtnInt "← Back" "/"
|
[ linkBtnInt "← Back" model.path
|
||||||
, btn "Explore ↓" (ScrollToEntry "J")
|
, btn "Explore ↓" (ScrollToEntry "J")
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -998,7 +1010,7 @@ pageEntries model =
|
||||||
, image [ width (px 80), padding 12 ] { description = "flag of j entry", src = "../assets/img/jentry.png" }
|
, image [ width (px 80), padding 12 ] { description = "flag of j entry", src = "../assets/img/jentry.png" }
|
||||||
]
|
]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "(J Entry) The heart of MacGregor. Historic culture, big lore. Jentry memes. Greatest MacGregor Housecomm representation of any entry. Jamily is forever."
|
[ text "(J Entry) The heart of MacGregor. Historic culture, big lore. Jentry memes. J is for Jamily. We're an eclectic community, filled with everyone from introverts to extroverts, crazy vibes, chill vibes, and everything in between."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1031,7 +1043,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to A Entry." ]
|
[ text "Welcome to A Entry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "Top floor. Top dog. Lots of dogs, in fact. Historic MacGregor cultural epicenter."
|
[ text "Top floor. Top dog. Alpha wolf. Unity and strength. Positive, above average."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1064,7 +1076,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to Bentry." ]
|
[ text "Welcome to Bentry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "(B Entry) Office of the President. Sweeping views. Crossroads of the High Rise. B is for burgers?"
|
[ text "(B Entry) Bentry is loud and fun and very social. We like to hang out with each other and check in, catch up, and go out. We banter a lot too but we are always there for each other. We’re a family for sure."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1097,7 +1109,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to Centry." ]
|
[ text "Welcome to Centry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "(C Entry) Ceriously quiet. High enough to see the clouds, but low enough to stay grounded. MacGregor's creative capital core."
|
[ text "(C Entry) Chill. Calmer. Sloths."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1120,7 +1132,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "D", Background.color (rgb255 240 140 40) ])
|
(page model ++ [ id "D", Background.color (rgb255 40 140 240) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "C")
|
[ btn "↑" (ScrollToEntry "C")
|
||||||
|
@ -1130,7 +1142,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to Dentry." ]
|
[ text "Welcome to Dentry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "(D Entry) Office of the Vice President. Active after dark. Diligently working until dusk. The culture is palpable."
|
[ text "(D Entry) D is for doing. Whether we stay in or go out (mostly go out), we have fun! D is also for degenerate. We are up the latest of all entries."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1153,7 +1165,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "E", Background.color (rgb255 40 20 30) ])
|
(page model ++ [ id "E", Background.color (rgb255 221 162 126) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "D")
|
[ btn "↑" (ScrollToEntry "D")
|
||||||
|
@ -1163,7 +1175,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to E entry." ]
|
[ text "Welcome to E entry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "Board games over Briggs field. Excellence in everything. End of story."
|
[ text "We're a really cozy and friendly entry! We love having baking/cooking nights, watching movies, playing games, and just hanging out to chat. We also go out for dinners occasionally!"
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1186,7 +1198,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "F", Background.color (rgb255 200 50 75) ])
|
(page model ++ [ id "F", Background.color (rgb255 200 125 150) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "E")
|
[ btn "↑" (ScrollToEntry "E")
|
||||||
|
@ -1196,7 +1208,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to the Fentry." ]
|
[ text "Welcome to the Fentry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "(F entry) F is for Food. F is for Feast. F is for First (low rise block). F is Forever."
|
[ text "(F entry) Typical nights for us look like playing poker, watching a movie, or just chilling and doing homework."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1219,7 +1231,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "G", Background.color (rgb255 200 50 150) ])
|
(page model ++ [ id "G", Background.color (rgb255 250 150 50) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "F")
|
[ btn "↑" (ScrollToEntry "F")
|
||||||
|
@ -1229,7 +1241,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to the Gentry." ]
|
[ text "Welcome to the Gentry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "(G entry) G is for Greatness. Spans the Charles. Overlooks Fenway. Good things start in Gentry."
|
[ text "(G entry) Chill but welcoming. The G in Gentry stands for Goofy, Gamers, and Good Times."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1252,7 +1264,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "H", Background.color (rgb255 200 150 50) ])
|
(page model ++ [ id "H", Background.color (rgb255 50 175 50) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "G")
|
[ btn "↑" (ScrollToEntry "G")
|
||||||
|
@ -1262,7 +1274,7 @@ pageEntries model =
|
||||||
subheading
|
subheading
|
||||||
[ text "Welcome to the Hentry." ]
|
[ text "Welcome to the Hentry." ]
|
||||||
, paragraph (bodyText ++ [ Font.size 32 ])
|
, paragraph (bodyText ++ [ Font.size 32 ])
|
||||||
[ text "(H entry) Lots of chickens. Crossroads of the Low Rise. Largest entry in MacGregor."
|
[ text "(H entry) Where the walls are hexagonal (not really), the vibes are chaotic-good, and the only thing more structured than our beehive of activity is our legendary group chats."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1341,7 +1353,7 @@ notFound model =
|
||||||
[ text "You were likely redirected here by a link to a page on the old website, the last known archive of which can be found "
|
[ text "You were likely redirected here by a link to a page on the old website, the last known archive of which can be found "
|
||||||
, inlineLink "here" "https://web.archive.org/web/20170529064230/http://macgregor.mit.edu/"
|
, inlineLink "here" "https://web.archive.org/web/20170529064230/http://macgregor.mit.edu/"
|
||||||
, text ". Unless you want to conduct research on ancient MIT traditions, you can probably find what you're looking for on the new "
|
, text ". Unless you want to conduct research on ancient MIT traditions, you can probably find what you're looking for on the new "
|
||||||
, inlineLinkInt "main page" "/src"
|
, inlineLinkInt "main page" (model.path ++ "/src")
|
||||||
, text ". If you believe this page really is missing, "
|
, text ". If you believe this page really is missing, "
|
||||||
, inlineLink "contact the webmaster" "mailto:ananthv@mit.edu"
|
, inlineLink "contact the webmaster" "mailto:ananthv@mit.edu"
|
||||||
, text "."
|
, text "."
|
||||||
|
@ -1415,7 +1427,7 @@ colophon model =
|
||||||
]
|
]
|
||||||
[ text "Colophon."
|
[ text "Colophon."
|
||||||
, row [ spacing 15 ]
|
, row [ spacing 15 ]
|
||||||
[ linkBtnInt "← Back" "/"
|
[ linkBtnInt "← Back" model.path
|
||||||
, linkBtn "Source" "https://forgejo.mit.edu/ananthv/macgregor"
|
, linkBtn "Source" "https://forgejo.mit.edu/ananthv/macgregor"
|
||||||
, btn "Literature" (Scroll "one")
|
, btn "Literature" (Scroll "one")
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html>
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<title>MacGregor House</title>
|
<title>MacGregor House</title>
|
||||||
|
@ -16,7 +16,11 @@
|
||||||
<script>
|
<script>
|
||||||
var app = Elm.Main.init({
|
var app = Elm.Main.init({
|
||||||
node: document.getElementById("app"),
|
node: document.getElementById("app"),
|
||||||
flags: [window.innerWidth, window.innerHeight],
|
flags: [
|
||||||
|
window.innerWidth,
|
||||||
|
window.innerHeight,
|
||||||
|
window.location.pathname,
|
||||||
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
app.ports.copyToClipboard.subscribe((tuple) => {
|
app.ports.copyToClipboard.subscribe((tuple) => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue