Skip to content

Latest commit

 

History

History
124 lines (113 loc) · 4.29 KB

notes.md

File metadata and controls

124 lines (113 loc) · 4.29 KB
lastmod 2026-04-18 19:30:21 UTC
title Notes
description Quick reference notes, cheatsheets, and command snippets for developers
layout default
permalink /notes/

Notes

Quick reference notes, cheatsheets, and command snippets for developers

{% if site.notes and site.notes.size > 0 %}

Filter by tag: All {% assign all_tags = "" | split: "" %} {% for note in site.notes %} {% for tag in note.tags %} {% unless all_tags contains tag %} {% assign all_tags = all_tags | push: tag %} {% endunless %} {% endfor %} {% endfor %} {% assign sorted_tags = all_tags | sort %} {% for tag in sorted_tags %} {{ tag }} {% endfor %}
{% assign sorted_notes = site.notes | sort: "date" | reverse %} {% for note in sorted_notes %}
{% if note.difficulty %} {{ note.difficulty }} {% endif %}
      {% if note.description %}
      <p class="card-text text-muted small">{{ note.description | truncate: 120 }}</p>
      {% endif %}
      
      {% if note.tags and note.tags.size > 0 %}
      <div class="mt-auto">
        {% for tag in note.tags limit: 4 %}
        <span class="badge bg-light text-dark border me-1">{{ tag }}</span>
        {% endfor %}
        {% if note.tags.size > 4 %}
        <span class="badge bg-light text-muted">+{{ note.tags.size | minus: 4 }}</span>
        {% endif %}
      </div>
      {% endif %}
    </div>
    <div class="card-footer bg-transparent border-top-0">
      <small class="text-muted">
        <i class="bi bi-calendar3 me-1"></i>
        {{ note.date | date: "%b %d, %Y" }}
        {% if note.read_time %}
        <span class="ms-2"><i class="bi bi-clock me-1"></i>{{ note.read_time }} min</span>
        {% endif %}
      </small>
    </div>
  </div>
</div>
{% endfor %}

{% else %}

No notes published yet. Check back soon!
{% endif %}
<script> document.addEventListener('DOMContentLoaded', function() { const filterButtons = document.querySelectorAll('[data-filter]'); const noteCards = document.querySelectorAll('.note-card'); filterButtons.forEach(button => { button.addEventListener('click', function() { const filter = this.getAttribute('data-filter'); // Update active button filterButtons.forEach(btn => btn.classList.remove('active')); this.classList.add('active'); // Filter cards noteCards.forEach(card => { const tags = card.getAttribute('data-tags') || ''; if (filter === 'all' || tags.includes(filter)) { card.style.display = 'block'; } else { card.style.display = 'none'; } }); }); }); }); </script>