Skip to content

Commit

Permalink
Break out html snippets for exdoc
Browse files Browse the repository at this point in the history
  • Loading branch information
christhekeele committed Apr 25, 2024
1 parent 59f0385 commit 7902a0b
Show file tree
Hide file tree
Showing 6 changed files with 123 additions and 116 deletions.
6 changes: 5 additions & 1 deletion .formatter.exs
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Used by "mix format"
[
inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"]
inputs: [
"{mix,.formatter}.exs",
"{config,lib,test}/**/*.{ex,exs}",
"html/**/*.html.eex"
]
]
4 changes: 4 additions & 0 deletions html/body.html.eex
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- ExDoc body content modification -->
<script>
document.getElementById("modules-list-tab-button").innerHTML = "Supporting Code";
</script>
4 changes: 4 additions & 0 deletions html/footer.html.eex
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- ExDoc footer content modification -->
<script>
document.getElementsByTagName('footer')[0].children[0].remove();
</script>
60 changes: 60 additions & 0 deletions html/head.html.eex
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<!-- ExDoc head content modification -->
<script>
[title, tagline] = document.getElementsByTagName('title')[0].innerText.split(" — ");
[tagline, _version] = tagline.split(" v");
document.getElementsByTagName('title')[0].innerText = [title, tagline].join(" | ")
</script>

<!-- ExDoc style overrides -->
<style>
.sidebar .sidebar-projectImage img {
border-radius: 100%;
max-width: 64px;
max-height: 64px;
}

.sidebar .sidebar-projectVersion {
display: none;
}

.content-inner pre code {
font-family: Menlo, Courier, monospace !important;
}
</style>

<meta name="description" content="<%= @title %>: <%= @blurb %>" />

<!-- Icons and Favicons -->
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="shortcut icon" href="favicon.ico">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#6932a8">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#6932a8">

<!-- Facebook Meta Tags -->
<meta property="og:url" content="<%= @homepage_url %>">
<meta property="og:type" content="website">
<meta property="og:title" content="<%= @title %>">
<meta property="og:description" content="<%= @blurb %>">
<meta property="og:image" content="<%= @splash_image %>">

<!-- Twitter Meta Tags -->
<meta property="twitter:card" content="summary_large_image">
<meta property="twitter:domain" content="<%= @homepage_domain %>">
<meta property="twitter:url" content="<%= @homepage_url %>">
<meta property="twitter:title" content="<%= @title %>">
<meta property="twitter:description" content="<%= @blurb %>">
<meta property="twitter:image" content="<%= @splash_image %>">
9 changes: 8 additions & 1 deletion livebooks/surreal.livemd
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# Surreal Numbers in Elixir

```elixir
System.cmd("mix", ~w[hex.repo add christhekeele https://hex.chriskeele.com])
System.cmd(
"mix",
~w[hex.repo add christhekeele https://fly.storage.tigris.dev/christhekeele-hex-registry]
)

Mix.install(
[
Expand All @@ -25,6 +28,10 @@ How do surreal numbers work? Let's build up a little intuition by representing t

First, let's bring in some `Livebook.Helpers` that will let us iteratively build up a module to represent them.

> #### Note
>
> This syntax will render an error block
```elixir
use Livebook.Helpers
```
Expand Down
156 changes: 42 additions & 114 deletions mix.exs
Original file line number Diff line number Diff line change
@@ -1,16 +1,27 @@
defmodule Livebook.MixProject do
use Mix.Project

####
# Package stuff
##

@app :livebook
@name "Chris Keele's Livebooks"
@maintainers ["Chris Keele"]
@licenses ["MIT"]

@homepage_domain "livebooks.chriskeele.com"
@homepage_url "https://#{@homepage_domain}"
@github_url "https://github.com/christhekeele/livebooks"
@github_branch "latest"

@version "VERSION" |> File.read!() |> String.trim() |> Version.parse!()

####
# Site stuff
##

@homepage_domain "livebooks.chriskeele.com"
@homepage_url "https://#{@homepage_domain}"

@title @name
@blurb "Elixir experiments, guides, and accompanying source code"
@description "#{@blurb} for #{@homepage_url}."
Expand Down Expand Up @@ -38,10 +49,16 @@ defmodule Livebook.MixProject do
# Livebooks: ~r/^Livebooks\./
]

####
# Build stuff
##

@dev_envs [:dev, :test]
@doc_envs [:dev, :docs]

@version "VERSION" |> File.read!() |> String.trim() |> Version.parse!()
# Capture module attributes to render EEx templates later
@assigns Module.attributes_in(__MODULE__)
|> Enum.map(&{&1, Module.get_attribute(__MODULE__, &1)})

def project,
do: [
Expand Down Expand Up @@ -109,7 +126,10 @@ defmodule Livebook.MixProject do
###

# Build tasks
build: ["site.build", "hex.build"],
build: [
"site.build"
# "hex.build" # IDK not always available
],

# Build through ex_doc
"site.build": ["docs", "static"],
Expand Down Expand Up @@ -206,118 +226,26 @@ defmodule Livebook.MixProject do
],
groups_for_modules: @groups_for_modules,
groups_for_extras: @groups_for_extras,
before_closing_head_tag: fn _ ->
"""
<style>
.sidebar .sidebar-projectImage img {
border-radius: 100%;
max-width: 64px;
max-height: 64px;
}
.sidebar .sidebar-projectVersion {
display: none;
}
.content-inner pre code {
font-family: Menlo, Courier, monospace !important;
}
</style>
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="shortcut icon" href="favicon.ico">
<link rel="manifest" href="/manifest.json">
<meta name="msapplication-TileColor" content="#6932a8">
<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
<meta name="theme-color" content="#6932a8">
<meta name="description" content="#{@title}: #{@blurb}" />
<!-- Facebook Meta Tags -->
<meta
name="og:url"
property="og:url"
content="#{@homepage_url}"
/>
<meta
name="og:type"
property="og:type"
content="website"
/>
<meta
name="og:title"
property="og:title"
content="#{@title}"
/>
<meta
name="og:description"
property="og:description"
content="#{@blurb}"
/>
<meta
name="og:image"
property="og:image"
content="#{@splash_image}"
/>
<!-- Twitter Meta Tags -->
<meta
name="twitter:card"
property="twitter:card"
content="summary_large_image"
/>
<meta
name="twitter:domain"
property="twitter:domain"
content="#{@homepage_domain}"
/>
<meta
name="twitter:url"
property="twitter:url"
content="#{@homepage_url}"
/>
<meta
name="twitter:title"
property="twitter:title"
content="#{@title}"
/>
<meta
name="twitter:description"
property="twitter:description"
content="#{@blurb}"
/>
<meta
name="twitter:image"
property="twitter:image"
content="#{@splash_image}"
/>
"""
before_closing_head_tag: fn
:epub ->
""

:html ->
EEx.eval_file("html/head.html.eex", assigns: @assigns)
end,
before_closing_body_tag: fn _ ->
"""
<script>
document.getElementById("modules-list-tab-button").innerHTML = "Supporting Code";
</script>
"""
before_closing_body_tag: fn
:epub ->
""

:html ->
EEx.eval_file("html/body.html.eex", assigns: @assigns)
end,
before_closing_footer_tag: fn _ ->
"""
<script>
document.getElementsByTagName('footer')[0].children[0].remove();
</script>
"""
before_closing_footer_tag: fn
:epub ->
""

:html ->
EEx.eval_file("html/footer.html.eex", assigns: @assigns)
end
]

Expand Down

0 comments on commit 7902a0b

Please sign in to comment.