Handle the base in the Path
module
#230
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This fixes #217.
I was playing around with the code to see if I could fix that issue. The solution I ended up with is actually close to what Dillon and I discussed on slack regarding how the base is handled.
With this PR that the
Path.elm
is generated to allow inlining thebaseUrl
at compile-time and makePath.toAbsolute
(which prepends thebaseUrl
) synchronous. I left thebaseUrl
inRoute.elm
, because of theRoute.urlToRoute
function that uses it.This change cleared up my mental model of how to use paths: Just store everything as a
Path
(via e.g.Path.fromString
orRoute.toPath
) and when I need to have the URL as aString
to paste into e.g. asrc
attribute, I callPath.toString
on it. ThereforePath
s can be anything that is located on my site.I've marked this as a draft, because I'm not sure if this solution is what you, Dillon, had in mind. Also there are some things left to do, like the
<head>
tags not having the base prepended and the tests have to be updated.