From d9f51299809bfb6b3ac589b7c42016d0ef240299 Mon Sep 17 00:00:00 2001 From: lxf Date: Sat, 6 Nov 2021 09:42:47 -0400 Subject: moved templates to top level directory --- templates/archives/birds.html | 56 +++ templates/archives/essays.html | 21 ++ templates/archives/expenses.html | 26 ++ templates/archives/figments.html | 26 ++ templates/archives/figments_series.html | 24 ++ templates/archives/gallery_list.html | 56 +++ templates/archives/guide.html | 51 +++ templates/archives/homepage-light.html | 98 ++++++ templates/archives/homepage.html | 90 +++++ templates/archives/life-list.html | 27 ++ templates/archives/links.html | 29 ++ templates/archives/map.html | 57 ++++ templates/archives/map_data.html | 529 +++++++++++++++++++++++++++++ templates/archives/notes.html | 66 ++++ templates/archives/notes_date.html | 74 ++++ templates/archives/people.html | 34 ++ templates/archives/photo_daily_list.html | 25 ++ templates/archives/photos.html | 32 ++ templates/archives/projects.html | 32 ++ templates/archives/resume-pubs-by-pub.html | 28 ++ templates/archives/resume-pubs.html | 33 ++ templates/archives/robots.html | 2 + templates/archives/sketches.html | 44 +++ templates/archives/src_books.html | 20 ++ templates/archives/writing.html | 46 +++ templates/archives/writing_date.html | 32 ++ 26 files changed, 1558 insertions(+) create mode 100644 templates/archives/birds.html create mode 100644 templates/archives/essays.html create mode 100644 templates/archives/expenses.html create mode 100644 templates/archives/figments.html create mode 100644 templates/archives/figments_series.html create mode 100644 templates/archives/gallery_list.html create mode 100644 templates/archives/guide.html create mode 100644 templates/archives/homepage-light.html create mode 100644 templates/archives/homepage.html create mode 100644 templates/archives/life-list.html create mode 100644 templates/archives/links.html create mode 100644 templates/archives/map.html create mode 100644 templates/archives/map_data.html create mode 100644 templates/archives/notes.html create mode 100644 templates/archives/notes_date.html create mode 100644 templates/archives/people.html create mode 100644 templates/archives/photo_daily_list.html create mode 100644 templates/archives/photos.html create mode 100644 templates/archives/projects.html create mode 100644 templates/archives/resume-pubs-by-pub.html create mode 100644 templates/archives/resume-pubs.html create mode 100644 templates/archives/robots.html create mode 100644 templates/archives/sketches.html create mode 100644 templates/archives/src_books.html create mode 100644 templates/archives/writing.html create mode 100644 templates/archives/writing_date.html (limited to 'templates/archives') diff --git a/templates/archives/birds.html b/templates/archives/birds.html new file mode 100644 index 0000000..db7c860 --- /dev/null +++ b/templates/archives/birds.html @@ -0,0 +1,56 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load pagination_tags %} + +{% block pagetitle %}Luxagraf | Birds seen {% if region %}in {{region.name|title|smartypants|safe}}{%else%}by {{user}}{%endif%}{% if page != "1" %} -- Page {{page}}{%endif%}{% endblock %} +{% block metadescription %}Birds seen {% if region %} in {{region.name|title|smartypants|safe}}{%else%}by {{user}}{%endif%} Page {{page}}{% endblock %} +{%block bodyid%}id="birds"{%endblock%} + + +{% block primary %} +
{% autopaginate object_list 40 %} +

Birds seen {% if region %}in {%if region.name == 'United States'%}the United States{%else%}{{region.name|title|smartypants|safe}}{%endif%}{%else%} by {{user}}{%endif%}

{% for object in object_list %} +
+
+{% load get_image_by_size %} +{% load get_image_width %} +
+ +{{object.image.alt}} photographed by {% if object.image.photo_credit_source %}{{object.image.photo_credit_source}}{%else%}luxagraf{%endif%} + +{% if object.image.photo_credit_source %}
photo by {{object.image.photo_credit_source}}
{%endif%} +
+
+

{{object.bird|safe|smartypants|widont}} ({{object.bird.scientific_name}})

+ +

+ Loc: + {% if object.country.name == "United States" %}{{object.location.name|smartypants|safe}}, {{object.state.name}}, U.S.{%else%}{{object.location.name|smartypants|safe}}, {{object.country.name}}{%endif%} + + {{object.latitude}} + {{object.longitude}} + + +

+
{% for recording in object.bird.recordings.all %} + + Audio recorded by {{recording.recorder}} on {{recording.pub_date|date:"F j, Y"}} in {{recording.location}}. © {{recording.copyright}} +
{% endfor %} +
{% endfor %} +
+ +{% endblock %} + + + +{% block js %}{% endblock%} diff --git a/templates/archives/essays.html b/templates/archives/essays.html new file mode 100644 index 0000000..06de13e --- /dev/null +++ b/templates/archives/essays.html @@ -0,0 +1,21 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load comments %} + +{% block pagetitle %}essay - archive{% endblock %} + +{% block metadescription %}luxagraf essays - thoughts things that aren't strictly travel related.{% endblock %} +{% block primary %} +
+

Essays

+

Stuff that isn't really travel related

{% for object in object_list %} + + {%endfor%} +
+{%endblock%} diff --git a/templates/archives/expenses.html b/templates/archives/expenses.html new file mode 100644 index 0000000..0007270 --- /dev/null +++ b/templates/archives/expenses.html @@ -0,0 +1,26 @@ +{% extends 'base.html' %} +{% load expense_total%} +{% load typogrify_tags %} + +{% block pagetitle %}Luxagraf: Expenses{% endblock %} + +{% block metadescription %}Think is costs a lot to drive around North America in a vintage Dodge Travco? Well, judge for yourself, here's how much is costs us.{% endblock %} + +{% block primary %} +
+
+
+

Trip Costs

+
+
+

When we were planning our trips the people who posted their finances were invaluably helpful for calculating how much we needed to make it work. It's also something many people don't like to talk about so expense breakdowns are sort of rare in the online travel world. In the spirit of (hopefully, maybe) inspiring someone else to get out there, here is a rough breakdown of our costs (sorry I didn't track expenses in much detail prior to the Travco trip).

+ {% for object in object_list %} +

{{object.name}}

+

{{object.dek}} View Details ⇢

+ {%endfor%} +

Around the world in 2010

+

This trip cost us (two) roughly ~4k, including all airfare. That's horribly expense for 2 months of traveling and I would never do it again. But sometimes you have to spend some money to learn

+

Around the world in 2005-06

+

This trip cost me roughly ~10k, including all airfare. I was solo back then and could have probably spent about ~2k less without really cramping my style much, but a fair amount of the time was spent trying to drink myself into an early grave and alcohol is expensive. I don't know how those numbers translate to today's money, but I wouldn't hesitate to set out again with half that much.

+ +{%endblock%} diff --git a/templates/archives/figments.html b/templates/archives/figments.html new file mode 100644 index 0000000..da7628e --- /dev/null +++ b/templates/archives/figments.html @@ -0,0 +1,26 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{%block bodyid%}class="archive" id="figments-archive"{%endblock%} + +{% block primary %} +
+
+

Figments of Imagination

+

The term “fiction” makes me uncomfortable because it implies that there is a corresponding term “non-fiction”, which would mean “truth”, and I don't think such a thing exists. There is no absolute truth when it comes to recording the world around you. It is always your subjective observations that allow you to record impressions in words. So I call these stories “less true stories mostly made up” and hope for the best, where “the best” is that you enjoy them.

+
+
{% for object in object_list %} + + {%endfor%} +
+
+{% endblock %} diff --git a/templates/archives/figments_series.html b/templates/archives/figments_series.html new file mode 100644 index 0000000..2f4a921 --- /dev/null +++ b/templates/archives/figments_series.html @@ -0,0 +1,24 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} + +{% block primary %} +
+

Figments of Imagination

+

I dislike the term “fiction” because it implies that there is a non-fiction and I categorically deny that such a thing can exist. So I call these stories “less true stories mostly made up” and hope for the best, where “the best” is that you enjoy them.

+

These are stories by series, where series is either a collection of related short stories or a novel/novella of some sort.

+ {% for obj in object_list %} +

{{obj.title|smartypants|safe}}:

{%for object in obj.series.all%} + + {%endfor%} + {%endfor%} +
+{% endblock %} diff --git a/templates/archives/gallery_list.html b/templates/archives/gallery_list.html new file mode 100644 index 0000000..91e04cb --- /dev/null +++ b/templates/archives/gallery_list.html @@ -0,0 +1,56 @@ +{% extends 'base.html' %} +{% load get_image_by_size %} +{% load typogrify_tags %} +{% load pagination_tags %} + +{% block pagetitle %}Luxagraf | {% if region %}Photo Galleries: Images from {{region.name|title|smartypants|safe}}{%else%}Photo Galleries: Images from Around the World {%endif%} Page {{page}}{% endblock %} +{% block metadescription %}{% if region %}Photo Galleries from {{region.name|title|smartypants|safe}}{%else%}Photo Galleries: Images from Around the World {%endif%} Page {{page}}{% endblock %} + +{%block extrahead%} + +{%endblock%} + +{%block bodyid%}id="photo-archive"{%endblock%} + +{% block primary %} +
+

{% if region %}Photographs from {{region.name|title|smartypants|safe}}{%else%}Photographs from Around the World {%endif%}

+ {% autopaginate object_list 24 %}{% for object in object_list %} + {% endfor %} +
+ +{% endblock %} diff --git a/templates/archives/guide.html b/templates/archives/guide.html new file mode 100644 index 0000000..e6e3f97 --- /dev/null +++ b/templates/archives/guide.html @@ -0,0 +1,51 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load pagination_tags %} + +{% block pagetitle %}Luxagraf | {% if region %}Travel Guide {{region.name|title|smartypants|safe}}{%else%} Travel Guides, Tips, Tricks and Recommendations {%endif%} Page {{page}}{% endblock %} +{% block metadescription %}{% if region %}A Travel Guide, Tips, Tricks and Recommendations for {{region.name|title|smartypants|safe}}{%else%}Travel Guides, Tips, Tricks and Recommendations {%endif%} Page {{page}}{% endblock %} +{%block bodyid%}id="guide-archive" class="guide"{%endblock%} + + +{% block primary %} + +
+

Travel Guides

+

What I Know About Where I've Been

+
+

The essays on luxagraf rarely offer much travel advice. I don't often write about places I stay, where I eat, the gear I carry or even how to get from here to there. At the same time I always save business cards and write down addresses almost everywhere I go. + Until now I haven't really done anything with that information, save tell a few friends headed in similar directions. So I decided to created this, the travel guide section, so you can know what I know. I even busted out the video camera for a few of these. Just bear in mind that this is my experience, yours may be very different. That's okay.

+
+ + +
{% autopaginate object_list 10 %} {% for object in object_list %} + {% endfor %} +
+ +{% endblock %} + + + +{% block js %}{% endblock%} + + + +{% if object.location %}

{% if object.country_name == "United States" %}{{object.location_name|smartypants|safe}}, {{object.state_name}}{%else%}{{object.location_name|smartypants|safe}}, {{object.country_name}}{%endif%} + +

{%endif%} diff --git a/templates/archives/homepage-light.html b/templates/archives/homepage-light.html new file mode 100644 index 0000000..2f0a130 --- /dev/null +++ b/templates/archives/homepage-light.html @@ -0,0 +1,98 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% block sitename %} + + Luxagraf: thoughts on ecology, culture, travel, photography, walking and other ephemera + {%endblock%} + + {%block extrahead%} + +{%endblock%} +{%block bodyid%}id="home" class="archive"{%endblock%} + +{% block primary %} +
+

About Luxagraf

+ map of travels +

We’re a family of five living full time in a vintage 1969 Dodge Travco motorhome. We’ve been at it for three years now. People always ask: What's it like for five people to live in a 26ft RV? Why do we live this way?

+

The short answer is simple: because we like it and we can. If you want more than a soundbite, read through the journal. If you like it, sign up for the email list, though I'm bad about using it. I'd subscribe to the RSS feed, but that's just me.

+
+ +
+
Browse the Archives
+
+{% endblock %} + +{% block js %}{% comment %} {% endcomment%}{% endblock%} diff --git a/templates/archives/homepage.html b/templates/archives/homepage.html new file mode 100644 index 0000000..8640dad --- /dev/null +++ b/templates/archives/homepage.html @@ -0,0 +1,90 @@ +{% extends 'base.html' %} +{% load get_image_by_size %} +{% load typogrify_tags %} +{%block htmlclass%}class="black"{%endblock%} +{% block sitename %} + + Luxagraf + {%endblock%} +{%block bodyid%}id="home"{%endblock%} + +{% block primary %} +
+

About Luxagraf

+

Luxagraf is my notebook. Something that, in an earlier age, I would have long ago lost in the backseat of a taxi.

+

Or something like that. It could just be a website. Except that I don’t do lists. And I’m not trying to make money off of it.

Whatever it is, whatever brought you here, I hope you enjoy it.

+
+
+
+

Most Popular

+ {% for object in homepage.popular.all %} + {% endfor %} +

Read More

+
+
+

Most Recent

+ {% for object in recent %}{% if object.pk != homepage.featured.pk %} + {%endif%}{% endfor %} +
+
+{% endblock %} + +{% block js %}{% comment %} {% endcomment%}{% endblock%} diff --git a/templates/archives/life-list.html b/templates/archives/life-list.html new file mode 100644 index 0000000..9b92725 --- /dev/null +++ b/templates/archives/life-list.html @@ -0,0 +1,27 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load pagination_tags %} + +{% block pagetitle %}Luxagraf | Birding Life List {% if region %}in {{region.name|title|smartypants|safe}}{%else%}by {{user}}{%endif%}{% if page != "1" %} -- Page {{page}}{%endif%}{% endblock %} +{% block metadescription %}Briding Life List {% if region %} in {{region.name|title|smartypants|safe}}{%else%}by {{user}}{%endif%} Page {{page}}{% endblock %} +{%block bodyid%}id="birds"{%endblock%} + + +{% block primary %} +
+

Brids Life List {% if region %}in {%if region.name == 'United States'%}the United States{%else%}{{region.name|title|smartypants|safe}}{%endif%}{%else%} by {{user}}{%endif%}

+
+

Current Life List Total: {{object_list|length}}

+ +
+
+{% endblock %} + + + +{% block js %}{% endblock%} diff --git a/templates/archives/links.html b/templates/archives/links.html new file mode 100644 index 0000000..9e1336f --- /dev/null +++ b/templates/archives/links.html @@ -0,0 +1,29 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load pagination_tags %} +{% block pagetitle %} Links | luxagraf {% endblock %} +{% block metadescription %} {% endblock %} +{%block bodyid%}class="links" id="links-archive"{%endblock%} + +{% block primary %} + +
+
+ +
+ {% autopaginate object_list 100 %}{% for object in object_list %} + + {% endfor %} +
+ +{% endblock %} diff --git a/templates/archives/map.html b/templates/archives/map.html new file mode 100644 index 0000000..5a0797a --- /dev/null +++ b/templates/archives/map.html @@ -0,0 +1,57 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load truncateletters %} +{% load slugify_under %} +{% block pagetitle %}Luxagraf | Map and Trips{% endblock %} +{% block metadescription %}Browse luxagraf by map, see trip routes and discover essays and dispatches from around the world{% endblock %} + +{#============================================== +Google Maps code +==============================================#} +{% block extrahead %} + + +{% endblock %} +{%block bodyid%}id="map"{%endblock%} + +{% block primary %} +
+

Browse luxagraf by map

+
+
+
+ +
+

Trips

+
    + {% for r in route_list %}{%for route in r %} +
  • {{route.name}}
  • + {% endfor %}{% endfor %} +
+

Regions

+ +

Countries

+
    +
  • All
  • + {%for c in country_list %} + {% for country in c %} +
  • {{country.name}}
  • + {% endfor %} + {% endfor %} +
+
+ {% endblock %} +{% block js %} + + +{% endblock%} + diff --git a/templates/archives/map_data.html b/templates/archives/map_data.html new file mode 100644 index 0000000..ef3a4c4 --- /dev/null +++ b/templates/archives/map_data.html @@ -0,0 +1,529 @@ +{% load typogrify_tags %} +{% load truncateletters %} +(function () { + 'use strict'; + + L.TileLayer.Provider = L.TileLayer.extend({ + initialize: function (arg, options) { + var providers = L.TileLayer.Provider.providers; + + var parts = arg.split('.'); + + var providerName = parts[0]; + var variantName = parts[1]; + + if (!providers[providerName]) { + throw 'No such provider (' + providerName + ')'; + } + + var provider = { + url: providers[providerName].url, + options: providers[providerName].options + }; + + // overwrite values in provider from variant. + if (variantName && 'variants' in providers[providerName]) { + if (!(variantName in providers[providerName].variants)) { + throw 'No such variant of ' + providerName + ' (' + variantName + ')'; + } + var variant = providers[providerName].variants[variantName]; + var variantOptions; + if (typeof variant === 'string') { + variantOptions = { + variant: variant + }; + } else { + variantOptions = variant.options; + } + provider = { + url: variant.url || provider.url, + options: L.Util.extend({}, provider.options, variantOptions) + }; + } else if (typeof provider.url === 'function') { + provider.url = provider.url(parts.splice(1, parts.length - 1).join('.')); + } + + // replace attribution placeholders with their values from toplevel provider attribution, + // recursively + var attributionReplacer = function (attr) { + if (attr.indexOf('{attribution.') === -1) { + return attr; + } + return attr.replace(/\{attribution.(\w*)\}/, + function (match, attributionName) { + return attributionReplacer(providers[attributionName].options.attribution); + } + ); + }; + provider.options.attribution = attributionReplacer(provider.options.attribution); + + // Compute final options combining provider options with any user overrides + var layerOpts = L.Util.extend({}, provider.options, options); + L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts); + } + }); + + /** + * Definition of providers. + * see http://leafletjs.com/reference.html#tilelayer for options in the options map. + */ + + //jshint maxlen:220 + L.TileLayer.Provider.providers = { + OpenStreetMap: { + url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', + options: { + attribution: + '© OpenStreetMap contributors, ' + + 'CC-BY-SA' + }, + variants: { + Mapnik: {}, + BlackAndWhite: { + url: 'http://{s}.www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png' + }, + DE: { + url: 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png' + }, + HOT: { + url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png', + options: { + attribution: '{attribution.OpenStreetMap}, Tiles courtesy of Humanitarian OpenStreetMap Team' + } + } + } + }, + OpenSeaMap: { + url: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', + options: { + attribution: 'Map data: © OpenSeaMap contributors' + } + }, + Thunderforest: { + url: 'http://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png', + options: { + attribution: + '© OpenCycleMap, {attribution.OpenStreetMap}', + variant: 'cycle' + }, + variants: { + OpenCycleMap: 'cycle', + Transport: 'transport', + Landscape: 'landscape', + Outdoors: 'outdoors' + } + }, + OpenMapSurfer: { + url: 'http://openmapsurfer.uni-hd.de/tiles/{variant}/x={x}&y={y}&z={z}', + options: { + minZoom: 0, + maxZoom: 20, + variant: 'roads', + attribution: 'Imagery from GIScience Research Group @ University of Heidelberg — Map data {attribution.OpenStreetMap}' + }, + variants: { + Roads: 'roads', + AdminBounds: { + options: { + variant: 'adminb', + maxZoom: 19 + } + }, + Grayscale: { + options: { + variant: 'roadsg', + maxZoom: 19 + } + } + } + }, + MapQuestOpen: { + url: 'http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg', + options: { + attribution: + 'Tiles Courtesy of MapQuest — ' + + 'Map data {attribution.OpenStreetMap}', + subdomains: '1234' + }, + variants: { + OSM: {}, + Aerial: { + url: 'http://oatile{s}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg', + options: { + attribution: + 'Tiles Courtesy of MapQuest — ' + + 'Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency' + } + } + } + }, + MapBox: { + url: function (id) { + return 'http://{s}.tiles.mapbox.com/v3/' + id + '/{z}/{x}/{y}.png'; + }, + options: { + attribution: + 'Imagery from MapBox — ' + + 'Map data {attribution.OpenStreetMap}', + subdomains: 'abcd' + } + }, + Stamen: { + url: 'http://{s}.tile.stamen.com/{variant}/{z}/{x}/{y}.png', + options: { + attribution: + 'Map tiles by Stamen Design, ' + + 'CC BY 3.0 — ' + + 'Map data {attribution.OpenStreetMap}', + subdomains: 'abcd', + minZoom: 0, + maxZoom: 20, + variant: 'toner' + }, + variants: { + Toner: 'toner', + TonerBackground: 'toner-background', + TonerHybrid: 'toner-hybrid', + TonerLines: 'toner-lines', + TonerLabels: 'toner-labels', + TonerLite: 'toner-lite', + Terrain: { + options: { + variant: 'terrain', + minZoom: 4, + maxZoom: 18 + } + }, + TerrainBackground: { + options: { + variant: 'terrain-background', + minZoom: 4, + maxZoom: 18 + } + }, + Watercolor: { + options: { + variant: 'watercolor', + minZoom: 3, + maxZoom: 16 + } + } + } + }, + Esri: { + url: 'https://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}', + options: { + variant: 'World_Street_Map', + attribution: 'Tiles © Esri' + }, + variants: { + WorldStreetMap: { + options: { + attribution: + '{attribution.Esri} — ' + + 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012' + } + }, + DeLorme: { + options: { + variant: 'Specialty/DeLorme_World_Base_Map', + minZoom: 1, + maxZoom: 11, + attribution: '{attribution.Esri} — Copyright: ©2012 DeLorme' + } + }, + WorldTopoMap: { + options: { + variant: 'World_Topo_Map', + attribution: + '{attribution.Esri} — ' + + 'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community' + } + }, + WorldImagery: { + options: { + variant: 'World_Imagery', + attribution: + '{attribution.Esri} — ' + + 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community' + } + }, + WorldTerrain: { + options: { + variant: 'World_Terrain_Base', + maxZoom: 13, + attribution: + '{attribution.Esri} — ' + + 'Source: USGS, Esri, TANA, DeLorme, and NPS' + } + }, + WorldShadedRelief: { + options: { + variant: 'World_Shaded_Relief', + maxZoom: 13, + attribution: '{attribution.Esri} — Source: Esri' + } + }, + WorldPhysical: { + options: { + variant: 'World_Physical_Map', + maxZoom: 8, + attribution: '{attribution.Esri} — Source: US National Park Service' + } + }, + OceanBasemap: { + options: { + variant: 'Ocean_Basemap', + maxZoom: 13, + attribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri' + } + }, + NatGeoWorldMap: { + options: { + variant: 'NatGeo_World_Map', + maxZoom: 16, + attribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC' + } + }, + WorldGrayCanvas: { + options: { + variant: 'Canvas/World_Light_Gray_Base', + maxZoom: 16, + attribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ' + } + } + } + }, + OpenWeatherMap: { + url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png', + options: { + attribution: 'Map data © OpenWeatherMap', + opacity: 0.5 + }, + variants: { + Clouds: 'clouds', + CloudsClassic: 'clouds_cls', + Precipitation: 'precipitation', + PrecipitationClassic: 'precipitation_cls', + Rain: 'rain', + RainClassic: 'rain_cls', + Pressure: 'pressure', + PressureContour: 'pressure_cntr', + Wind: 'wind', + Temperature: 'temp', + Snow: 'snow' + } + }, + HERE: { + /* + * HERE maps, formerly Nokia maps. + * These basemaps are free, but you need an API key. Please sign up at + * http://developer.here.com/getting-started + * + * Note that the base urls contain '.cit' whichs is HERE's + * 'Customer Integration Testing' environment. Please remove for production + * envirionments. + */ + url: + 'http://{s}.{base}.maps.cit.api.here.com/maptile/2.1/' + + 'maptile/{mapID}/{variant}/{z}/{x}/{y}/256/png8?' + + 'app_id={app_id}&app_code={app_code}', + options: { + attribution: + 'Map © 1987-2014 HERE', + subdomains: '1234', + mapID: 'newest', + 'app_id': '', + 'app_code': '', + base: 'base', + variant: 'normal.day', + minZoom: 0, + maxZoom: 20 + }, + variants: { + normalDay: 'normal.day', + normalDayCustom: 'normal.day.custom', + normalDayGrey: 'normal.day.grey', + normalDayMobile: 'normal.day.mobile', + normalDayGreyMobile: 'normal.day.grey.mobile', + normalDayTransit: 'normal.day.transit', + normalDayTransitMobile: 'normal.day.transit.mobile', + normalNight: 'normal.night', + normalNightMobile: 'normal.night.mobile', + normalNightGrey: 'normal.night.grey', + normalNightGreyMobile: 'normal.night.grey.mobile', + + carnavDayGrey: 'carnav.day.grey', + hybridDay: { + options: { + base: 'aerial', + variant: 'hybrid.day' + } + }, + hybridDayMobile: { + options: { + base: 'aerial', + variant: 'hybrid.day.mobile' + } + }, + pedestrianDay: 'pedestrian.day', + pedestrianNight: 'pedestrian.night', + satelliteDay: { + options: { + base: 'aerial', + variant: 'satellite.day' + } + }, + terrainDay: { + options: { + base: 'aerial', + variant: 'terrain.day' + } + }, + terrainDayMobile: { + options: { + base: 'aerial', + variant: 'terrain.day.mobile' + } + } + } + }, + Acetate: { + url: 'http://a{s}.acetate.geoiq.com/tiles/{variant}/{z}/{x}/{y}.png', + options: { + attribution: + '©2012 Esri & Stamen, Data from OSM and Natural Earth', + subdomains: '0123', + minZoom: 2, + maxZoom: 18, + variant: 'acetate-base' + }, + variants: { + basemap: 'acetate-base', + terrain: 'terrain', + all: 'acetate-hillshading', + foreground: 'acetate-fg', + roads: 'acetate-roads', + labels: 'acetate-labels', + hillshading: 'hillshading' + } + } + }; + + L.tileLayer.provider = function (provider, options) { + return new L.TileLayer.Provider(provider, options); + }; + + L.Control.Layers.Provided = L.Control.Layers.extend({ + initialize: function (base, overlay, options) { + var first; + + var labelFormatter = function (label) { + return label.replace(/\./g, ': ').replace(/([a-z])([A-Z])/g, '$1 $2'); + }; + + if (base.length) { + (function () { + var out = {}, + len = base.length, + i = 0; + + while (i < len) { + if (typeof base[i] === 'string') { + if (i === 0) { + first = L.tileLayer.provider(base[0]); + out[labelFormatter(base[i])] = first; + } else { + out[labelFormatter(base[i])] = L.tileLayer.provider(base[i]); + } + } + i++; + } + base = out; + }()); + this._first = first; + } + + if (overlay && overlay.length) { + (function () { + var out = {}, + len = overlay.length, + i = 0; + + while (i < len) { + if (typeof overlay[i] === 'string') { + out[labelFormatter(overlay[i])] = L.tileLayer.provider(overlay[i]); + } + i++; + } + overlay = out; + }()); + } + L.Control.Layers.prototype.initialize.call(this, base, overlay, options); + }, + onAdd: function (map) { + this._first.addTo(map); + return L.Control.Layers.prototype.onAdd.call(this, map); + } + }); + + L.control.layers.provided = function (baseLayers, overlays, options) { + return new L.Control.Layers.Provided(baseLayers, overlays, options); + }; +}()); + +var map = L.map('map-inner-canvas') + +// center on a country +function focusCountry(latitude, longitude, zoom) { + map.panTo(new L.LatLng(latitude, longitude)); + map.setZoom(zoom); +}; + +{% for r in route_list %} +{% for route in r %} +var {{route.template_var_name}} = L.polygon([ +{% for point in route.geometry.coords%} + [{{point.1}}, {{point.0}}]{% if forloop.last%}{%else%},{%endif%} +{% endfor %} + ]); + {% endfor %} + {% endfor %} + +function showRoute(route, zoom, latitude, longitude) { + map.panTo(new L.LatLng(latitude, longitude)); + map.setZoom(zoom); + eval(route).addTo(map); + return false; +}; + //check for a permalink + //find a centerpoint + var pts = new Array(); + {%for c in country_list%}pts[{{forloop.counter0}}] = ["#{{c.slug}}", {{c.lat}},{{c.lon}},{{c.zoom_level}}]; + {% endfor %} + {%for c in region_list%}pts[pts.length] = ["#{{c.slug}}", {{c.lat}},{{c.lon}},{{c.zoom_level}}]; + {% endfor %} +if (window.location.hash) { + for (var i=0; i < pts.length; i++) { + if (window.location.hash == pts[i][0]) { + var centerCoord = new L.LatLng(pts[i][1],pts[i][2]); + var zoom = pts[i][3]; + break; + } else { + var centerCoord = new L.LatLng(19.311143,2.460938); + var zoom = 2; + } + } +} else { + centerCoord = new L.LatLng(19.311143,2.460938); + zoom = 2; +} +//Set center +map.setView(centerCoord, zoom); +L.tileLayer.provider('Esri.WorldTopoMap', {maxZoom: 18,attribution: 'Map data © OpenStreetMap contributors, CC-BY-SA, Tiles © Esri and the GIS User Community'}).addTo(map); + +//loop through and set up markers/info windows +{% for entry in object_list %} +L.marker([{{entry.latitude}}, {{entry.longitude}}]).bindPopup('

{{entry.title}}<\/h4>{{entry.pub_date|date:"F j, Y"}} ({% if entry.location.state.country.name == "United States" %}{{entry.location.name|smartypants|safe}}, {{entry.location.state.name}}){%else%}{{entry.location.name|smartypants|safe}}, {{entry.location.state.country.name}}){%endif%}<\/span>

{{ entry.title }}{{entry.dek|escapejs}} Read it »<\/a><\/p><\/div>').addTo(map); +{% endfor %} + diff --git a/templates/archives/notes.html b/templates/archives/notes.html new file mode 100644 index 0000000..9960fc8 --- /dev/null +++ b/templates/archives/notes.html @@ -0,0 +1,66 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% load pagination_tags %} +{% block pagetitle %} Field Notes | luxagraf {% endblock %} +{% block metadescription %} Rough notes and sketches from the field {% endblock %} +{%block bodyid%}class="notes" id="notes-archive"{%endblock%} + +{% block primary %} +

+
+

Field Notes

+

Quick notes and images from the road

+ {% autopaginate object_list 16 %}{% for object in object_list %} + +{% endfor %} +
+ +{% endblock %} + + + diff --git a/templates/archives/notes_date.html b/templates/archives/notes_date.html new file mode 100644 index 0000000..be41176 --- /dev/null +++ b/templates/archives/notes_date.html @@ -0,0 +1,74 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% load month_number_to_name %} +{% block pagetitle %} Field Notes Published in {% if month %}{{month}}{%endif%} {{year}} | luxagraf{% endblock %} +{% block bodyid %}class="notes" id="archive-{% if month %}{{month}}{%endif%}{{year}}"{%endblock%} +{% block primary %} +
+ +

Field Notes Published in {% if not month %}{{year|date:"Y"}}{%else%} {{month|date:"F Y"}}{% endif %}

{% if month %}{% for object in object_list %}

+ + {% endfor %} + {% else %} +{% regroup object_list by pub_date.month as entries_by_month %}{% for month in entries_by_month %} +
+

{{ month.list.0.pub_date|date:"F Y" }}

{% for object in month.list|dictsortreversed:"pub_date" %} + + {% endfor %} +
+ {% endfor %} + {% endif %} +
+{% endblock%} diff --git a/templates/archives/people.html b/templates/archives/people.html new file mode 100644 index 0000000..533199a --- /dev/null +++ b/templates/archives/people.html @@ -0,0 +1,34 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load pagination_tags %} +{% block pagetitle %} People | luxagraf {% endblock %} +{% block metadescription %} {% endblock %} +{%block bodyid%}class="links" id="people-archive"{%endblock%} + +{% block primary %} + +
+
+ +
+ {% autopaginate object_list 100 %}{% for object in object_list %} + + {% endfor %} +
+ +{% endblock %} diff --git a/templates/archives/photo_daily_list.html b/templates/archives/photo_daily_list.html new file mode 100644 index 0000000..04254ff --- /dev/null +++ b/templates/archives/photo_daily_list.html @@ -0,0 +1,25 @@ +{% extends 'base.html' %} +{%block htmlclass%}class="detail single"{% endblock %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% load pagination_tags %} +{% block pagetitle %} Photos | luxagraf {% endblock %} +{% block metadescription %} Recent Images {% endblock %} +{%block bodyid%}class="photos" id="notes-archive"{%endblock%} + +{% block primary %} + +
+ {% autopaginate object_list 8 %}{% for object in object_list %} +
+
+ {% include 'lib/img_picwide.html' with image=object caption=False exif=False is_cluster=False cluster_class='' extra='' %} +
{{object.location}}, {{object.location.state.country}}
+
+
+ {% endfor %} +
+{% endblock%} diff --git a/templates/archives/photos.html b/templates/archives/photos.html new file mode 100644 index 0000000..c8d3db5 --- /dev/null +++ b/templates/archives/photos.html @@ -0,0 +1,32 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load pagination_tags %} + +{% block pagetitle %}Luxagraf | {% if region %}Photo Galleries: Images from {{region.name|title|smartypants|safe}}{%else%}Photo Galleries: Images from Around the World {%endif%} Page {{page}}{% endblock %} +{% block metadescription %}{% if region %}Photo Galleries from {{region.name|title|smartypants|safe}}{%else%}Photo Galleries: Images from Around the World {%endif%} Page {{page}}{% endblock %} + + +{%block bodyid%}id="photo-archive"{%endblock%} + +{% block primary %} +
+

{% if region %}Photographs from {{region.name|title|smartypants|safe}}{%else%}Photographs from Around the World {%endif%}

+ +
+ +{% endblock %} diff --git a/templates/archives/projects.html b/templates/archives/projects.html new file mode 100644 index 0000000..738317f --- /dev/null +++ b/templates/archives/projects.html @@ -0,0 +1,32 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% block pagetitle %}Luxagraf | Projects {% endblock %} +{% block metadescription %}Travel Themes and Experiments {% endblock %} + +{%block bodyid%}class="archive"{%endblock%} + +{% block primary %} +
+
+

Luxagraf has become a bit like an iceberg over the years. I keep adding things to it, but never actually make them public. So I decided to try making some of it more public.

+

This will lead you to some of the previously submerged stuff that doesn't always neatly fit in with the travel narrative portion of luxagraf.

+
+ +
+{% endblock %} + +{% block js %}{% endblock%} diff --git a/templates/archives/resume-pubs-by-pub.html b/templates/archives/resume-pubs-by-pub.html new file mode 100644 index 0000000..575313e --- /dev/null +++ b/templates/archives/resume-pubs-by-pub.html @@ -0,0 +1,28 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% load pagination_tags %} +{% block pagetitle %} Publications | Resume{% endblock %} +{% block metadescription %} {% endblock %} +{%block bodyid%}class="resume" id="publications-archive"{%endblock%} +{%block htmlclass%}class="detail"{% endblock %} +{% block primary %} + +
+

(Most) Stories published in {{publisher}}

+
+ {{ publisher.body_html|safe|widont|smartypants}} +
+
+ +
+{% endblock %} diff --git a/templates/archives/resume-pubs.html b/templates/archives/resume-pubs.html new file mode 100644 index 0000000..26b4936 --- /dev/null +++ b/templates/archives/resume-pubs.html @@ -0,0 +1,33 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% load pagination_tags %} +{% block pagetitle %} Publications | Resume{% endblock %} +{% block metadescription %} {% endblock %} +{%block bodyid%}class="archive resume" id="publications-archive"{%endblock%} + +{% block primary %} + +
+

Publications

+
By Publication
+ + +
+{% endblock %} diff --git a/templates/archives/robots.html b/templates/archives/robots.html new file mode 100644 index 0000000..77470cb --- /dev/null +++ b/templates/archives/robots.html @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / \ No newline at end of file diff --git a/templates/archives/sketches.html b/templates/archives/sketches.html new file mode 100644 index 0000000..06fe311 --- /dev/null +++ b/templates/archives/sketches.html @@ -0,0 +1,44 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% load pagination_tags %} +{% block pagetitle %} Field Notes | luxagraf {% endblock %} +{% block metadescription %} Rough notes and sketches from the field {% endblock %} +{%block bodyid%}id="field-notes"{%endblock%} + +{% block primary %} + +
+
+

Field Notes

+

Quick notes, sketches and images from the road. This is the semi-orgnized brain dump that comes before the more organized journal entries and essays. If I used social media this is the stuff I'd probably put there, but I prefer to put it here, even if it means a lot few people read it.

+
+ {% autopaginate object_list 30 %} + +
+ + +{% endblock %} + + + diff --git a/templates/archives/src_books.html b/templates/archives/src_books.html new file mode 100644 index 0000000..f15d9ab --- /dev/null +++ b/templates/archives/src_books.html @@ -0,0 +1,20 @@ +{% extends 'src_base.html' %} +{% load typogrify_tags %} +{%block bodyid%}id="book-page"{%endblock%} +{%block metadescription%}Book Store | luxagraf:src{%endblock%} +{% block primary %} + +
+

Books

+
{% for object in object_list %} + + {% endfor %}
+
+{% endblock %} diff --git a/templates/archives/writing.html b/templates/archives/writing.html new file mode 100644 index 0000000..e249cd3 --- /dev/null +++ b/templates/archives/writing.html @@ -0,0 +1,46 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load pagination_tags %} + +{% block pagetitle %}Luxagraf | {% if region %}Travel Writing from {{region.name|title|smartypants|safe}}{%else%}Travel Writing from Around the World {%endif%}{% if page != "1" %} -- Page {{page}}{%endif%}{% endblock %} +{% block metadescription %}{% if region %}Travel writing, essays and dispatches from {{region.name|title|smartypants|safe}}{%else%}Travel writing, essays and dispatches from around the world{%endif%} Page {{page}}{% endblock %} +{%block bodyid%}id="writing"{%endblock%} + + +{% block primary %} +
+

{% if region %}Journal entries from {%if region.name == 'United States'%}the United States{%else%}{{region.name|title|smartypants|safe}}{%endif%}{%else%}Journal {%endif%}

{% autopaginate object_list 24 %} {% for object in object_list %} +
+
+ {{ object.title }} +
+

{{object.title|safe|smartypants|widont}}

+ + +

+ + {% if object.country.name == "United States" %}{{object.location.name|smartypants|safe}}, {{object.state.name}}, U.S.{%else%}{{object.location.name|smartypants|safe}}, {{object.country.name}}{%endif%} + + {{object.latitude}} + {{object.longitude}} + + – + + {{object.dek|safe}} + +

+
{% endfor %} +
+ +{% endblock %} + + + +{% block js %}{% endblock%} diff --git a/templates/archives/writing_date.html b/templates/archives/writing_date.html new file mode 100644 index 0000000..4091e74 --- /dev/null +++ b/templates/archives/writing_date.html @@ -0,0 +1,32 @@ +{% extends 'base.html' %} +{% load typogrify_tags %} +{% load html5_datetime %} +{% block pagetitle %}{{block.super}}: Archive{% endblock %} +{% block bodyid %}id="archive"{%endblock%} + + +{% block primary %} +
+

{% if not month %}{{year|date:"Y"}}, on luxagraf{%else%} Archive: {{month|date:"F Y"}}{% endif %}

{% if not month %} +
    {% regroup object_list by pub_date.month as entries_by_month %}{% for entries in entries_by_month reversed %} +
  • {{ entries.list.0.pub_date|date:"F Y" }} + +
  • {% endfor %} +
{% else %} + + {% endif %} +{% endblock%} -- cgit v1.2.3-70-g09d2