| Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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).
|
|
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.
|
|
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).
|
|
|
|
This comes with a cost of decoding full image when only getting image size.
|
|
|
|
|
|
|
|
This change allows greater flexibility for separate themes.
|
|
This allows actual defines to be used without explicit update.
Also brings the benefit of placing empty string when define is not defined.
|
|
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.
|
|
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)
|
|
|
|
No need to store generated data during thread work anymore.
|
|
|
|
This has a nice side effect of not having double slashes in paths anymore.
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
This option takes the highest priority
|
|
|
|
|
|
Also fix forgotten two struct members :-o
|
|
Another step to get rid of writes to unlocked objects during threading.
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
|
|
|
|
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() :-)
|
|
Affects every generated HTML file (i.e. all of them would have .php extensions)
|
|
|
|
|
|
|
|
Template support files (CSS, images, scripts) are now a list instead of hardcoded single CSS and single script file
|
|
|
|
|
|
|
|
|
|
|
|
|