Hey! This sounds excellent! Note that I hit an error following the instructions in the readme. Using a Mac, recent elixir/erlang, I do “mix deps.get”, then “mix dev” and it ends like this:
Generated surface_catalogue app
** (ArgumentError) unknown application: :lotus
(elixir 1.12.3) lib/application.ex:893: Application.app_dir/1
(surface 0.5.0) lib/mix/tasks/compile/surface.ex:139: Mix.Tasks.Compile.Surface.app_modules/1
(surface 0.5.0) lib/mix/tasks/compile/surface.ex:59: anonymous fn/2 in Mix.Tasks.Compile.Surface.get_colocated_assets/0
(elixir 1.12.3) lib/enum.ex:2385: Enum."-reduce/3-lists^foldl/2-0-"/3
(surface 0.5.0) lib/mix/tasks/compile/surface.ex:16: Mix.Tasks.Compile.Surface.run/1
(mix 1.12.3) lib/mix/task.ex:394: anonymous fn/3 in Mix.Task.run_task/3
(mix 1.12.3) lib/mix/tasks/compile.all.ex:92: Mix.Tasks.Compile.All.run_compiler/2
(mix 1.12.3) lib/mix/tasks/compile.all.ex:72: Mix.Tasks.Compile.All.compile/4
However, notwithstanding that, this sounds really interesting. I think surface potentially makes for the ultimate “wiki” language. I’ve been chasing various ideas for static websites for many years, and it’s always a problem to use wiki shortcuts as you inevitably get boxed in when you want to wrap more complex UI components. The surface approach is great for hiding all the implementation details within the fewest XML alike enclosing blocks.
How do you rate UIKit vs Bulma/Bootstrap for this use case though? There seems like a reasonable amount of overlap? I’m not familiar with UIKit, what is it’s advantage?






















