A simple, customizable website template to showcase images, PDFs, audios, videos, and links.
Built for non-technical users: configure everything in google sheets files and upload your media - no coding required.
-
Use Template in your Won Page
- Click Use this template at the top of this repository.
- Name the new repository
{your-username}.github.io, and make sure it is Public
-
Prepare Media:
- Put all your media files in a folder.
-
Get the template files
- Make a copy of this Google Drive folder content to your own Google Drive.
-
Generate thumbnails
- Open
generate_thumbnails.ipynbin Google Colab. - Follow the notebook instructions to process your media and create thumbnails.
- Download the generated
media.zipand unzip it. - Copy the generated filenames for reference to fill in
data.
- Open
-
Fill sheets
- Fill
configwith your site name, description, banner, contacts, and language. - Fill
tagswith categories/tags for your media. - Open
dataand fill the filenames you copied tofile_namecolumn. - Copy the
tagslink toimport_tagssheet - Fill
datawith media titles, tags, links, etc.
- Fill
-
Download and replace
- Download all files (
config.csv,tags.csv,data.csv) from Google Drive. - Place them in the
media/folder.
- Download all files (
-
Test locally
- Run a local web server to preview your site (required for JavaScript to work correctly).
Step 1: Install Python (if not already installed)
- Windows:
- Open Command Prompt and check Python:
python --version
- If not installed, download and install from python.org or install via winget:
winget install Python.Python.3
- Open Command Prompt and check Python:
- Linux:
- Install via package manager:
# Debian/Ubuntu sudo apt update sudo apt install python3 # Fedora/RedHat sudo dnf install python3
- Install via package manager:
- Mac:
- Python 3 is usually pre-installed.
- If not, install via Homebrew:
brew install python
Step 2: Run the local server
- Open terminal / command prompt.
- Navigate to the folder containing
index.html. - Run the server:
# Python 3.x python -m http.server 8000 # or, if needed python3 -m http.server 8000
- Open your browser and go to:
http://localhost:8000 - Verify that thumbnails, banner, description, and contacts display correctly.
-
Push to GitHub
- Only upload the full
mediafolder to the repo.
- Only upload the full
Full step-by-step instructions with screenshots and troubleshooting tips are in GUIDE.pdf.
- Free for personal use.
- Configurable.
- Auto-thumbnails:
- PDFs → first page →
.png - Videos → 1-second frame →
.png - Images → used directly
- PDFs → first page →
- SEO ready (
<title>,<meta description>,JSON-LD). - Client-side only; no backend required for the website itself.
- Works locally via a simple local server (Python recommended) or hosted anywhere.
assets/ → Template assets (do not modify unless you know what you’re doing)
├── css/
│ ├── base.css → Basic styling for the template
│ ├── filters.css → Styles for media filtering UI
│ ├── gallery.css → Styles for gallery layout
│ └── theme.css → Theme and color customization
├── js/
│ ├── constants.js → Constant values used in the template
│ ├── dataloader.js → Loads data from media
│ ├── filter.js → Handles filtering functionality
│ ├── initializers.js → Handles page initialization
│ ├── main.js → Main script to initialize the site
│ ├── renderer.js → Handles rendering of media items
│ ├── seo.js → SEO-related functions
│ └── utils.js → Utility functions
└── generic-icon.svg → Default icon used for PDFs/videos
├── media/ → All your work will be here
│ ├── thumbnails/ {files} → Thumbnails photos for PDFs ans videos
│ ├── data.csv → Media list with titles, tags, links
│ ├── config.csv → Site settings (site name, banner, contacts, etc.)
│ ├── tags.csv → Categories/tags for your media
│ ├── {your files} → Your media files (images, PDFs, videos, links)
CONTRIBUTING.md → Contribution guidelines
favicon.png → Website icon
GUIDE.pdf → Detailed step-by-step user guide
index.html → Main website file
LICENSE.md → Template license
README.md → Quick start and overview
- The ContentSee Template code is © 2025 Nael Aqel. Free for personal use only.
- Commercial use requires contacting the author: nael@naelaqel.com
- All media, text, or files uploaded to your website remain your property.
- You may modify styling, layout, and HTML/CSS, or embed the template into your website.
- Credit to Nael Aqel / ContentSee Template must remain in documentation or source code. It may be removed from the website footer if embedding.
👉 See GUIDE.pdf for the full step-by-step guide (with screenshots).
Developed by Nael Aqel.
Free for personal use only; commercial use requires contacting the author.
If this template helped you, please consider supporting me, it really makes a difference
- ⭐ Star the repository and follow me on GitHub: github.com/NaelAqel
- 🔗 Share the template with anyone who could benefit from it
- 💰 Support financially via PayPal: paypal.me/naelaqel90
- 💬 I’d love to see your showcases, hear your feedback, or just connect!
I’m very active on LinkedIn — let’s connect: linkedin.com/in/naelaqel1) - 🌐 You can also visit my website to explore my portfolio and articles: https://naelaqel.com