Credits: Images from Unsplash and the original demo set
Description
Bato is a minimal photography portfolio template built on Bootstrap 5. White space, large photos and big pale page titles set the tone, and the menu button opens a panel with search, the page links and a small photo gallery. The layout is responsive and mobile-ready. There are seven pages: home, work, a single project, services, blog, about and contact.
The home page is a full-height slider with three numbered slides that pair a photo with a heading and a link to the work. The work page lists six projects in large rows that alternate left and right, and the project page shows one photo beside its description. You will also find a services page with a services list, skill rings and a testimonial slider, a blog grid of nine posts, an about page with a portrait, a short text slider and contact details, and a contact page with a working contact form. Bato gives you a ready-made site for a photographer or a small studio.
What’s new in 3.0
Bootstrap 5.3.8 (the earlier release used Bootstrap 3.3.5 and jQuery), compiled from Sass with the Bootstrap 3 proportions the design was drawn with, and plain JavaScript with no jQuery. Swiper 14 replaces Owl Carousel on the sliders, PhotoSwipe 5 replaces Magnific Popup for the menu gallery, and a small built-in module replaces Waypoints and animate.css. npm run build (Dart Sass and esbuild) compiles one minified stylesheet and one script.
Lighter pages: all seven pages together went from 9.7 MB and 201 requests to 5.4 MB and 121 requests; the home page from 1.25 MB to 0.75 MB and the contact page from 1.12 MB to 0.37 MB. Every photo has an AVIF version with the JPEG as the fallback, with real dimensions and lazy loading.
New high-resolution photos for the hero, the projects, the services page and the about page, sharp on phone and retina screens.
No third-party requests: Karla and Playfair Display are self-hosted, and the icon font is replaced by Lucide SVG icons and a 1 KB social-logo subset.
Working forms: the contact form and the newsletter forms send through the included PHP handlers and show the result on the page, and the menu search finds blog posts.
Accessibility: a skip link, one main heading per page, labelled form fields, a menu panel that works with the keyboard and closes with Esc, visible focus rings, and text and button colours that meet WCAG AA contrast.
Fixes: the services page now carries Bato’s name and is in the menu, the testimonial slider fits its row, and dead links and typos are corrected. README and CHANGELOG are included.