We’ll be using the new Symfony Flex and Homestead (make sure you’ve read tutorials on them, as we’re not going to cover them here). In this series of articles, we’ll be building a simple image gallery blog where users can register or log in, upload images, and create simple public image galleries with descriptions written in Markdown format. Where are you headed? Who will be using your app and how? What are the main features you’re building? Once you have that knowledge, you can prepare your environment, third-party libraries, and dive into developing the next big thing. I’ll also show you some tips, tricks and helper scripts I’m using for speeding up the development.īefore starting any project, you should have a clear vision of the final destination. This article will cover the basics of setting up the project and organizing files for our Symfony Flex project. Every article in this series will be a checkpoint on our journey! We’ll populate the database with random content, do some benchmarks and improve performance incrementally. Our journey towards a stable, robust, high-performance web app will start with the simple but functional application - the so-called minimum viable product (MVP). Premature optimization is the root of all evil (or at least most of it) in programming. We also should keep in mind the advice from prof. We aren’t sure where exactly we are going to end up, but it will be fun! We can think about the project setup as the very first step of our thousand miles (users!) journey. The journey of a thousand miles begins with one step I have to admit I like the feeling of starting something new it’s like going on an adventure! Now and then you have to create a new project repository, run that git init command locally and kick off a new awesome project. (View the repo here.) In this part, we’ll set our project up so we can fine tune it throughout the next few posts, and bring it to a speedy perfection. ThumbnailHeight and thumbnailWidth are used to define the size of the thumbnails.This article is part of a zero-to-hero project - a multi-image gallery blog - for performance benchmarking and optimizations. On album's thumbnail click, displays the images instead of the thumbnails of the album's content.Įnables keyboard navigation beween albums.ĭown, Left, PageDown: Display previous album Lazy load of thumbnails image (images are loaded only when displayed in the viewport).Įxtends the viewport area (in pixel) for thumbnails image lazy load.Īutomatically lower the last row height to avoid layout breaks (only for justified layout - thumbailWidth='auto').
Transition animation used to display each thumbnail. Interval in ms between the display of the thumbnails. Note: the parameter is ignored when 'touchAnimation=false'. 1= disabled (user needs to tap twice to open the thumbnail),Ġ= automatic (the plugin will determine automatically the delay). Sets a timer to delay execution of the back animation (in milliseconds).Įnables thumbnail hover animation on touch event (= tap twice to show the image).ĭelay in ms before opening the touched thumbnail. Please note that this is not supported with transit.jsĪ number determining how long the back animation will run (in milliseconds).Ī string indicating which easing function to use for the back transition. Sets a timer to delay execution of the animation (in milliseconds) To activate it, just include the plugin in the of your page:Ī number determining how long the animation will run (in milliseconds).Ī string indicating which easing function to use for the transition. NanoGALLERY supports additionally 'Transit jQuery plugin' which provides better animation performances in some cases. The effect will also be triggered by 'tap' on touch-screen.Ĭombinations: define multiple effect names in the parameter to combine them.Įxample: thumbnailHoverEffect='borderDarker,labelAppear75' Possible values: 'none', 'title', 'description' Possible values: '%filename', '%filenameNoExt'ĭisplays the number of items per photo album.
Variable to set the image title (undescores are replaced by spaces). Possible values: 'right', 'center', 'left' Possible values: 'overImageOnBottom', 'overImageOnTop', 'overImageOnMiddle', 'onBottom' ThumbnailHoverEffect: 'labelAppear75,slideDown', ThumbnailWidth: 120, thumbnailHeight: 120, This shows you also how to change the label 'List of Albums' (parameter 'breadcrumbHome').įor this example, you also need to include Font Awesome in the HEAD of your page. It's defined twice: one is used by default (breadcrumbHome) and the other one is used on devices in french (breadcrumbHome_FR).Ī search icon is displayed in the thumbnail description. The breadcrumd home icon is replaced by a camera icon. This example shows you how to use icons from Font Awesome.