All Projects → Libbum → Odyssey

Libbum / Odyssey

Licence: BSD-3-Clause license
Next generation gallery. Exceptional images deserve an exceptional presentation.

Programming Languages

elm
856 projects
rust
11053 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
Makefile
30231 projects
shell
77523 projects

Projects that are alternatives of or similar to Odyssey

Pickphotosample
Photo Picker Of Android Library
Stars: ✭ 457 (+1475.86%)
Mutual labels:  gallery, photo-gallery
Yimagepicker
小红书多图剪裁+微信图片选择器+大图预览+图片剪裁(支持圆形剪裁和镂空剪裁),已适配androidQ,借鉴并升级matisse加载内核!超强定制性可轻松实现知乎/马蜂窝/微博等特殊样式!支持跨进程回调!内部结构轻量级,无任何第三方开源库!支持support依赖!
Stars: ✭ 975 (+3262.07%)
Mutual labels:  gallery, photo-gallery
Photoview
Photo gallery for self-hosted personal servers
Stars: ✭ 553 (+1806.9%)
Mutual labels:  gallery, photo-gallery
Photato
Photato - The personal Pictures gallery
Stars: ✭ 130 (+348.28%)
Mutual labels:  photo-gallery, photo-browser
Ubergallery
An easy to use, simple to manage, web photo gallery written in PHP.
Stars: ✭ 189 (+551.72%)
Mutual labels:  gallery, photo-gallery
Insgallery
📸 Instagram-like image picker for Android (一款 UI 炫酷高仿 Instagram 的图片、视频选择器)
Stars: ✭ 409 (+1310.34%)
Mutual labels:  gallery, photo-gallery
Spotlight
Web's most easy to integrate lightbox gallery library. Super-lightweight, outstanding performance, no dependencies.
Stars: ✭ 799 (+2655.17%)
Mutual labels:  gallery, photo-gallery
horcrux
Generate you own online gallery easily. Photo is the horcrux of memory.
Stars: ✭ 34 (+17.24%)
Mutual labels:  gallery, photo-gallery
Aphotomanager
Manage local photos on Android: gallery, geotag with photomap, privacy, tags, find, sort, view, copy, send, ... .
Stars: ✭ 164 (+465.52%)
Mutual labels:  gallery, photo-gallery
Photos
📸 Your memories under your control
Stars: ✭ 157 (+441.38%)
Mutual labels:  gallery, photo-gallery
React Grid Gallery
Justified image gallery component for React
Stars: ✭ 571 (+1868.97%)
Mutual labels:  gallery, photo-gallery
PhotoMiner
Photo finder application for macOS
Stars: ✭ 102 (+251.72%)
Mutual labels:  photo-gallery, photo-browser
Stfalconimageviewer
A simple and customizable Android full-screen image viewer with shared image transition support, "pinch to zoom" and "swipe to dismiss" gestures
Stars: ✭ 1,734 (+5879.31%)
Mutual labels:  gallery, photo-gallery
envadrouille
Fast and customizable photo gallery.
Stars: ✭ 18 (-37.93%)
Mutual labels:  gallery, photo-gallery
jekyll-photos
Dead simple solution to add a photo gallery to a Jekyll site.
Stars: ✭ 47 (+62.07%)
Mutual labels:  gallery, photo-gallery
zipline
A ShareX/file upload server that is easy to use, packed with features, and with an easy setup!
Stars: ✭ 215 (+641.38%)
Mutual labels:  gallery
hicetnunc-radio
Radio player for audio tracks in a tezos wallet.
Stars: ✭ 23 (-20.69%)
Mutual labels:  gallery
embla-carousel-wheel-gestures
wheel interactions for Embla Carousel
Stars: ✭ 30 (+3.45%)
Mutual labels:  gallery
GelbooruEnhancement
Image Viewer and Endless Scroll userscripts for Gelbooru and various other boorus
Stars: ✭ 41 (+41.38%)
Mutual labels:  gallery
Floral
Minimal design gallery app for Android.
Stars: ✭ 23 (-20.69%)
Mutual labels:  gallery

Odyssey

A photoblog of my adventures. https://odyssey.neophilus.net

Usage

If you wish to use something similar, there are a few conventions you need to abide by.

Directory structure

Odyssey assumes all images reside in dist/gallery under a directory structure that follows <year>/<month>/<country>/<location>, for example 2015/04/Norway/Oslo. Places and countries with spaces in their names should be rendered as Ho_Chi_Minh_City. Image files can be named however you wish.

odyssey.yaml

Once your files are stored correctly in the gallery structure there is one important file to maintain. manifester/odyssey.yaml takes care of two lists: places and trips.


Places requires a list of all countries in the gallery with sub-lists of locations in the gallery. As Odyssey is targeting English, local names can be stored here and will be incorporated into the gallery. The local name for a country should be a sub-list element:

Norway:
  Local: Norge

Locations can be the value corresponding to the sub-list's key: Gothenburg: Göteborg. So a complete example could be:

places:
  Sweden:
    Local: Sverige
    Are: Åre
    Gothenburg: Göteborg
    Stockholm:

The Trips list is a little more involved, but needs to be so that the paths that are traced on the globe look like you'd anticipate.

Here's an example from my trip list to study:

trips:
  - name: S16
    description: Summer 2016
    cities:
      - Gothenburg
      - Frankfurt
      - Vienna
      - Yerevan
      - Vienna
      - Frankfurt
      - Gothenburg
      - Tallinn
      - Helsinki
      - Gothenburg
      - Stockholm
      - Gothenburg
      - Copenhagen
      - Crete
      - Athens
      - Frankfurt
      - Freiburg
      - Frankfurt
      - Gothenburg
    dates:
      - 2016/05
      - 2016/06
      - 2016/07
      - 2016/09
  • name is an identifier that is used internally to identify each trip. Choose a short but unique ID.
  • description is the one that shows up in the filter list in the menu, as well as the URL.
  • cities is a list of locations visited, in order on your trip. You can easily see that I was living in Gothenburg in 2016, since I start and end there, as well as stopped by multiple times during Summer 2016. The world map traces this list and puts a line between each pair in the list. It makes sense that my day trip to Stockholm is sandwiched between two Gothenburgs—otherwise the world map would show me jumping from Stockholm to Copenhagen, which didn't happen.
  • dates is a crude but effective method of filtering trips. Simply list the months your trip was on here, and the gallery will grab all images from the list of cities within the time-frame of the months listed here.

.desc files

The manifester generates empty .desc files for each image if one doesn't exist. If you wish to add a short description to a photo, write it in this file and the manifester will add it next pass. This file is not escaped, so please use \" if you need quotations in your description.

attribution.yaml

If you wish to assign a license to the images in your gallery, use the manifester/attribution.yaml file. Initially, you'll want to rename the manifester/attribution.example.yaml file to manifester/attribution.yaml. I've done this so that users just trying this repo out, don't apply my personal attribution to their photos accidentally.

By default, Marked will be set to false, thus skipping this step in the manifest building process. Switching this value to true will turn on a routine the will inject xmp metadata into each of your images. It will not alter any other exif data, but will overwrite any licensing data that may exist on your image already. This is not ideal and will be fixed in the future. In general though, this allows you to play around with your attribution file and each manifest build will change the agreement metadata in your images.

Choosing a license

I'd recommend a Creative Commons license. Many of which allow copying freely, but also have options for a non-commercial use clause. This is what I choose: Creative Commons Attribution-NonCommercial-Share Alike 4.0 International License

Creative Commons have a great selector on their website with ample information about each choice.

At the moment, the routines herein only support the CC scheme, so if you'd like to include something other than their licenses, please file an issue.

Updating a gallery

Once your files are organised, you can build your manifest by calling make manifest. This will generate all needed code for the updated world.json and Manifest.elm files. make build will generate all the javascript for the app, so you can preview the gallery before deployment: make serve will do this for you. deploy is a one-command update and upload trigger, so if you've just added images and nothing else, this is the only tool you want.

Development

Assumes you're using a modern linux distro with Elm 0.19 and Rust installed. As well as the inclusion of elm-live, uglifyjs and crass in your toolchain.

make debug gives you the Elm time-travelling debugger when live-previewing your changes.

License

Creative Commons License
Images in this gallery are licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. Contact me directly if you wish to use an image for commercial purposes.


Code for this gallery is released under the BSD 3-Clause "New" or "Revised" License, in line with most Elm libraries used within.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].