add some semantic HTML, article pages nav bar

Changed files
+62 -18
app
assets
stylesheets
views
+31 -7
app/assets/stylesheets/application.css
··· 176 176 .pbody code.inline { 177 177 font-family: monospace; 178 178 display: inline-block; 179 - margin-top: 0; 180 - padding-left: 0; 181 - margin-top: 0; 179 + padding: 0; 180 + margin: 0; 181 + background: transparent; 182 + color: #4f6599; 182 183 border-left: none; 183 184 } 184 185 185 - .pbody code.inline::before { 186 - content: '> '; 187 - } 188 - 189 186 .pbody code { 190 187 font-family: monospace; 191 188 display: block; ··· 199 196 200 197 .pbody pre code { 201 198 padding-top: 0 !important; 199 + white-space: preserve; 200 + } 201 + 202 + .pbody blockquote { 203 + margin-left: 1.5rem; 204 + border-left: 1px solid #4f6599; 205 + padding-left: 1rem; 202 206 } 203 207 204 208 span.tag_link { ··· 206 210 display: inline-block; 207 211 font-size: 1em; 208 212 } 213 + 214 + span.tag_link a::before { 215 + content: "#"; 216 + } 217 + 218 + nav ul.navbar-list li { 219 + display: inline; 220 + } 221 + 222 + nav ul.navbar-list li::before { 223 + margin: initial; 224 + } 225 + 226 + header h1 { 227 + margin-bottom: .5rem; 228 + } 229 + 230 + nav ul.navbar-list { 231 + padding-top: top: 0; 232 + }
+13
app/views/articles/_navbar.html.erb
··· 1 + <nav> 2 + <ul class="navbar-list"> 3 + <li> 4 + <%= link_to "home", articles_path %> 5 + </li> 6 + <li> 7 + <a href="/profiles/1">about</a> 8 + </li> 9 + <li> 10 + <%= link_to "tags", tags_path %> 11 + </li> 12 + </ul> 13 + </nav>
+1 -1
app/views/articles/index.html.erb
··· 39 39 40 40 <hr> 41 41 42 - <p><%= link_to "tags", tags_path %> | <a href="/articles.rss">feed</a> | <a href="https://github.com/xxwhirlpool/bubblegum">source</a> | <%= Article.public_count %> total articles </p> 42 + <p><%= link_to "tags", tags_path %> | <a href="/articles.rss">feed</a> | <a href="https://github.com/xxwhirlpool/bubblegum">source</a> | <%= Article.public_count %> total posts </p> 43 43 44 44 <h4>2025</h4> 45 45
+17 -10
app/views/articles/show.html.erb
··· 1 1 <div class="main"> 2 2 3 - <h1><%= @article.title %></h1> 3 + <header> 4 + <h1><%= @article.title %></h1> 5 + </header> 6 + 7 + <%= render "navbar" %> 4 8 5 9 <% if @article.icon.attached? %> 6 10 <%= image_tag url_for(@article.icon) %> 7 11 <% end %> 8 12 9 13 <div class="article_date"> 10 - <div class="article_date_text"><%= @article.created_at.strftime('%Y %b %d') %></div> <span class="tag_link">| <%= link_to @article.tag.name, @article.tag %> |</span> 11 - <button class="tinylytics_kudos"></button> 14 + <p> 15 + <div class="article_date_text"> 16 + <time <% tag.attributes datetime: @article.created_at.strftime('%Y-%m-%d') %> ><%= @article.created_at.strftime('%Y %b %d') %></time> 17 + </div> 18 + <span class="tag_link">| <%= link_to @article.tag.name, @article.tag %> |</span> 19 + <button class="tinylytics_kudos"></button> 20 + </p> 12 21 </div> 13 22 14 - <div class="pbody"><%== markdown(@article.body) %></div> 23 + <div class="pbody"> 24 + <article> 25 + <%== markdown(@article.body) %> 26 + </article> 27 + </div> 15 28 16 29 <% if user_signed_in? %> 17 30 <p class="pbody"> ··· 23 36 </p> 24 37 <% else %> 25 38 <% end %> 26 - 27 - <hr> 28 - 29 - <p class="pbody"> 30 - <%= link_to "home", articles_path %> | <a href="/profiles/1">me</a> 31 - </p> 32 39 33 40 </div>