Packages
tableau
0.29.0
0.30.0
0.29.0
0.28.0
0.27.1
0.27.0
0.26.1
0.26.0
0.25.1
0.25.0
0.24.1
0.24.0
0.23.1
0.23.0
0.22.0
0.21.0
0.20.1
0.20.0
0.19.0
0.18.0
0.17.1
0.17.0
0.16.0
0.15.3
0.15.2
0.15.1
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.0
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.1
0.7.0
0.6.0
0.5.0
0.4.0
0.3.1
0.3.0
0.2.0
0.1.2
0.1.1
0.1.0
Static site generator for elixir
Current section
Files
Jump to
Current section
Files
lib/tableau.ex
defmodule Tableau do
@moduledoc """
## Global Site Configuration
* `:include_dir` - string - Directory that is just copied to the output directory. Defaults to `extra`.
* `:out_dir` - string - The directory to output your website to. Defaults to `_site`.
* `:timezone` - string - Timezone to use when parsing date times. Defaults to `Etc/UTC`.
* `:base_path` - string - Development server root. Defaults to '/'.
* `:url` - string (required) - The URL of your website.
* `:converters` - mapping of file extensions to converter module. Defaults to `[md: Tableau.MDExConverter]`
* `:markdown` - keyword
* `:mdex` - keyword - Options to pass to `MDEx.to_html/2`. See `MDEx` documentation for list of options, as options listed here are non-standard and specific to Tableau.
* `:plugins` - module list - MDEx plugin modules to attach to the processing pipeline
* `:slug` - keyword - Options to pass to `Slug.slugify/2`
### Example
```elixir
# config/config.exs
import Config
config :tableau, :config,
url: "http://localhost:8080",
timezone: "America/Indiana/Indianapolis",
converters: [
md: Tableau.MDExConverter,
dj: MySite.DjotConverter
],
slug: [
lowercase: false
],
markdown: [
mdex: [
extension: [
table: true,
header_ids: "",
tasklist: true,
strikethrough: true,
autolink: true,
alerts: true,
footnotes: true
],
render: [unsafe: true],
syntax_highlight: [formatter: {:html_inline, theme: "neovim_dark"}],
plugins: [MDExGFM]
]
]
```
"""
@doc """
Component to connect to the development server via websocket to broadcast that the page should reload.
By default, connects to `'ws://' + location.host + '/ws'`.
See `WebDevUtils.Components.live_reload/1` for configuration options.
"""
defdelegate live_reload(assigns), to: WebDevUtils.Components
@doc """
Convert markdown content to HTML using `MDEx.to_html!/2`.
Will use the globally configured options, but you can also pass it overrides.
"""
defdelegate markdown(content, overrides \\ []), to: Tableau.MDExConverter
end