• Operand
  • ya, coo. so?

gram: op

> ./lib/op_web/live/gram/base.html.heex

Lenses
(coming soon!)


<div class="preamble" id="gram-base">
  <%= [
  """
  # gram: `#{@base |> Path.basename}`


  > Clone using:

  ```
  mkdir ~/src; cd ~/src
  wget -O - 'https://share.operand.online/gram/#{@base}/?download=tar_gz' | tar -xzv
  cd ./#{@base}; git checkout main
  ```
  """,

  Source.measure(@base, "README.md"),
  ] |> Enum.join("\n\n- - -\n\n") |> Render.embed |> raw %>
</div>

<div class="banner">
  <div class="column">
    <h2>Logged Changes:</h2>

    <div class="banner">
      <span class="mermaid">
gitGraph BT:
<%= Source.changes(@base) |> Enum.reverse
        |> Enum.map(fn [ hash, day, clock, zone, labels, message] ->
          [ "  commit id: \"#{hash}\""
            | (labels |> Enum.map(& "tag: \"#{&1}\"" ))
          ] |> Enum.join(" ")
        end) |> Enum.join("\n") %>
      </span>

      <div class="column" style="margin-top: 10px;">
        <%= for [ hash, day, clock, zone, labels, message
        ] <- Source.changes(@base) do %>
          <!-- <.link patch={"/gram/#{@base |> Path.basename}/#{node}"}> -->
          <!-- </.link> -->

          <div class="gram-change">
            <div class="banner text-info">
              <span><%= day %></span>
              <span><%= clock %> </span>
              # <%= hash %>
            </div>
            <%= message %>
          </div>
        <% end %>
      </div>
    </div>
  </div>

  <div class="column mx-16">
    <h2>Code Pages:</h2>
    <%= if @address do %>
      <blockquote>Searching based on: <code><%= @address %></code></blockquote>
      <.link patch={"/gram/#{@base}"}>clear?</.link>
    <% end %>

    <ul> <%= for %Source.Node{base: base, address: node} <- Source.nodes(@base, @address) do %>
      <li>
        <.link patch={"/gram/#{@base |> Path.basename}/#{node}"}><%= node %></.link>
      </li>
    <% end %> </ul>
  </div>
</div>