summaryrefslogtreecommitdiff
path: root/src/generators.c
AgeCommit message (Collapse)AuthorFilesLines
2012-12-27Support external EXIF metadataTomas Bzatek1-2/+10
This brings an ability to specify external file to read EXIF/IPTC data from. The motivation was to work around RAW editors randomly stripping some EXIF blocks.
2012-12-24Add has_exif_key() block functionTomas Bzatek1-0/+13
Simple check whether the EXIF/IPTC key is available for the current image. Precisely one argument is required, similar to the get_exif_value() custom function, an Exiv2 metadata attribute string is expected. This allows templates to change behaviour when certain metadata key is not present (e.g. don't print the particular table line at all).
2012-04-15Add HAS_EXIF defineTomas Bzatek1-0/+5
This brings a new HAS_EXIF define which is present when EXIF information are available. Templates have been modified to inform user when not available. The test for EXIF metadata presence is fairly basic, we only look for aperture, focal length and exposure time attributes. This might be a subject to change in the future.
2012-04-15Change EXIF metadata handling into a registered functionTomas Bzatek1-28/+43
This allows much greater flexibility from templates regarding EXIF metadata handling, no more hardcoded symbols. It's possible to display essentially any attribute known to Exiv2. Please see http://exiv2.org/metadata.html This brings two new functions that can be called from templates: * get_exif_value (exiv2_attribute) * get_exif_value_fixed (exiv2_attribute) Both functions take a string argument of metadata attribute name from Exiv2 namespace. The difference is that get_exif_value_fixed() does some extra formatting for several basic attributes (e.g. datetime format).
2011-06-05generators: Actually use preview size when nofullsize is specifiedTomas Bzatek1-23/+30
2011-06-04Autorotate images according to EXIF Orientation infoTomas Bzatek1-5/+5
This comes with a cost of decoding full image when only getting image size.
2011-06-04Port fullsize image link to the new defines systemTomas Bzatek1-15/+3
2011-06-04Port Go Up link to the new defines systemTomas Bzatek1-11/+2
2011-06-04Port EXIF table visibility switch to the new defines systemTomas Bzatek1-9/+0
2011-06-04Port border style to the new defines systemTomas Bzatek1-5/+2
This change allows greater flexibility for separate themes.
2011-06-04replace-table: Link to defines table instead of copying on creationTomas Bzatek1-5/+8
This allows actual defines to be used without explicit update. Also brings the benefit of placing empty string when define is not defined.
2011-06-04Introduce conditional systemTomas Bzatek1-3/+11
This is very basic scripting support - simple value retrieval and block conditionals. Defines could be either static from theme setup or programatically added during page generation.
2011-05-29Introduce new theming systemTomas Bzatek1-264/+300
This extends current templating system to another dimension, bringing the possibility to have multiple themes generated at once. The purpose is to be able to switch between multiple designs, from PC to mobile, classic vs. flat view, slideshow, etc. For the moment, only the classic theme is available. Rules: * for switching between themes, place a link inside your template manually - it's not a cgg concern, only your theming infrastructure * don't forget to define different file names for index and album pages across different themes * it's recommended to keep default theme named as "index.*" to avoid showing directory listing on webserver Notes: * some TODOs will be fixed when we have new theme using these advanced features (e.g. pictures in album pages) * TODO: introduce tag/block conditional system, allow custom user defines for each theme/page * TODO: deprecate <show_go_up>, <show_exif_table> and <border style> in favor of conditionals (these tags belong to theming)
2011-03-26Don't generate thumbnails for hidden itemsTomas Bzatek1-13/+15
2011-01-23Get thumbnail orientation when really neededTomas Bzatek1-19/+22
No need to store generated data during thread work anymore.
2011-01-23Indentation fixesTomas Bzatek1-14/+15
2011-01-23Use g_build_{filename|path} when possibleTomas Bzatek1-15/+15
This has a nice side effect of not having double slashes in paths anymore.
2011-01-23Consolidate paths in a separate structTomas Bzatek1-20/+18
This will allow us to pass detailed path info to worker methods. Each path info instance is bound to a currently processed album and directory. Possibly move to struct TItems in the future.
2010-12-12jpeg-utils: Function data cleanupTomas Bzatek1-1/+2
2010-10-30Write image sizes for thumbnails in HTML filesTomas Bzatek1-1/+10
2010-10-09Add support for squared thumbnailsTomas Bzatek1-3/+14
Disabled by default, only very simple center crop implemented. The SQUARED_SIMPLE_SHAVE_AMOUNT constant may be slightly adjusted according to future experience. It's a really dumb algorithm which may not be suitable for every picture. Looking for a fast and smart algorithm to determine image weight center and radius, i.e. focus on object of interest. The OpenCV's face recognition features are worth to test and consider, though I fear the speed issues.
2010-10-08Add basic Atom feed writerTomas Bzatek1-0/+18
2010-10-07Add some more application constantsTomas Bzatek1-1/+1
2010-07-22Add option to generate full gallery, overriding the nofullsize switchTomas Bzatek1-2/+3
This option takes the highest priority
2010-06-29Fix counting of hidden albumsTomas Bzatek1-1/+1
2009-09-23Make thumbnail orientation independent of source image orientationTomas Bzatek1-4/+6
2009-09-23Track image orientation separately, outside threadingTomas Bzatek1-9/+7
Also fix forgotten two struct members :-o
2009-09-23Generate source image and thumbnail paths on demandTomas Bzatek1-22/+68
Another step to get rid of writes to unlocked objects during threading.
2009-09-20Plug some memory leaksTomas Bzatek1-4/+7
2009-05-10Consolidate data typesTomas Bzatek1-35/+35
2009-04-25Custom thumbnail file name formatTomas Bzatek1-2/+19
2009-04-25Update modeTomas Bzatek1-76/+89
By doing update, cgg will check the output structure for missing files and re-generate them as necessary. The decision whether an item (file, picture, album) needs to be updated is done by comparing timestamps (mtime specifically). Due to that reason it's important to keep this fact in mind when replacing single image which carries older timestamp than other files. Either don't use the update mode or 'touch' that new file. Changes made to any XML file will result in whole album re-generation (excluding subalbums).
2009-04-11Support for interspacesTomas Bzatek1-0/+6
2009-04-11Print statistics in verbose modeTomas Bzatek1-13/+15
2009-04-11User customizable image directoriesTomas Bzatek1-9/+9
2009-04-04New block parserTomas Bzatek1-188/+80
2009-03-29Fix crasher when searching for next itemTomas Bzatek1-1/+1
2009-03-28Multithreading supportTomas Bzatek1-314/+31
Also made progress output a little bit nicer default = 1 thread at once, for safety reasons I've encountered critical issues with ImageMagick compiled with OpenMP support. Hope that package maintainers are clever. ShittyMagickWandGenesis(), ShittyMagickWandTerminus() :-)
2009-03-28Support for custom index file nameTomas Bzatek1-13/+14
Affects every generated HTML file (i.e. all of them would have .php extensions)
2009-03-14Option to hide EXIF table in single photo viewTomas Bzatek1-0/+22
2009-03-14Option to hide "Go Up" linksTomas Bzatek1-2/+2
2009-03-14Support for common supportfiles rootTomas Bzatek1-7/+35
2009-03-14Make theming more flexibleTomas Bzatek1-58/+40
Template support files (CSS, images, scripts) are now a list instead of hardcoded single CSS and single script file
2009-03-07Favicon supportTomas Bzatek1-0/+28
2009-03-07Support for extra (enclosed) files in albums [code]Tomas Bzatek1-4/+37
2009-02-28Support path holes (non-direct path jumps)Tomas Bzatek1-7/+26
2009-02-27Merge cgg-config.hTomas Bzatek1-1/+0
2009-02-27Fix compiler warningsTomas Bzatek1-2/+12
2009-02-26AutotoolizeTomas Bzatek1-0/+1037