summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2011-06-04Introduce conditional systemTomas Bzatek9-31/+218
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-29setup: Fix wrong access() testTomas Bzatek1-1/+1
2011-05-29Introduce new theming systemTomas Bzatek9-494/+795
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-31block-parser: Add function to mark block as usedTomas Bzatek2-0/+24
Some blocks such as "IMG_LIST" are containers themselves and no data are retrieved from them. That way they don't ever get marked as used, resulting in constant hit in the generator loop.
2011-03-26Don't generate thumbnails for hidden itemsTomas Bzatek1-13/+15
2011-03-03Fix atom feed pathsTomas Bzatek4-35/+11
And convert it to use global path info.
2011-01-23Get thumbnail orientation when really neededTomas Bzatek4-35/+24
No need to store generated data during thread work anymore.
2011-01-23Indentation fixesTomas Bzatek5-38/+29
2011-01-23Use g_build_{filename|path} when possibleTomas Bzatek4-38/+39
This has a nice side effect of not having double slashes in paths anymore.
2011-01-23Consolidate paths in a separate structTomas Bzatek7-59/+91
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-12setup: Code cleanupTomas Bzatek3-22/+26
2010-12-12xml-parser: CleanupTomas Bzatek4-57/+50
2010-12-12Fix leaked structTomas Bzatek1-3/+1
2010-12-12jpeg-utils: Get rid of error handling macrosTomas Bzatek1-91/+79
2010-12-12Get rid of that global variables fearTomas Bzatek1-33/+16
2010-12-12Use g_malloc0()Tomas Bzatek1-3/+2
2010-12-12Fix indentationTomas Bzatek3-4/+4
2010-12-12Cleanup header definesTomas Bzatek11-31/+93
2010-12-12items: CleanupTomas Bzatek3-14/+14
2010-12-12setup: Code cleanupTomas Bzatek3-31/+31
2010-12-12jpeg-utils: Function data cleanupTomas Bzatek3-8/+8
2010-12-05cgg-dirgen: Code cleanupTomas Bzatek1-7/+7
2010-10-30Write image sizes for thumbnails in HTML filesTomas Bzatek1-1/+10
2010-10-30Don't resize an image if it fits in desired sizeTomas Bzatek2-18/+23
2010-10-10Do crop and shave in one stepTomas Bzatek1-5/+1
Silly me, this can be easily done at once.
2010-10-09Add support for squared thumbnailsTomas Bzatek5-9/+61
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-09Plug some more memory leaksTomas Bzatek1-22/+17
2010-10-08Plug some memory leaksTomas Bzatek3-0/+4
2010-10-08Add basic Atom feed writerTomas Bzatek11-34/+530
2010-10-07Add some more application constantsTomas Bzatek1-1/+1
2010-10-06Fix day of the week in EXIF date stringTomas Bzatek1-0/+1
mktime() modifies tm_wday and tm_yday to correct values.
2010-07-22Add option to generate full gallery, overriding the nofullsize switchTomas Bzatek3-8/+15
This option takes the highest priority
2010-07-19Silence error messages when searching for setup fileTomas Bzatek2-4/+11
Also print the setup file path in verbose mode.
2010-06-29Fix counting of hidden albumsTomas Bzatek2-3/+5
2009-10-18Plug memory leaksTomas Bzatek1-0/+3
2009-10-18Dynamic memory allocation for string replace functionsTomas Bzatek1-14/+39
This will fix all outstanding multithreading issues, coming from statically allocated memory, common for all threads. The algorithms have been further extended to allow input of any size.
2009-09-23Make thumbnail orientation independent of source image orientationTomas Bzatek4-10/+12
2009-09-23Track image orientation separately, outside threadingTomas Bzatek5-15/+24
Also fix forgotten two struct members :-o
2009-09-23Generate source image and thumbnail paths on demandTomas Bzatek2-24/+68
Another step to get rid of writes to unlocked objects during threading.
2009-09-23Optimize job manager index counting, filter out non-processable itemsTomas Bzatek1-34/+33
2009-09-22Track job manager state in a separate listTomas Bzatek2-20/+44
The goal is to get rid of any writes to unlocked objects (album items) during thread work.
2009-09-20Avoid unnecessary lockingTomas Bzatek1-3/+2
2009-09-20Plug some memory leaksTomas Bzatek3-6/+13
2009-05-10Remove #ifdef __DEBUG_ALL__Tomas Bzatek6-130/+19
2009-05-10Consolidate data typesTomas Bzatek19-499/+409
2009-04-25Custom thumbnail file name formatTomas Bzatek3-2/+26
2009-04-25Update modeTomas Bzatek7-122/+200
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 Bzatek3-1/+18
2009-04-11Print statistics in verbose modeTomas Bzatek13-46/+189
2009-04-11User customizable image directoriesTomas Bzatek4-15/+34