Compare commits
No commits in common. "main" and "1.0.0" have entirely different histories.
7 changed files with 53 additions and 87 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -16,5 +16,3 @@ result-*
|
||||||
# ---> Project
|
# ---> Project
|
||||||
# Ignore compiled elm files
|
# Ignore compiled elm files
|
||||||
compiled
|
compiled
|
||||||
# Ignore hosting-specific files
|
|
||||||
/index.html
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
/nix/store/j8cvalbr8zkxdw6s2pnf2zhymd2m42r1-pre-commit-config.json
|
/nix/store/i4wcn83p1273vgv0nggpdbjqppq33aj7-pre-commit-config.json
|
15
README.md
15
README.md
|
@ -2,19 +2,4 @@
|
||||||
|
|
||||||
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": 1746928027,
|
"lastModified": 1739064336,
|
||||||
"narHash": "sha256-kqJdF25vHpQTnagr6ixYr86ZJ953406byaJf48muhS8=",
|
"narHash": "sha256-LTZznyurm9WWchG3uPH+8Sf5hkzZyHoa9FvDW0cLk0M=",
|
||||||
"owner": "jeslie0",
|
"owner": "jeslie0",
|
||||||
"repo": "mkElmDerivation",
|
"repo": "mkElmDerivation",
|
||||||
"rev": "74f7e6eb1cd18995071980f5dccf867e2b620db4",
|
"rev": "2d5f1acc6da7e6d5deeff5c9f47729a671ab8f9a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -119,11 +119,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746663147,
|
"lastModified": 1739446958,
|
||||||
"narHash": "sha256-Ua0drDHawlzNqJnclTJGf87dBmaO/tn7iZ+TCkTRpRc=",
|
"narHash": "sha256-+/bYK3DbPxMIvSL4zArkMX0LQvS7rzBKXnDXLfKyRVc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "dda3dcd3fe03e991015e9a74b22d35950f264a54",
|
"rev": "2ff53fe64443980e139eaa286017f53f88336dd0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -194,11 +194,11 @@
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1746537231,
|
"lastModified": 1737465171,
|
||||||
"narHash": "sha256-Wb2xeSyOsCoTCTj7LOoD6cdKLEROyFAArnYoS+noCWo=",
|
"narHash": "sha256-R10v2hoJRLq8jcL4syVFag7nIGE7m13qO48wRIukWNg=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "fa466640195d38ec97cf0493d6d6882bc4d14969",
|
"rev": "9364dc02281ce2d37a1f55b6e51f7c0f65a75f17",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -48,10 +48,8 @@
|
||||||
elm make src/Main.elm --output Main.js --optimize
|
elm make src/Main.elm --output Main.js --optimize
|
||||||
'';
|
'';
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/dist/elm
|
mkdir $out
|
||||||
cp Main.js $out/dist/elm
|
cp Main.js $out
|
||||||
sed 's/..compiled\/Main.js/\/elm\/Main.js/' src/index.html > $out/dist/index.html
|
|
||||||
cp -r assets $out/dist/assets
|
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -72,6 +70,7 @@
|
||||||
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,7 +82,6 @@ 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)
|
||||||
|
@ -96,20 +95,19 @@ type alias Model =
|
||||||
|
|
||||||
|
|
||||||
type alias Flags =
|
type alias Flags =
|
||||||
( Int, Int, String )
|
( Int, Int )
|
||||||
|
|
||||||
|
|
||||||
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, path ) =
|
( width, height ) =
|
||||||
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
|
||||||
|
@ -397,7 +395,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 500)
|
, width (px 600)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -461,12 +459,12 @@ id =
|
||||||
Html.Attributes.id >> Element.htmlAttribute
|
Html.Attributes.id >> Element.htmlAttribute
|
||||||
|
|
||||||
|
|
||||||
getPaths : String -> String -> List String
|
getPaths : String -> List String
|
||||||
getPaths path base =
|
getPaths base =
|
||||||
let
|
let
|
||||||
root : String
|
root : String
|
||||||
root =
|
root =
|
||||||
path ++ base
|
"/" ++ base
|
||||||
in
|
in
|
||||||
List.map ((++) root) [ "", "/", "/index.html" ]
|
List.map ((++) root) [ "", "/", "/index.html" ]
|
||||||
|
|
||||||
|
@ -486,18 +484,13 @@ itemize multikeys entry =
|
||||||
[]
|
[]
|
||||||
|
|
||||||
|
|
||||||
sitemap : Model -> Dict String (Model -> List (Html Msg))
|
sitemap : Dict String (Model -> List (Html Msg))
|
||||||
sitemap model =
|
sitemap =
|
||||||
let
|
|
||||||
getter : String -> List String
|
|
||||||
getter =
|
|
||||||
getPaths model.path
|
|
||||||
in
|
|
||||||
Dict.fromList
|
Dict.fromList
|
||||||
(itemize ([ "/", "/index.html", model.path ] ++ getter "src" ++ getter "index" ++ getter "home") pageHome
|
(itemize ([ "/", "/index.html" ] ++ getPaths "src" ++ getPaths "index" ++ getPaths "home") pageHome
|
||||||
++ itemize (getter "entries") pageEntries
|
++ itemize (getPaths "entries") pageEntries
|
||||||
++ itemize (getter "about") pageAbout
|
++ itemize (getPaths "about") pageAbout
|
||||||
++ itemize (getter "colophon") colophon
|
++ itemize (getPaths "colophon") colophon
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@ -506,7 +499,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 model)
|
Dict.get model.url.path sitemap
|
||||||
in
|
in
|
||||||
case req of
|
case req of
|
||||||
Just builder ->
|
Just builder ->
|
||||||
|
@ -539,13 +532,10 @@ menu model =
|
||||||
, Font.family [ Font.typeface "Inter" ]
|
, Font.family [ Font.typeface "Inter" ]
|
||||||
, Font.size 18
|
, Font.size 18
|
||||||
]
|
]
|
||||||
(column [ spacing 20 ]
|
(row [ spacing 20 ]
|
||||||
[ row [] [ inlineLink "accessibility.mit.edu" "https://accessibility.mit.edu" ]
|
[ inlineLinkInt "Entries" "/entries"
|
||||||
, row [ spacing 20 ]
|
, inlineLinkInt "Access" "/about"
|
||||||
[ inlineLinkInt "Entries" (model.path ++ "entries")
|
, inlineLinkInt "Colophon" "/colophon"
|
||||||
, inlineLinkInt "Access" (model.path ++ "about")
|
|
||||||
, inlineLinkInt "Colophon" (model.path ++ "colophon")
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -792,7 +782,7 @@ pageAbout model =
|
||||||
, column [ spacing 15 ]
|
, column [ spacing 15 ]
|
||||||
[ row
|
[ row
|
||||||
[ spacing 15 ]
|
[ spacing 15 ]
|
||||||
[ linkBtnInt "← Back" model.path
|
[ linkBtnInt "← Back" "/"
|
||||||
, btn "Directions" (Scroll "one")
|
, btn "Directions" (Scroll "one")
|
||||||
]
|
]
|
||||||
, row [ spacing 15 ]
|
, row [ spacing 15 ]
|
||||||
|
@ -819,7 +809,7 @@ pageAbout model =
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "one" ])
|
(page model ++ [ id "one" ])
|
||||||
[ image (fullImage model)
|
[ image (fullImage model)
|
||||||
{ src = model.path ++ "../assets/img/map.png"
|
{ src = "../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)
|
||||||
|
@ -888,9 +878,7 @@ 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. Please also see "
|
, 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."
|
||||||
, inlineLink "accessibility.mit.edu" "https://accessibility.mit.edu/"
|
|
||||||
, text " for more options and public accessibility forms."
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -952,7 +940,7 @@ pageEntries model =
|
||||||
[ entryLink "A entry" "A"
|
[ entryLink "A entry" "A"
|
||||||
, text ", "
|
, text ", "
|
||||||
, entryLink "Bentry" "B"
|
, entryLink "Bentry" "B"
|
||||||
, text ", "
|
, text " (Office of the President), "
|
||||||
, entryLink "Centry" "C"
|
, entryLink "Centry" "C"
|
||||||
, text " (the C is silent), "
|
, text " (the C is silent), "
|
||||||
, entryLink "Dentry" "D"
|
, entryLink "Dentry" "D"
|
||||||
|
@ -972,7 +960,7 @@ pageEntries model =
|
||||||
[ row
|
[ row
|
||||||
[ spacing 15
|
[ spacing 15
|
||||||
]
|
]
|
||||||
[ linkBtnInt "← Back" model.path
|
[ linkBtnInt "← Back" "/"
|
||||||
, btn "Explore ↓" (ScrollToEntry "J")
|
, btn "Explore ↓" (ScrollToEntry "J")
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
@ -1010,7 +998,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. J is for Jamily. We're an eclectic community, filled with everyone from introverts to extroverts, crazy vibes, chill vibes, and everything in between."
|
[ text "(J Entry) The heart of MacGregor. Historic culture, big lore. Jentry memes. Greatest MacGregor Housecomm representation of any entry. Jamily is forever."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1043,7 +1031,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. Alpha wolf. Unity and strength. Positive, above average."
|
[ text "Top floor. Top dog. Lots of dogs, in fact. Historic MacGregor cultural epicenter."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1076,7 +1064,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) 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."
|
[ text "(B Entry) Office of the President. Sweeping views. Crossroads of the High Rise. B is for burgers?"
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1109,7 +1097,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) Chill. Calmer. Sloths."
|
[ text "(C Entry) Ceriously quiet. High enough to see the clouds, but low enough to stay grounded. MacGregor's creative capital core."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1132,7 +1120,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "D", Background.color (rgb255 40 140 240) ])
|
(page model ++ [ id "D", Background.color (rgb255 240 140 40) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "C")
|
[ btn "↑" (ScrollToEntry "C")
|
||||||
|
@ -1142,7 +1130,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) 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."
|
[ text "(D Entry) Office of the Vice President. Active after dark. Diligently working until dusk. The culture is palpable."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1165,7 +1153,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "E", Background.color (rgb255 221 162 126) ])
|
(page model ++ [ id "E", Background.color (rgb255 40 20 30) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "D")
|
[ btn "↑" (ScrollToEntry "D")
|
||||||
|
@ -1175,7 +1163,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 "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!"
|
[ text "Board games over Briggs field. Excellence in everything. End of story."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1198,7 +1186,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "F", Background.color (rgb255 200 125 150) ])
|
(page model ++ [ id "F", Background.color (rgb255 200 50 75) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "E")
|
[ btn "↑" (ScrollToEntry "E")
|
||||||
|
@ -1208,7 +1196,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) Typical nights for us look like playing poker, watching a movie, or just chilling and doing homework."
|
[ text "(F entry) F is for Food. F is for Feast. F is for First (low rise block). F is Forever."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1231,7 +1219,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "G", Background.color (rgb255 250 150 50) ])
|
(page model ++ [ id "G", Background.color (rgb255 200 50 150) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "F")
|
[ btn "↑" (ScrollToEntry "F")
|
||||||
|
@ -1241,7 +1229,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) Chill but welcoming. The G in Gentry stands for Goofy, Gamers, and Good Times."
|
[ text "(G entry) G is for Greatness. Spans the Charles. Overlooks Fenway. Good things start in Gentry."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1264,7 +1252,7 @@ pageEntries model =
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
, column
|
, column
|
||||||
(page model ++ [ id "H", Background.color (rgb255 50 175 50) ])
|
(page model ++ [ id "H", Background.color (rgb255 200 150 50) ])
|
||||||
[ column (pageText model)
|
[ column (pageText model)
|
||||||
[ row [ spacing 10 ]
|
[ row [ spacing 10 ]
|
||||||
[ btn "↑" (ScrollToEntry "G")
|
[ btn "↑" (ScrollToEntry "G")
|
||||||
|
@ -1274,7 +1262,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) 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."
|
[ text "(H entry) Lots of chickens. Crossroads of the Low Rise. Largest entry in MacGregor."
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
, el
|
, el
|
||||||
|
@ -1353,7 +1341,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" (model.path ++ "/src")
|
, inlineLinkInt "main page" "/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 "."
|
||||||
|
@ -1427,7 +1415,7 @@ colophon model =
|
||||||
]
|
]
|
||||||
[ text "Colophon."
|
[ text "Colophon."
|
||||||
, row [ spacing 15 ]
|
, row [ spacing 15 ]
|
||||||
[ linkBtnInt "← Back" model.path
|
[ linkBtnInt "← Back" "/"
|
||||||
, 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 lang="en">
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<title>MacGregor House</title>
|
<title>MacGregor House</title>
|
||||||
|
@ -16,11 +16,7 @@
|
||||||
<script>
|
<script>
|
||||||
var app = Elm.Main.init({
|
var app = Elm.Main.init({
|
||||||
node: document.getElementById("app"),
|
node: document.getElementById("app"),
|
||||||
flags: [
|
flags: [window.innerWidth, window.innerHeight],
|
||||||
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