Skip to content

inajaf/learning-materials

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Materials Library

Static GitHub Pages catalog for PDF-first technical learning materials.

Live site:

https://inajaf.github.io/learning-materials/

Current Structure

  • index.html - single-page catalog UI
  • styles.css - responsive layout and visual design
  • app.js - search, category filtering, language-aware material views, PDF preview
  • materials.json - source of truth for categories and materials
  • materials/README.md - quick upload guide for material folders
  • materials/kubernetes/ - Kubernetes PDFs and optional PPTX sources
  • materials/postgresql/ - PostgreSQL PDFs and optional PPTX sources

Format Decision

Use PDF as the primary published format. It opens reliably in the browser, preserves slide layout, and works well on GitHub Pages.

Keep PPTX only when learners or collaborators may need the editable source file.

Add a New Material

  1. Put the PDF or PPTX file in the matching category folder, for example materials/postgresql/.
  2. Add an entry to materials.json.
  3. Set language to ru or en.
  4. Add localized title and description values for both ru and en when possible.
  5. Use formats.pdf for the primary PDF and formats.pptx only when a PPTX source exists.

Example:

{
  "id": "postgresql-indexes-basics",
  "category": "postgresql",
  "topic": "indexes",
  "topicName": {
    "en": "Indexes",
    "ru": "Индексы"
  },
  "title": {
    "en": "PostgreSQL Index Basics",
    "ru": "Основы индексов PostgreSQL"
  },
  "description": {
    "en": "Introductory material about PostgreSQL index types and when to use them.",
    "ru": "Вводный материал о типах индексов PostgreSQL и сценариях их применения."
  },
  "language": "ru",
  "pages": 12,
  "formats": {
    "pdf": "materials/postgresql/PostgreSQL_Index_Basics.pdf",
    "pptx": "materials/postgresql/PostgreSQL_Index_Basics.pptx"
  },
  "tags": ["postgresql", "indexes", "performance"],
  "featured": false
}

Preview Locally

Run:

python3 -m http.server 8000

Open:

http://localhost:8000

The site uses fetch() to load materials.json, so opening index.html directly from the filesystem may not work in every browser.

Publish To GitHub Pages

  1. Create a GitHub repository.
  2. Push this folder to the repository.
  3. In GitHub, open Settings -> Pages.
  4. Select Deploy from a branch.
  5. Choose the main branch and /root.
  6. Save and wait for the Pages URL.

Keep individual files below GitHub's normal file size limits. If materials become very large, store only PDFs in the repository and put editable PPTX source files in release assets or external storage.

About

A categorized library of technical learning materials.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors