diff --git a/src/routes/main.cr b/src/routes/main.cr index 429b3b6..6f28032 100644 --- a/src/routes/main.cr +++ b/src/routes/main.cr @@ -4,7 +4,7 @@ class MainRouter < Router def initialize get "/login" do |env| base_url = Config.current.base_url - render "src/views/login.ecr" + render "src/views/login.html.ecr" end get "/logout" do |env| diff --git a/src/routes/opds.cr b/src/routes/opds.cr index 648bcac..567931e 100644 --- a/src/routes/opds.cr +++ b/src/routes/opds.cr @@ -4,13 +4,13 @@ class OPDSRouter < Router def initialize get "/opds" do |env| titles = @context.library.titles - render_xml "src/views/opds/index.ecr" + render_xml "src/views/opds/index.xml.ecr" end get "/opds/book/:title_id" do |env| begin title = @context.library.get_title(env.params.url["title_id"]).not_nil! - render_xml "src/views/opds/title.ecr" + render_xml "src/views/opds/title.xml.ecr" rescue e @context.error e env.response.status_code = 404 diff --git a/src/routes/reader.cr b/src/routes/reader.cr index c52e6e2..4e3bc06 100644 --- a/src/routes/reader.cr +++ b/src/routes/reader.cr @@ -56,7 +56,7 @@ class ReaderRouter < Router next_entry_url = "#{base_url}reader/#{title.id}/#{next_entry.id}" end - render "src/views/reader.ecr" + render "src/views/reader.html.ecr" rescue e @context.error e env.response.status_code = 404 diff --git a/src/util.cr b/src/util.cr index 921f281..c9dfa2b 100644 --- a/src/util.cr +++ b/src/util.cr @@ -16,11 +16,11 @@ macro layout(name) is_admin = @context.storage.verify_admin token end page = {{name}} - render "src/views/#{{{name}}}.ecr", "src/views/layout.ecr" + render "src/views/#{{{name}}}.html.ecr", "src/views/layout.html.ecr" rescue e message = e.to_s @context.error message - render "src/views/message.ecr", "src/views/layout.ecr" + render "src/views/message.html.ecr", "src/views/layout.html.ecr" end end @@ -139,7 +139,7 @@ macro render_xml(path) end macro render_component(filename) - render "src/views/components/#{{{filename}}}.ecr" + render "src/views/components/#{{{filename}}}.html.ecr" end # Works in all Unix systems. Follows https://github.com/crystal-lang/crystal/ diff --git a/src/views/admin.ecr b/src/views/admin.html.ecr similarity index 92% rename from src/views/admin.ecr rename to src/views/admin.html.ecr index 0d83181..b3e2d96 100644 --- a/src/views/admin.ecr +++ b/src/views/admin.html.ecr @@ -15,5 +15,5 @@ Log Out <% content_for "script" do %> - + <% end %> diff --git a/src/views/components/card.ecr b/src/views/components/card.ecr deleted file mode 100644 index 193c5e2..0000000 --- a/src/views/components/card.ecr +++ /dev/null @@ -1,49 +0,0 @@ -<% if item.is_a? NamedTuple(entry: Entry, percentage: Float64, grouped_count: Int32) %> -<% grouped_count = item[:grouped_count] %> -<% if grouped_count == 1 %> -<% item = item[:entry] %> -<% else %> -<% item = item[:entry].book %> -<% end %> -<% else %> -<% grouped_count = 1 %> -<% end %> -
- id="<%= item.id %>" - <% end %>> - - - href="<%= base_url %>book/<%= item.id %>" - <% end %>> - -
- onclick="showModal("<%= item.encoded_path %>", '<%= item.pages %>', <%= (progress * 100).round(1) %>, "<%= item.book.encoded_display_name %>", "<%= item.encoded_display_name %>", '<%= item.title_id %>', '<%= item.id %>')" - <% end %>> - -
- -
- -
- <% unless progress < 0 || progress > 100 %> -
<%= (progress * 100).round(1) %>%
- <% end %> - -

"><%= item.display_name %>

- <% if item.is_a? Entry %> -

<%= item.pages %> pages

- <% end %> - <% if item.is_a? Title %> - <% if grouped_count == 1 %> -

<%= item.size %> entries

- <% else %> -

<%= grouped_count %> new entries

- <% end %> - <% end %> -
-
-
-
diff --git a/src/views/components/card.html.ecr b/src/views/components/card.html.ecr new file mode 100644 index 0000000..88ddd5f --- /dev/null +++ b/src/views/components/card.html.ecr @@ -0,0 +1,50 @@ +<% if item.is_a? NamedTuple(entry: Entry, percentage: Float64, grouped_count: Int32) %> + <% grouped_count = item[:grouped_count] %> + <% if grouped_count == 1 %> + <% item = item[:entry] %> + <% else %> + <% item = item[:entry].book %> + <% end %> +<% else %> + <% grouped_count = 1 %> +<% end %> + +
+ id="<%= item.id %>" + <% end %>> + + + href="<%= base_url %>book/<%= item.id %>" + <% end %>> + +
+ onclick="showModal("<%= item.encoded_path %>", '<%= item.pages %>', <%= (progress * 100).round(1) %>, "<%= item.book.encoded_display_name %>", "<%= item.encoded_display_name %>", '<%= item.title_id %>', '<%= item.id %>')" + <% end %>> + +
+ +
+ +
+ <% unless progress < 0 || progress > 100 %> +
<%= (progress * 100).round(1) %>%
+ <% end %> + +

"><%= item.display_name %>

+ <% if item.is_a? Entry %> +

<%= item.pages %> pages

+ <% end %> + <% if item.is_a? Title %> + <% if grouped_count == 1 %> +

<%= item.size %> entries

+ <% else %> +

<%= grouped_count %> new entries

+ <% end %> + <% end %> +
+
+
+
diff --git a/src/views/components/entry-modal.ecr b/src/views/components/entry-modal.html.ecr similarity index 61% rename from src/views/components/entry-modal.ecr rename to src/views/components/entry-modal.html.ecr index 7337960..672e5c3 100644 --- a/src/views/components/entry-modal.ecr +++ b/src/views/components/entry-modal.html.ecr @@ -4,14 +4,14 @@
<% if page == "home" %> -

+

<% end %>

  <% unless page == "home" %> - <% if is_admin %> - - <% end %> + <% if is_admin %> + + <% end %> <% end %>

@@ -22,13 +22,13 @@

Read

- From beginning - + From beginning +

Progress

- - + +

diff --git a/src/views/components/head.ecr b/src/views/components/head.html.ecr similarity index 100% rename from src/views/components/head.ecr rename to src/views/components/head.html.ecr diff --git a/src/views/components/sort-form.ecr b/src/views/components/sort-form.html.ecr similarity index 56% rename from src/views/components/sort-form.ecr rename to src/views/components/sort-form.html.ecr index 6036a15..93148d9 100644 --- a/src/views/components/sort-form.ecr +++ b/src/views/components/sort-form.html.ecr @@ -1,8 +1,8 @@
diff --git a/src/views/download-manager.ecr b/src/views/download-manager.html.ecr similarity index 74% rename from src/views/download-manager.ecr rename to src/views/download-manager.html.ecr index e188438..0372010 100644 --- a/src/views/download-manager.ecr +++ b/src/views/download-manager.html.ecr @@ -23,10 +23,10 @@ <% content_for "script" do %> - - - - -<% end %> \ No newline at end of file + + + + +<% end %> diff --git a/src/views/download.ecr b/src/views/download.html.ecr similarity index 88% rename from src/views/download.ecr rename to src/views/download.html.ecr index d11c864..402c137 100644 --- a/src/views/download.ecr +++ b/src/views/download.html.ecr @@ -73,11 +73,11 @@ <% content_for "script" do %> - - - - - -<% end %> \ No newline at end of file + + + + + +<% end %> diff --git a/src/views/home.ecr b/src/views/home.ecr deleted file mode 100644 index 04f1bb8..0000000 --- a/src/views/home.ecr +++ /dev/null @@ -1,69 +0,0 @@ -<%- if new_user && empty_library -%> - -
- -

Add your first manga

-

We can't find any files yet. Add some to your library and they'll appear here.

-
-
Current library path
-
<%= Config.current.library_path %>
-
Want to change your library path?
-
Update config.yml located at: <%= Config.current.path %>
-
Can't see your files yet?
-
You must wait <%= Config.current.scan_interval %> minutes for the library scan to complete - <% if is_admin %>, or manually re-scan from Admin<% end %>.
-
-
- -<%- elsif new_user && empty_library == false -%> - -
- -

Read your first manga

-

Once you start reading, Mango will remember where you left off - and show your entries here.

- View library -
- -<%- elsif new_user == false && empty_library == false -%> - -<%- if continue_reading.empty? && recently_added.empty? -%> -
- -

A self-hosted manga server and reader

- View library -
-<%- end -%> - -<%- unless continue_reading.empty? -%> -

Continue Reading

-
- <%- continue_reading.each do |cr| -%> - <% item = cr[:entry] %> - <% progress = cr[:percentage] %> - <%= render_component "card" %> - <%- end -%> -
-<%- end -%> - -<%- unless recently_added.empty? -%> -

Recently Added

-
- <%- recently_added.each do |ra| -%> - <% item = ra %> - <% progress = ra[:percentage] %> - <%= render_component "card" %> - <%- end -%> -
-<%- end -%> - -<%= render_component "entry-modal" %> - -<%- end -%> - -<% content_for "script" do %> - - - - -<% end %> diff --git a/src/views/home.html.ecr b/src/views/home.html.ecr new file mode 100644 index 0000000..cb0f53e --- /dev/null +++ b/src/views/home.html.ecr @@ -0,0 +1,73 @@ +<%- if new_user && empty_library -%> + +
+ +

Add your first manga

+

We can't find any files yet. Add some to your library and they'll appear here.

+
+
Current library path
+
<%= Config.current.library_path %>
+
Want to change your library path?
+
Update config.yml located at: <%= Config.current.path %>
+
Can't see your files yet?
+
+ You must wait <%= Config.current.scan_interval %> minutes for the library scan to complete + <% if is_admin %> + , or manually re-scan from Admin + <% end %>. +
+
+
+ +<%- elsif new_user && empty_library == false -%> + +
+ +

Read your first manga

+

Once you start reading, Mango will remember where you left off + and show your entries here.

+ View library +
+ +<%- elsif new_user == false && empty_library == false -%> + + <%- if continue_reading.empty? && recently_added.empty? -%> +
+ +

A self-hosted manga server and reader

+ View library +
+ <%- end -%> + + <%- unless continue_reading.empty? -%> +

Continue Reading

+
+ <%- continue_reading.each do |cr| -%> + <% item = cr[:entry] %> + <% progress = cr[:percentage] %> + <%= render_component "card" %> + <%- end -%> +
+ <%- end -%> + + <%- unless recently_added.empty? -%> +

Recently Added

+
+ <%- recently_added.each do |ra| -%> + <% item = ra %> + <% progress = ra[:percentage] %> + <%= render_component "card" %> + <%- end -%> +
+ <%- end -%> + + <%= render_component "entry-modal" %> + +<%- end -%> + +<% content_for "script" do %> + + + + +<% end %> diff --git a/src/views/layout.ecr b/src/views/layout.ecr deleted file mode 100644 index 8242be5..0000000 --- a/src/views/layout.ecr +++ /dev/null @@ -1,68 +0,0 @@ - - - -<%= render_component "head" %> - - -
-
-
-
- -
-
-
-
-
-
-
-
-
-
- - -
-
- -
-
-
-
-
-
-
-
- <%= content %> -
-
- - - - - <%= yield_content "script" %> - - - diff --git a/src/views/layout.html.ecr b/src/views/layout.html.ecr new file mode 100644 index 0000000..2800ddc --- /dev/null +++ b/src/views/layout.html.ecr @@ -0,0 +1,68 @@ + + + + <%= render_component "head" %> + + +
+
+
+
+ +
+
+
+
+
+
+
+
+
+
+ + +
+
+ +
+
+
+
+
+
+
+
+ <%= content %> +
+
+ + + + + <%= yield_content "script" %> + + + diff --git a/src/views/library.ecr b/src/views/library.html.ecr similarity index 69% rename from src/views/library.ecr rename to src/views/library.html.ecr index afbbec5..2550f1e 100644 --- a/src/views/library.ecr +++ b/src/views/library.html.ecr @@ -18,14 +18,14 @@
<% titles.each_with_index do |item, i| %> - <% progress = percentage[i] %> - <%= render_component "card" %> + <% progress = percentage[i] %> + <%= render_component "card" %> <% end %>
<% content_for "script" do %> - - - - + + + + <% end %> diff --git a/src/views/login.ecr b/src/views/login.ecr deleted file mode 100644 index 264395b..0000000 --- a/src/views/login.ecr +++ /dev/null @@ -1,36 +0,0 @@ - - - -<%= render_component "head" %> - - -
-
-
-
-
-
-

Log In

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - - - - - diff --git a/src/views/login.html.ecr b/src/views/login.html.ecr new file mode 100644 index 0000000..1bc122a --- /dev/null +++ b/src/views/login.html.ecr @@ -0,0 +1,36 @@ + + + + <%= render_component "head" %> + + +
+
+
+
+
+
+

Log In

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + diff --git a/src/views/message.ecr b/src/views/message.ecr deleted file mode 100644 index 7546751..0000000 --- a/src/views/message.ecr +++ /dev/null @@ -1 +0,0 @@ -

<%= message %>

\ No newline at end of file diff --git a/src/views/message.html.ecr b/src/views/message.html.ecr new file mode 100644 index 0000000..1a5b8d8 --- /dev/null +++ b/src/views/message.html.ecr @@ -0,0 +1 @@ +

<%= message %>

diff --git a/src/views/opds/index.ecr b/src/views/opds/index.xml.ecr similarity index 67% rename from src/views/opds/index.ecr rename to src/views/opds/index.xml.ecr index 16fe193..2d84b63 100644 --- a/src/views/opds/index.ecr +++ b/src/views/opds/index.xml.ecr @@ -13,10 +13,10 @@ <% titles.each do |t| %> - - <%= t.display_name %> - urn:mango:<%= t.id %> - - + + <%= t.display_name %> + urn:mango:<%= t.id %> + + <% end %> diff --git a/src/views/opds/title.ecr b/src/views/opds/title.ecr deleted file mode 100644 index 476bb8d..0000000 --- a/src/views/opds/title.ecr +++ /dev/null @@ -1,38 +0,0 @@ - - - urn:mango:<%= title.id %> - - - - - <%= title.display_name %> - - - Mango - https://github.com/hkalexling/Mango - - - <% title.titles.each do |t| %> - - <%= t.display_name %> - urn:mango:<%= t.id %> - - - <% end %> - - <% title.entries.each do |e| %> - - <%= e.display_name %> - urn:mango:<%= e.id %> - - - - - - - - - - <% end %> - - diff --git a/src/views/opds/title.xml.ecr b/src/views/opds/title.xml.ecr new file mode 100644 index 0000000..80eadfa --- /dev/null +++ b/src/views/opds/title.xml.ecr @@ -0,0 +1,38 @@ + + + urn:mango:<%= title.id %> + + + + + <%= title.display_name %> + + + Mango + https://github.com/hkalexling/Mango + + + <% title.titles.each do |t| %> + + <%= t.display_name %> + urn:mango:<%= t.id %> + + + <% end %> + + <% title.entries.each do |e| %> + + <%= e.display_name %> + urn:mango:<%= e.id %> + + + + + + + + + + <% end %> + + diff --git a/src/views/reader.ecr b/src/views/reader.ecr deleted file mode 100644 index 86a5350..0000000 --- a/src/views/reader.ecr +++ /dev/null @@ -1,62 +0,0 @@ - - - -<%= render_component "head" %> - - -
-
- <%- urls.each_with_index do |url, i| -%> - - <%- end -%> - <%- if next_url -%> - - <%- end -%> -
- <%- if next_entry_url -%> - - <%- else -%> - - <%- end -%> -
- - - - - - - - - - - - - diff --git a/src/views/reader.html.ecr b/src/views/reader.html.ecr new file mode 100644 index 0000000..f791163 --- /dev/null +++ b/src/views/reader.html.ecr @@ -0,0 +1,62 @@ + + + + <%= render_component "head" %> + + +
+
+ <%- urls.each_with_index do |url, i| -%> + + <%- end -%> + <%- if next_url -%> + + <%- end -%> +
+ <%- if next_entry_url -%> + + <%- else -%> + + <%- end -%> +
+ + + + + + + + + + + + + diff --git a/src/views/title.ecr b/src/views/title.html.ecr similarity index 75% rename from src/views/title.ecr rename to src/views/title.html.ecr index ec201a6..b926a5a 100644 --- a/src/views/title.ecr +++ b/src/views/title.html.ecr @@ -2,14 +2,14 @@

<%= title.display_name %>   <% if is_admin %> - + <% end %>

@@ -33,12 +33,12 @@
<% title.titles.each_with_index do |item, i| %> - <% progress = title_percentage[i] %> - <%= render_component "card" %> + <% progress = title_percentage[i] %> + <%= render_component "card" %> <% end %> <% title.entries.each_with_index do |item, i| %> - <% progress = percentage[i] %> - <%= render_component "card" %> + <% progress = percentage[i] %> + <%= render_component "card" %> <% end %>
@@ -85,8 +85,8 @@ @@ -94,10 +94,10 @@ <% content_for "script" do %> - - - - - - + + + + + + <% end %> diff --git a/src/views/user-edit.ecr b/src/views/user-edit.ecr deleted file mode 100644 index 9b354d2..0000000 --- a/src/views/user-edit.ecr +++ /dev/null @@ -1,46 +0,0 @@ -
- -
- - value=<%= username %> <%- end -%>> -
- <%- if new_user -%> -
- - -
- <%- end -%> -
- - checked <%- end -%>> -
- - <%- if !new_user -%> -
- - -
- <%- end -%> - -
- - -
- -<% content_for "script" do %> - - - -<% end %> \ No newline at end of file diff --git a/src/views/user-edit.html.ecr b/src/views/user-edit.html.ecr new file mode 100644 index 0000000..22916de --- /dev/null +++ b/src/views/user-edit.html.ecr @@ -0,0 +1,46 @@ +
+ +
+ + value=<%= username %> <%- end -%>> +
+ <%- if new_user -%> +
+ + +
+ <%- end -%> +
+ + checked <%- end -%>> +
+ + <%- unless new_user -%> +
+ + +
+ <%- end -%> + +
+ + +
+ +<% content_for "script" do %> + + + +<% end %> diff --git a/src/views/user.ecr b/src/views/user.ecr deleted file mode 100644 index 3887d2a..0000000 --- a/src/views/user.ecr +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - <%- users.each do |u| -%> - - - - - - <%- end -%> - -
UsernameAdmin AccessActions
<%= u[0] %><%= u[1] %> - - <%- if u[0] != username %> - - <%- end %> -
- -New User - - -<% content_for "script" do %> - - -<% end %> \ No newline at end of file diff --git a/src/views/user.html.ecr b/src/views/user.html.ecr new file mode 100644 index 0000000..c65dbb7 --- /dev/null +++ b/src/views/user.html.ecr @@ -0,0 +1,31 @@ + + + + + + + + + + <%- users.each do |u| -%> + + + + + + <%- end -%> + +
UsernameAdmin AccessActions
<%= u[0] %><%= u[1] %> + + <%- if u[0] != username %> + + <%- end %> +
+ +New User + + +<% content_for "script" do %> + + +<% end %>