summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f <luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f>2010-01-30 19:19:30 +0000
committerluxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f <luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f>2010-01-30 19:19:30 +0000
commit0882d73ca1ba4c84ce24c946548c80d9e4d1c04e (patch)
tree605e2284e175e80477fd7b6a6e9e2a2fcae94236
parent7300519c054838511ba2584394620d0841b88e5f (diff)
added topics to posts
-rw-r--r--apps/blog/admin.py7
-rw-r--r--apps/blog/models.py22
-rw-r--r--apps/blog/views.py13
-rw-r--r--apps/links/utils.py2
-rw-r--r--apps/photos/models.py9
-rw-r--r--apps/photos/urls.py2
-rw-r--r--apps/photos/utils.py110
-rw-r--r--apps/photos/views.py5
-rw-r--r--base_urls.py6
-rw-r--r--cron/sync_links.py12
-rw-r--r--lib/contact_form/forms.py6
-rw-r--r--lib/view_wrapper.py10
-rw-r--r--media/css/base.css47
-rw-r--r--media/googlehostedservice.html1
-rw-r--r--media/img/pause.pngbin0 -> 963 bytes
-rw-r--r--media/img/play.pngbin0 -> 1072 bytes
-rw-r--r--media/img/slideshow-arrow-left.pngbin0 -> 1062 bytes
-rw-r--r--media/img/slideshow-arrow-right.pngbin0 -> 1064 bytes
-rw-r--r--media/robots.txt2
-rw-r--r--templates/404.html25
-rw-r--r--templates/500.html132
-rw-r--r--templates/archives/homepage.html2
-rw-r--r--templates/archives/map.html2
-rw-r--r--templates/archives/photos.html6
-rw-r--r--templates/archives/topics.html39
-rw-r--r--templates/archives/writing.html4
-rw-r--r--templates/base.html6
-rw-r--r--templates/contact_form/contact_form.html26
-rw-r--r--templates/details/entry.html40
-rw-r--r--templates/details/photo_galleries.html345
-rw-r--r--templates/includes/map_entry_list.html145
31 files changed, 832 insertions, 194 deletions
diff --git a/apps/blog/admin.py b/apps/blog/admin.py
index 78ad458..c5c5c5d 100644
--- a/apps/blog/admin.py
+++ b/apps/blog/admin.py
@@ -1,6 +1,6 @@
from django.contrib import admin
from django import forms
-from blog.models import Entry, PostImage
+from blog.models import Entry, PostImage, Topic
from blog.widgets import AdminImageWidget
from django.contrib.gis.admin import OSMGeoAdmin
from django.contrib.gis.maps.google import GoogleMap
@@ -23,7 +23,7 @@ class EntryAdmin(OSMGeoAdmin):
list_filter = ('pub_date', 'enable_comments', 'status','region','location')
fieldsets = (
('Entry', {'fields': ('title','body_markdown', ('location','region'), 'pub_date', ('status','enable_comments'), 'tags', 'slug','photo_gallery'), 'classes': ('show','extrapretty','wide')}),
- ('Pub Location', {'fields': ('point',('thumbnail',),'dek', 'title_keywords'), 'classes': ('collapse', 'wide')}),
+ ('Pub Location', {'fields': ('point',('thumbnail',),'dek', 'topics', 'title_keywords'), 'classes': ('collapse', 'wide')}),
)
class Media:
@@ -71,6 +71,9 @@ class EntryAdmin(OSMGeoAdmin):
class PostImageAdmin(admin.ModelAdmin):
list_display = ('title', 'output_tags')
+class TopicAdmin(admin.ModelAdmin):
+ list_display = ('name', 'slug')
+admin.site.register(Topic, TopicAdmin)
admin.site.register(PostImage, PostImageAdmin)
admin.site.register(Entry, EntryAdmin)
diff --git a/apps/blog/models.py b/apps/blog/models.py
index 5ff6624..bdbcd82 100644
--- a/apps/blog/models.py
+++ b/apps/blog/models.py
@@ -35,6 +35,17 @@ class PostImage(models.Model):
return force_unicode('<img src="%s%s" alt="%s" class="postpic"/>' % \
(settings.IMAGES_URL, self.image.url.split('images')[1].split('/',1)[1], self.title))
+
+class Topic(models.Model):
+ name = models.CharField(max_length=100)
+ slug = models.SlugField()
+
+ def __unicode__(self):
+ return self.name
+
+ def get_absolute_url(self):
+ return "/topics/%s/" % (self.slug)
+
class Entry(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(unique_for_date='pub_date')
@@ -56,6 +67,17 @@ class Entry(models.Model):
photo_gallery = models.ForeignKey(PhotoGallery, blank=True, null=True, verbose_name='photo set')
thumbnail = models.FileField(upload_to=get_upload_path, null=True,blank=True)
title_keywords = models.CharField(max_length=200, null=True, blank=True)
+ topics = models.ManyToManyField(Topic, blank=True)
+
+ @property
+ def longitude(self):
+ '''Get the site's longitude.'''
+ return self.point.x
+
+ @property
+ def latitude(self):
+ '''Get the site's latitude.'''
+ return self.point.y
class Meta:
ordering = ('-pub_date',)
diff --git a/apps/blog/views.py b/apps/blog/views.py
index 6ccdc28..ef933eb 100644
--- a/apps/blog/views.py
+++ b/apps/blog/views.py
@@ -5,7 +5,7 @@ from django.views.generic.list_detail import object_list
from django.http import Http404
-from blog.models import Entry
+from blog.models import Entry, Topic
from locations.models import Region, Country
def home(request):
@@ -36,6 +36,17 @@ def entry_list(request,page):
"""
+List of all writing
+"""
+def topic_list(request,slug,page):
+ request.page_url = '/topics/'+slug+'/%d/'
+ request.page = int(page)
+ topic = Topic.objects.get(slug=slug)
+ qs = Entry.objects.filter(status__exact=1,topics=topic).order_by('-pub_date').select_related()
+ return object_list(request, queryset=qs, template_name='archives/topics.html',)
+
+
+"""
Grabs entries by region or country
"""
def entry_list_by_area(request,slug,page):
diff --git a/apps/links/utils.py b/apps/links/utils.py
index b94f196..9acbd52 100644
--- a/apps/links/utils.py
+++ b/apps/links/utils.py
@@ -109,7 +109,7 @@ def sync_delicious_links(*args, **kwargs):
email_link(l)
if l.status == 1:
pass
- post_to_tumblr(l)
+ #post_to_tumblr(l)
#send_to_deliciousfb(l)
if(dupe):
break
diff --git a/apps/photos/models.py b/apps/photos/models.py
index 9b6d331..73098b3 100644
--- a/apps/photos/models.py
+++ b/apps/photos/models.py
@@ -47,7 +47,14 @@ class Photo(models.Model):
admin_thumbnail.allow_tags = True
admin_thumbnail.short_description = 'Thumbnail'
+ def get_local_medium_url(self):
+ return '%sflickr/med/%s/%s.jpg' %(settings.IMAGES_URL,self.pub_date.strftime("%Y"),self.flickr_id)
+ def get_local_orig_url(self):
+ return '%sflickr/full/%s/%s.jpg' %(settings.IMAGES_URL,self.pub_date.strftime("%Y"),self.flickr_id)
+
+ def get_local_slideshow_url(self):
+ return '%sslideshow/%s/%s.jpg' %(settings.IMAGES_URL,self.pub_date.strftime("%Y"),self.flickr_id)
def __unicode__(self):
return self.title
@@ -139,7 +146,7 @@ class PhotoGallery(models.Model):
return "%sgallery_thumbs/%s.jpg" % (settings.IMAGES_URL, self.id)
def get_absolute_url(self):
- return "/photos/album/%s/" % (self.id)
+ return "/photos/galleries/%s/" % (self.set_slug)
class PhotoSitemap(Sitemap):
diff --git a/apps/photos/urls.py b/apps/photos/urls.py
index 44b4869..b53b343 100644
--- a/apps/photos/urls.py
+++ b/apps/photos/urls.py
@@ -5,7 +5,7 @@ from django.views.generic.simple import redirect_to
urlpatterns = patterns('',
- (r'(?P<slug>[-\w]+)/(?P<page>\d+)/$', 'photos.views.gallery_list_by_area'),
+ (r'galleries/(?P<slug>[-\w]+)/$', 'photos.views.gallery'),
(r'(?P<page>\d+)/$', 'photos.views.gallery_list'),
(r'(?P<slug>[-\w]+)/$', redirect_to, {'url': '/photos/%(slug)s/1/'}),
(r'', redirect_to, {'url': '/photos/1/'}),
diff --git a/apps/photos/utils.py b/apps/photos/utils.py
index de0884d..57a4cdb 100644
--- a/apps/photos/utils.py
+++ b/apps/photos/utils.py
@@ -55,7 +55,7 @@ def sync_flickr_photos(*args, **kwargs):
print 'already have '+info['id']+' moving on'
except ObjectDoesNotExist:
taglist = []
- place = place_handler(force_unicode(info['latitude'])+","+force_unicode(info['longitude']))
+ location, region = get_geo(float(info['latitude']),float(info['longitude']))
details = client.flickr_photos_getInfo(user_id=settings.FLICKR_USER_ID, photo_id=force_unicode(info['id']))
for t in details.findall('photo/tags/tag'):
tag = dict((k, smart_unicode(t.get(k))) for k in t.keys())
@@ -78,12 +78,15 @@ def sync_flickr_photos(*args, **kwargs):
exif_iso = exif['ISO Speed'],
exif_lens = exif['Focal Length'],
exif_date = flickr_datetime_to_datetime(exif["Date and Time (Original)"].replace(':', '-', 2)),
- gps = force_unicode(info['latitude'])+","+force_unicode(info['longitude']),
- place = place,
+ lat = float(info['latitude']),
+ lon = float(info['longitude']),
+ region = region,
+ location = location,
tags = ", ".join(t for t in taglist)
)
+ #print info['title'], region, location
photo.save()
- make_local_size(photo)
+ #make_local_size(photo)
def exif_handler(data):
converted = {}
@@ -109,20 +112,92 @@ def flickr_datetime_to_datetime(fdt):
date_parts = strptime(fdt, '%Y-%m-%d %H:%M:%S')
return datetime(*date_parts[0:6])
-def place_handler(gps):
- place = Place.objects.all()
- count = Place.objects.count()
- num = 1
- for p in place:
- if p.within_bounds(gps) is True:
- return p
- elif p.within_bounds(gps) is False and count == num:
- return Place.objects.filter(name='Default').get()
- num += 1
+def get_geo(lat,lon):
+ from locations.models import Location, Region
+ from django.contrib.gis.geos import Point
+ pnt_wkt = Point(lon, lat)
+ try:
+ location = Location.objects.get(geometry__contains=pnt_wkt)
+ except Location.DoesNotExist:
+ location = None
+ region = Region.objects.get(geometry__contains=pnt_wkt)
+ return location, region
+
ImageFile.MAXBLOCK = 1000000
-def make_local_size(photo,set):
+def slideshow_image(photo):
+ slide_dir = settings.IMAGES_ROOT + '/slideshow/'+ photo.pub_date.strftime("%Y")
+ if not os.path.isdir(slide_dir):
+ os.makedirs(slide_dir)
+ med = photo.get_original_url()
+ fname = urllib.urlopen(med)
+ im = cStringIO.StringIO(fname.read()) # constructs a StringIO holding the image
+ img = Image.open(im)
+ cur_width, cur_height = img.size
+ #if image landscape
+ if cur_width > cur_height:
+ new_width = 800
+ #check to make sure we aren't upsizing
+ if cur_width > new_width:
+ ratio = float(new_width)/cur_width
+ x = (cur_width * ratio)
+ y = (cur_height * ratio)
+ resized = img.resize((int(x), int(y)), Image.ANTIALIAS)
+ resized_filename = '%s/%s.jpg' %(slide_dir, photo.flickr_id)
+ resized.save(resized_filename, 'JPEG', quality=95, optimize=True)
+ else:
+ filename = '%s/%s.jpg' %(slide_dir, photo.flickr_id)
+ img.save(filename)
+ else:
+ #image portrait
+ new_height = 600
+ #check to make sure we aren't upsizing
+ if cur_height > new_height:
+ ratio = float(new_height)/cur_height
+ x = (cur_width * ratio)
+ y = (cur_height * ratio)
+ resized = img.resize((int(x), int(y)), Image.ANTIALIAS)
+ resized_filename = '%s/%s.jpg' %(slide_dir, photo.flickr_id)
+ resized.save(resized_filename, 'JPEG', quality=95, optimize=True)
+ else:
+ filename = '%s/%s.jpg' %(slide_dir, photo.flickr_id)
+ img.save(filename)
+
+def make_local_copies(photo):
+ orig_dir = settings.IMAGES_ROOT + '/flickr/full/'+ photo.pub_date.strftime("%Y")
+ if not os.path.isdir(orig_dir):
+ os.makedirs(orig_dir)
+ full = photo.get_original_url()
+ fname = urllib.urlopen(full)
+ im = cStringIO.StringIO(fname.read()) # constructs a StringIO holding the image
+ img = Image.open(im)
+ local_full = '%s/%s.jpg' %(orig_dir, photo.flickr_id)
+ img.save(local_full)
+ #save large size
+ large_dir = settings.IMAGES_ROOT + '/flickr/large/'+ photo.pub_date.strftime("%Y")
+ if not os.path.isdir(large_dir):
+ os.makedirs(large_dir)
+ large = photo.get_large_url()
+ fname = urllib.urlopen(large)
+ im = cStringIO.StringIO(fname.read()) # constructs a StringIO holding the image
+ img = Image.open(im)
+ local_large = '%s/%s.jpg' %(large_dir, photo.flickr_id)
+ if img.format == 'JPEG':
+ img.save(local_large)
+ #save medium size
+ med_dir = settings.IMAGES_ROOT + '/flickr/med/'+ photo.pub_date.strftime("%Y")
+ if not os.path.isdir(med_dir):
+ os.makedirs(med_dir)
+ med = photo.get_medium_url()
+ fname = urllib.urlopen(med)
+ im = cStringIO.StringIO(fname.read()) # constructs a StringIO holding the image
+ img = Image.open(im)
+ local_med = '%s/%s.jpg' %(med_dir, photo.flickr_id)
+ img.save(local_med)
+
+
+def make_gallery_thumb(photo,set):
crop_dir = settings.IMAGES_ROOT + '/gallery_thumbs/'
if not os.path.isdir(crop_dir):
os.makedirs(crop_dir)
@@ -392,8 +467,6 @@ for p in photos.photos.photo:
make_local_size(photo)
#if (dupe):
#break
-
-"""
from locations.models import Location
from photos.models import Photo
@@ -408,4 +481,5 @@ def find_loc(photos):
print photo.id
photo.save()
except Location.DoesNotExist:
- print "photo %s does not fall within any exisiting location" %(photo.id) \ No newline at end of file
+ print "photo %s does not fall within any exisiting location" %(photo.id)
+""" \ No newline at end of file
diff --git a/apps/photos/views.py b/apps/photos/views.py
index 43591ca..5967333 100644
--- a/apps/photos/views.py
+++ b/apps/photos/views.py
@@ -3,6 +3,7 @@ from django.template import RequestContext
from django.views.generic.list_detail import object_list
from django.http import Http404
+from view_wrapper import luxagraf_render
from tagging.models import Tag,TaggedItem
from photos.models import Photo,PhotoGallery
from locations.models import Country, Region
@@ -20,6 +21,10 @@ def gallery_list(request,page):
qs = PhotoGallery.objects.all().order_by('-id')
return object_list(request, queryset=qs, template_name='archives/photos.html')
+def gallery(request,slug):
+ g = PhotoGallery.objects.get(set_slug=slug)
+ return luxagraf_render(request,'details/photo_galleries.html', {'object': g,})
+
"""
Grabs entries by region or country
diff --git a/base_urls.py b/base_urls.py
index 2fab651..1fdc87b 100644
--- a/base_urls.py
+++ b/base_urls.py
@@ -38,6 +38,7 @@ urlpatterns += patterns('',
)
urlpatterns += patterns('',
+ (r'^colophon/', redirect_to, {'url': '/about/'}),
(r'^admin/doc/', redirect_to, {'url': '/grappelli/help/1/'}),
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/filebrowser/', include('filebrowser.urls')),
@@ -53,6 +54,9 @@ urlpatterns += patterns('',
#(r'^photo-of-the-day/$', 'luxagraf.photos.views.potd_list'),
(r'^sitemap.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps}),
(r'^writing/', include('blog.urls')),
+ (r'^tops/', include('blog.urls')),
+ (r'^topics/(?P<slug>[-\w]+)/$', redirect_to, {'url': '/topics/%(slug)s/1/'}),
+ (r'^topics/(?P<slug>[-\w]+)/(?P<page>\d+)/', 'blog.views.topic_list'),
#Entry detail i.e. /year/month/day/my-title/
(r'(?P<year>\d{4})/(?P<month>[a-z]{3})/(?P<day>\w{1,2})/(?P<slug>[-\w]+)/$', 'blog.views.entry_detail'),
# locations
@@ -63,6 +67,4 @@ urlpatterns += patterns('',
(r'^map/', include('locations.urls')),
#homepage
(r'^$', 'blog.views.home'), #'blog.views.home'),
- #static pages
- #(r'(?P<page>[-\w]+)/$', 'static.views.page_view'),
)
diff --git a/cron/sync_links.py b/cron/sync_links.py
new file mode 100644
index 0000000..3ecd5a4
--- /dev/null
+++ b/cron/sync_links.py
@@ -0,0 +1,12 @@
+import sys, os
+
+sys.path.append('/home/luxagraf/webapps/django')
+sys.path.append('/home/luxagraf/webapps/django/luxagraf')
+sys.path.append('/home/luxagraf/webapps/django/luxagraf/apps')
+sys.path.append('/home/luxagraf/webapps/django/luxagraf/lib')
+sys.path.append('/home/luxagraf/webapps/django/lib/python2.5/')
+os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
+
+from links import utils
+#utils.sync_magnolia_links()
+utils.sync_delicious_links() \ No newline at end of file
diff --git a/lib/contact_form/forms.py b/lib/contact_form/forms.py
index 921d8ee..830db75 100644
--- a/lib/contact_form/forms.py
+++ b/lib/contact_form/forms.py
@@ -139,12 +139,12 @@ class ContactForm(forms.Form):
name = forms.CharField(max_length=100,
widget=forms.TextInput(attrs=attrs_dict),
- label=u'Your name')
+ label=u'Name:')
email = forms.EmailField(widget=forms.TextInput(attrs=dict(attrs_dict,
maxlength=200)),
- label=u'Your email address')
+ label=u'E-mail:')
body = forms.CharField(widget=forms.Textarea(attrs=attrs_dict),
- label=u'Your message')
+ label=u'Message:')
#from_email = settings.DEFAULT_FROM_EMAIL
diff --git a/lib/view_wrapper.py b/lib/view_wrapper.py
new file mode 100644
index 0000000..0e1e492
--- /dev/null
+++ b/lib/view_wrapper.py
@@ -0,0 +1,10 @@
+from django.shortcuts import render_to_response
+from django.template.context import RequestContext
+
+def luxagraf_render(request, *args, **kwargs):
+ """
+ Replacement for render_to_response that uses RequestContext and sets an
+ extra template variable, TEMPLATE_NAME.
+ """
+ kwargs['context_instance'] = RequestContext(request)
+ return render_to_response(*args, **kwargs) \ No newline at end of file
diff --git a/media/css/base.css b/media/css/base.css
index 231da59..33d1e10 100644
--- a/media/css/base.css
+++ b/media/css/base.css
@@ -26,7 +26,7 @@ header, section, footer, aside, article, nav {display: block;text-align:left;}
html {height:100%;}
body {
background: #faf9f4;
- font-family: Georgia, "Times New Roman", Times, Serif;
+ font-family: "Hoefler Text", Georgia, "Times New Roman", Times, Serif;
/* font-size 15px */
font-size: 93.75%;
/* line height of 24 px */
@@ -54,7 +54,7 @@ a:hover {
color: #b53a04 !important;
text-decoration: none;
}
-article a {border-bottom: 1px dotted #b53a04;}
+article a {border-bottom: 1px dotted #f00;}
blockquote, blockquote p { font-size: 14px !important; margin: 1.2em !important; line-height: 22px !important; font-style: italic !important;}
/* --------------------- layout ------------------------ */
@@ -65,7 +65,7 @@ header nav ul { margin: 35px auto 0;text-align: center;}
header nav li {display: inline; font-style: italic; font-size: 11px; margin: 0 0 2px 0; letter-spacing: 1px;}
header hgroup h1,
header hgroup h1 a {
- font: 40px/40px Georgia, "Times New Roman", Times, serif;
+ font: 40px/40px Georgia, "Times New Roman", Times, Serif;
text-transform: uppercase;
letter-spacing: 4px;
color: #b53a04 !important;
@@ -86,7 +86,7 @@ header hgroup h2 a {color: #b53a04 !important;}
/* global article styles */
article h1,
article h1 a {
- font: 48px/48px Georgia, "Times New Roman", Times, serif;
+ font: 48px/48px Georgia, "Times New Roman", Times, Serif;
font-style: normal;
color: #000 !important;
margin: 55px 0 5px 0;
@@ -106,7 +106,7 @@ h3 {
/*make the first graf bigger for browsers that understand -- suck it ie6 */
body.writing-detail article section#post p:nth-of-type(1), body#home article section#featured-article p:nth-of-type(1) {
- font: 18px/28px Georgia, "Times New Roman", Times, serif;
+ font: 18px/28px "Hoefler Text", Georgia, "Times New Roman", Times, Serif;
margin: 0 0 1em 0;
}
@@ -115,8 +115,7 @@ body.writing-detail article section#post p:nth-of-type(1), body#home article sec
article {margin: 0 auto; width: 560px;}
-time, .location, .all-link { color: #888; text-align: center; margin: 12px 0 22px;text-transform: uppercase; font-size: 80%;font-style: italic;}
-.location a {color: #888;}
+.all-link { color: #888; text-align: center; margin: 12px 0 22px;text-transform: uppercase; font-size: 80%;font-style: italic; }
.all-link a {border: none;}
@@ -209,10 +208,13 @@ aside h4 {
margin: 8px 0 2px;
}
aside ul li { margin-left: 4px; font-size: 80%; line-height: 20px;}
-
+aside.meta { float: none; text-align: center; margin: 22px 0 22px 0; color: #888; text-transform: uppercase; font-size: 80%;font-style: italic;}
+aside.meta a {color: #888; border: none;}
+aside.meta span {line-height: 18px;}
+aside.meta .topics {display: block;}
/* Writing Detail Pages */
-span.byline, .all-link {display: block;color: #888; text-align: center; margin: 12px 0 22px;}
+.all-link {display: block;color: #888; text-align: center; margin: 12px 0 22px;}
/* drop caps */
span.drop {
font-size: 5.5em;
@@ -220,18 +222,19 @@ span.drop {
float: left;
padding: 30px 5px 5px 0;
overflow: visible;
+ font-family: Georgia, "Times New Roman", Times, Serif;
}
ol.footnote {
border-top: 1px dotted #ccc;
- font-size: 85%;
+ font-size: 12px;
margin: 18px 0;
}
ol.footnote li {
margin: 12px 0;
line-height: .8em;
}
-ol.footnote li p {line-height: 18px !important;}
-ol.footnote li a, ol.footnote li span {font-size: 70%; }
+ol.footnote li p {line-height: 18px !important; font-size:12px !important;}
+ol.footnote li a, ol.footnote li span {font-size: 12px; }
hr.footnotes {
display: none;
}
@@ -258,9 +261,17 @@ section#comments h4 {
padding-top: 45px;
}
section#comments h4 span {font-size: 90%; font-style: italic;}
-
+section p.pull-quote {text-align: center; font-style: italic;font-size: 14px !important; line-height: 18px !important;margin-bottom: 24px;}
+span.credit {display: block;}
+
+/*contact form*/
+.form-holder {width: 500px; margin: 40px auto;}
+.form-holder li { clear: both; }
+.form-holder dt {float: left; margin: 0 10px 6px 0; text-align: right; width: 130px;}
+.form-holder dd { float: left;}
+.form-holder .button { clear: both; float: right; margin: 8px 30px 100px 0;}
/* --------------------- Footer ------------------------ */
-footer {text-align:center; padding-top: 40px; font-size: 80%; clear:both; margin-top: 60px; background:#e2e2dd;}
+footer {text-align:center; padding-top: 40px; font-size: 80%; clear:both; margin-top: 60px; background:#ded1c0;}
footer div { margin: 0 auto; width: 580px;}
footer section {float: left; margin: 0 14px; width: 110px; line-height: 20px;}
footer section:first-child {width: 220px; margin: 0 20px 0 30px;}
@@ -316,9 +327,15 @@ img.postpicleft {
margin: 5px;
}
/* --------------------- misc classes ------------------------ */
-
+.hide {display:none;}
.dsq-brlink, img[src='http://maps.gstatic.com/intl/en_us/mapfiles/poweredby.png'], .terms-of-use-link {display: none;}
+#dsq-comments-count {display: none;}
div[dir='ltr'] span {
width: 0;
visibility: collapse;
}
+p.update {font-size: 12px !important; line-height: 18px !important;}
+#dsq-comments-title {display: none;}
+#dsq-new-post {padding: 10px !important; background:#ded1c0 !important; margin-top: 50px !important}
+.disqus-link-count {text-decoration: none; border: none;}
+a.disqus-link-count:hover {color: #222 !important; cursor:pointer !important;} \ No newline at end of file
diff --git a/media/googlehostedservice.html b/media/googlehostedservice.html
new file mode 100644
index 0000000..21ca48c
--- /dev/null
+++ b/media/googlehostedservice.html
@@ -0,0 +1 @@
+googleffffffffa0ebb2f3 \ No newline at end of file
diff --git a/media/img/pause.png b/media/img/pause.png
new file mode 100644
index 0000000..a87cd1e
--- /dev/null
+++ b/media/img/pause.png
Binary files differ
diff --git a/media/img/play.png b/media/img/play.png
new file mode 100644
index 0000000..e94b94f
--- /dev/null
+++ b/media/img/play.png
Binary files differ
diff --git a/media/img/slideshow-arrow-left.png b/media/img/slideshow-arrow-left.png
new file mode 100644
index 0000000..facb4d5
--- /dev/null
+++ b/media/img/slideshow-arrow-left.png
Binary files differ
diff --git a/media/img/slideshow-arrow-right.png b/media/img/slideshow-arrow-right.png
new file mode 100644
index 0000000..34d45a5
--- /dev/null
+++ b/media/img/slideshow-arrow-right.png
Binary files differ
diff --git a/media/robots.txt b/media/robots.txt
new file mode 100644
index 0000000..d7cd58c
--- /dev/null
+++ b/media/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /admin/ \ No newline at end of file
diff --git a/templates/404.html b/templates/404.html
index 56b58a4..d3db4f8 100644
--- a/templates/404.html
+++ b/templates/404.html
@@ -6,25 +6,26 @@
{% block title %}404 Page Not Found{% endblock %}
- {% block primary %}
+{% block primary %}
+<article>
+ <h1>Error 404 &ndash; Page Not Found</h1>
<p><b>Oh my god you broke the internet.</b></p>
<p><b>Al Gore is pissed.</b></p>
<p><b>So is the hamster</b></p>
<p>This is probably because of one or more of the following:</p>
-<ol class="generic">
- <li>The hamster who fetches these pages has stepped out for a smoke break (he earns extra travel money over at the Philip Morris Labs where he poses as a rat and gets paid under the table).</li>
- <li>The hamster who fetches these pages is actually at Phillip Morris Labs working right now in which case you'll just have to wait until he comes back here.</li>
- <li>The hamster who fetches the pages finally made enough extra travel money working nights at the Philip Morris Labs to actually travel and is no longer running this site at all, in fact he's sipping Mai Tai's in Indonesia even as we speak, laughing that semi-sinister but always endearing high pitched squeak of a laugh.</li>
- <li>The hamster may be innocent. Perhaps I was drunk and left the page in the back of a cab.</li>
- <li>Wait, why is this our fault? Why are you so quick to blame the hamster? This could be your fault. You might have man hands or thick, clumsy fingers or that led you to type the wrong address. Or you might just be an idiot. Or you might be following the links of an idiot. See what happens when you visit other sites? Keep it simple, make the hamster happy. Limit your internet usage to luxagraf only.</li>
- <li>Of course its possible that you're ahead of me and the page simply hasn't been invented yet, which makes you a genius. And explains why the hamster coouldn't find it.</li>
- <li>It's also entirely possible that the page exists but the hamster doesn't want to show it to you. It maybe one of those "backroom" pages he has where secret stuff beyond your wildest imaginings are happening even now, right this second, just behind this blank white curtain. Stuff which you can only guess at. You can ask the hamster for an invite. Just email a full body shot, two forms of ID and a credit card number for verification purposes.</li>
- </ol>
+
+<p>The hamster who fetches these pages has stepped out for a smoke break (he earns extra travel money over at the Philip Morris Labs where he poses as a rat and gets paid under the table).</p>
+ <p>The hamster who fetches these pages is actually at Phillip Morris Labs working right now in which case you'll just have to wait until he comes back here.</p>
+ <p>The hamster who fetches the pages finally made enough extra travel money working nights at the Philip Morris Labs to actually travel and is no longer running this site at all, in fact he's sipping Mai Tai's in Indonesia even as we speak, laughing that semi-sinister but always endearing high pitched squeak of a laugh.</p>
+ <p>The hamster may be innocent. Perhaps I was drunk and left the page in the back of a cab.</p>
+ <p>Wait, why is this our fault? Why are you so quick to blame the hamster? This could be your fault. You might have man hands or thick, clumsy fingers or that led you to type the wrong address. Or you might just be an idiot. Or you might be following the links of an idiot. See what happens when you visit other sites? Keep it simple, make the hamster happy. Limit your internet usage to luxagraf only.</p>
+ <p>Of course its possible that you're ahead of me and the page simply hasn't been invented yet, which makes you a genius. And explains why the hamster couldn't find it.</p>
+ <p>It's also entirely possible that the page exists but the hamster doesn't want to show it to you. It maybe one of those "backroom" pages he has, where secret stuff beyond your wildest imaginings is happening even now, right this second, just behind this blank white curtain. Stuff which you can only guess at. You can ask the hamster for an invite. Just email a full body shot, two forms of ID and a credit card number for verification purposes.</p>
<p>Whatever the case you may <a href="javascript:history.go(-1)">return from whence you came</a>, <a href="/" title="Luxagraf Homepage">Head for the main page</a> or try searching again for whatever it is you wanted to find.</p>
+</article>
{% endblock %}
-
-
+
diff --git a/templates/500.html b/templates/500.html
index 84954d9..f45b240 100644
--- a/templates/500.html
+++ b/templates/500.html
@@ -1,37 +1,99 @@
-{% extends 'base.html' %}
-{% load typogrify %}
-{% block pagetitle %}Luxagraf | Internal Server Error {% endblock %}
-{% block metadescription %}Luxagraf: {{object.dek|striptags|safe}}{% endblock %}
-
-
- {% block title %}500 Internal Server Error{% endblock %}
-
-
- {% block primary %}
-
- <p>Holy crap, you broke the internet. The proper authorities have been notified and it will most likely be working again soon.</p>
-
- {% endblock %}
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <title>Luxagraf | Internal Server Error</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+ <script>
+ document.createElement('header');
+ document.createElement('nav');
+ document.createElement('section');
+ document.createElement('article');
+ document.createElement('aside');
+ document.createElement('footer');
+ document.createElement('time');
+ document.createElement('hgroup');
+ </script>
+
+
+ <link rel="alternate"
+ type="application/rss+xml"
+ title="RSS 2.0"
+ href="http://feeds2.feedburner.com/luxagraf/blog">
+
-
+ <link rel="stylesheet"
+ href="http://media.luxagraf.net//css/base.css"
+ type="text/css"
+ media="screen"
+ charset="utf-8">
+
+<!--[if IE 6]><link rel="stylesheet" href="http://new.luxagraf.net/media/css/ie6.css" type="text/css" media="screen, projection"><![endif]-->
+
+ <link rel="shortcut icon"
+ href="http://media.luxagraf.net/img/favicon.ico"
+ type="image/vnd.microsoft.icon">
+
+ <link rel="apple-touch-icon"
+ href="http://media.luxagraf.net/img/luxagrafiphoneicon.png">
+
+ <meta name="author" content="luxagraf">
+ <meta name="description"
+ content="{% block metadescription %}Luxagraf: a travelogue of sorts, Recording journeys around the world and just next door.{% endblock %}">
+ <meta name="keywords"
+ content="luxagraf writing travel authors philosophy ramblings">
+ <meta name="copyright"
+ content="Licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 License">
+
-{% block sidebar %}
-<div id="sidebar">
- <div id="nav" class="first"><a href="{{featured.get_previous_published.get_absolute_url}}" title="">&laquo;Previous</a></div>
- <div class="blok">
- <h4>Topography</h4>
- {% chunk "regions_sidebar" %}
- </div>
- <div class="blok">
- <h4>About Luxagraf</h4>
- {% chunk "about_sidebar" %}
-
- </div>
-
- <div class="blok">
- <h4>Follow Along</h4>
- {% chunk "follow_sidebar" %}
- </div>
-</div><!-- sidebar -->
-
-{% endblock %} \ No newline at end of file
+ <link rel="openid.server"
+ href="http://www.myopenid.com/server" >
+
+ <link rel="openid.delegate"
+ href="http://luxagraf.myopenid.com/" >
+
+<meta name="verify-v1" content="ZCZSYGNdjeLCPx5trSQELyhY9kq9N7CznTcv5JFkpnM=">
+</head>
+
+<body>
+ <header>
+ <nav>
+ <ul>
+ <li id="stories"><a href="/writing/1/" title="An archive of previous writings from around the world">I write.</a></li>
+ <li id="map" title="Maps and miscellanea"><a href="/map/">I travel.</a></li>
+ <li id="photos" title="Photos from travels around the world"><a href="/photos/1/">I photograph.</a></li>
+ </ul>
+ </nav>
+ <hgroup>
+ <h1><a href="/" title="home">Luxagraf</a></h1>
+ <h2><a href="/about/" title="About Luxagraf">{a travelogue}</a></h2>
+ </hgroup>
+ </header>
+
+ <article>
+ <h1>Server Error</h1>
+ <p>Holy crap, you broke the internet. The proper authorities have been notified and it will most likely be working again soon.</p>
+ </article>
+
+ <div id="clearfix"></div>
+ <footer>
+ <nav>
+ <ul>
+ <li><a href="/">Home</a></li>
+ <li><a href="/writing/1/">Writing</a></li>
+ <li><a href="/map/">Map</a></li>
+ <li><a href="/photos/1/">Photographs</a></li>
+ <li><a href="/contact/">Contact</a></li>
+ </ul>
+ </nav>
+ <div>
+
+ <section id="license">
+ <p>All content licensed under the Creative Commons (<a href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.en" title="read the Attribution-Noncommercial-Share Alike 3.0 deed">details</a>). <span>Built with <a href="http://geodjango.org/" title="a GeoDjango joint">GeoDjango</a> and hosted on <a href="http://www.webfaction.com/" title="webfaction">Webfaction</a>.</span></p>
+ </section>
+ </div>
+ </footer>
+</body>
+</html>
+
+ {% endblock %}
+ \ No newline at end of file
diff --git a/templates/archives/homepage.html b/templates/archives/homepage.html
index 03b2888..0f4af61 100644
--- a/templates/archives/homepage.html
+++ b/templates/archives/homepage.html
@@ -8,7 +8,7 @@
<article>
<section id="featured-article">
<h1><a href="{{featured.get_absolute_url}}">{{featured.title|widont|smartypants|safe}}</a></h1>
- <span class="byline"><time datetime="{{featured.pub_date}}">{{featured.pub_date|date:"F j, Y"}}</time> &bull; <span class="location">{% ifequal featured.location.state.country.name "United States" %}{{featured.location.name|smartypants|safe}}, <a href="/writing/united-states/1/" title="travel writing from the United States">{{featured.location.state.name}}</a>{%else%}{{featured.location.name|smartypants|safe}}, <a href="/writing/{{featured.location.state.country.slug}}/1/" title="travel writing from {{featured.location.state.country.name}}">{{featured.location.state.country.name}}</a>{%endifequal%}</span></span>
+ <aside class="meta"><span class="location">{% ifequal featured.location.state.country.name "United States" %}{{featured.location.name|smartypants|safe}}, <a href="/writing/united-states/1/" title="travel writing from the United States">{{featured.location.state.name}}</a>{%else%}{{featured.location.name|smartypants|safe}}, <a href="/writing/{{featured.location.state.country.slug}}/1/" title="travel writing from {{featured.location.state.country.name}}">{{featured.location.state.country.name}}</a>{%endifequal%}</span></aside>
{{featured.lede|smartypants|widont|safe}}</p>
<span><a href="{{featured.get_absolute_url}}" title="{{featured.title}}">More &raquo;</a></span>
</section>
diff --git a/templates/archives/map.html b/templates/archives/map.html
index 0a90df9..b040b00 100644
--- a/templates/archives/map.html
+++ b/templates/archives/map.html
@@ -4,7 +4,7 @@
{% load slugify_under %}
{% block pagetitle %}Luxagraf | Map and Trips{% endblock %}
-{% block metadescription %}Writing Archive, Luxagraf{% endblock %}
+{% block metadescription %}Browse luxagraf by map, see trip routes and discover essays and dispatches from around the world{% endblock %}
{#==============================================
Google Maps code
diff --git a/templates/archives/photos.html b/templates/archives/photos.html
index f44265d..b2ef4f7 100644
--- a/templates/archives/photos.html
+++ b/templates/archives/photos.html
@@ -2,8 +2,8 @@
{% load typogrify %}
{% load pagination_tags %}
-{% block pagetitle %}Luxagraf | {% if region %}Photos from {{region.name|title|smartypants|safe}}{%else%}Photos from Around the World {%endif%}{% endblock %}
-{% block metadescription %}Photo Archive, Luxagraf{% endblock %}
+{% block pagetitle %}Luxagraf | {% if region %}Photo Galleries: Images from {{region.name|title|smartypants|safe}}{%else%}Photo Galleries: Images from Around the World {%endif%}{% endblock %}
+{% block metadescription %}{% if region %}Photo Galleries from {{region.name|title|smartypants|safe}}{%else%}Photo Galleries: Images from Around the World {%endif%}{% endblock %}
{%block bodyid%}id="photo-archive"{%endblock%}
@@ -13,7 +13,7 @@
<h1>{% if region %}Photographs from {{region.name|title|smartypants|safe}}{%else%}Photographs from Around the World {%endif%}</h1>
<ul id="photo-galleries">{% autopaginate object_list 18 %} {% for object in object_list %}
<li>
- <a href="{%comment%}{{object.get_absolute_url}}{%endcomment%}http://www.flickr.com/photos/luxagraf/sets/{{object.set_id}}/show/"><img src="{{object.get_main_image}}" alt="{{ object.set_title }}"/></a>
+ <a href="{{object.get_absolute_url}}"><img src="{{object.get_main_image}}" alt="{{ object.set_title }}"/></a>
<h3>{{object.set_title}}</h3>
<p>{{object.set_desc|truncatewords:30|smartypants|safe}}</p>
</li>{% endfor %}
diff --git a/templates/archives/topics.html b/templates/archives/topics.html
new file mode 100644
index 0000000..2e4802e
--- /dev/null
+++ b/templates/archives/topics.html
@@ -0,0 +1,39 @@
+{% extends 'base.html' %}
+{% load typogrify %}
+{% load pagination_tags %}
+
+{% block pagetitle %}Luxagraf | {% if region %}Travel Writing from {{region.name|title|smartypants|safe}}{%else%}Travel Writing from Around the World {%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%}{% endblock %}
+{%block bodyid%}id="writing"{%endblock%}
+
+
+{% block primary %}
+ <article>
+ <h1>{{topic.header}}</h1>
+ <span class="all-link"><a href="/writing/1/" title="see all writing">{ View All Writing }</a></span>
+ <ul id="writing-archive">
+ {% autopaginate object_list 10 %}
+ {% for object in object_list %}
+ <li>
+ <h3 class="title"><a href="{{object.get_absolute_url}}" title="{%if object.title_keywords%}{{object.title_keywords}}{%else%}{{object.title}}{%endif%}">{{object.title|smartypants|widont|safe}}</a></h3>
+
+ {%if object.thumbnail%}<img src="{{object.get_thumbnail_url}}" alt="{{ object.title }}" class="post-image" />{%endif%}
+
+ <time datetime="{{object.pub_date}}">{{object.pub_date|date:"F j, Y"}}</time> &bull; <span class="location">{% ifequal object.location.state.country.name "United States" %}{{object.location.name|smartypants|safe}}, <a href="/writing/united-states/1/" title="travel writing from the United States">{{object.location.state.name}}</a>{%else%}{{object.location.name|smartypants|safe}}, <a href="/writing/{{object.location.state.country.slug}}/1/" title="travel writing from {{object.location.state.country.name}}">{{object.location.state.country.name}}</a>{%endifequal%}</span>
+
+ <p class="intro">{{object.dek|safe}} <a class="permalink" href="{{object.get_absolute_url}}" title="{{object.title}}">Read&nbsp;it&nbsp;&raquo;</a></p>
+
+
+ </li>
+ {% endfor %}
+ </ul>
+
+ <section id="pagination">
+ <ul>{% paginate %}
+ </ul>
+ </section>
+ </article>
+{% endblock %}
+
+
+
diff --git a/templates/archives/writing.html b/templates/archives/writing.html
index a5717a6..91d0d6d 100644
--- a/templates/archives/writing.html
+++ b/templates/archives/writing.html
@@ -2,8 +2,8 @@
{% load typogrify %}
{% load pagination_tags %}
-{% block pagetitle %}Luxagraf | {% if region %}Writings from {{region.name|title|smartypants|safe}}{%else%}Writing Archive {%endif%}{% endblock %}
-{% block metadescription %}Writing Archive, Luxagraf{% endblock %}
+{% block pagetitle %}Luxagraf | {% if region %}Travel Writing from {{region.name|title|smartypants|safe}}{%else%}Travel Writing from Around the World {%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%}{% endblock %}
{%block bodyid%}id="writing"{%endblock%}
diff --git a/templates/base.html b/templates/base.html
index 3bebc9f..5755523 100644
--- a/templates/base.html
+++ b/templates/base.html
@@ -23,7 +23,7 @@
<link rel="stylesheet"
- href="http://new.luxagraf.net/media/css/base.css"
+ href="{{media_url}}/css/base.css"
type="text/css"
media="screen"
charset="utf-8">
@@ -62,12 +62,12 @@
<ul>
<li id="stories"><a href="/writing/1/" title="An archive of previous writings from around the world">I write.</a></li>
<li id="map" title="Maps and miscellanea"><a href="/map/">I travel.</a></li>
- <li id="photos" title="Photos from travels around the world"><a href="/photos/1/">I photograph.</a></li>
+ <li id="photos" title="Photos from travels around the world"><a href="/photos/1/">I record.</a></li>
</ul>
</nav>
<hgroup>
<h1><a href="/" title="home">Luxagraf</a></h1>
- <h2><a href="/about/">{a travelogue}</a></h2>
+ <h2><a href="/about/" title="About Luxagraf">{a travelogue}</a></h2>
</hgroup>
</header>
diff --git a/templates/contact_form/contact_form.html b/templates/contact_form/contact_form.html
index f167676..0815ef4 100644
--- a/templates/contact_form/contact_form.html
+++ b/templates/contact_form/contact_form.html
@@ -4,8 +4,8 @@
Load up the various metadata add-ins
================================================#}
-{% block meta_description %} Contact, Get in touch with corriegreathouse.com.{%endblock%}
-{% block metatitle %} - Get in Touch{% endblock %}
+{% block metadescription %}Contact Luxagraf: Want to know something more about somewhere I've been? Or something about the website? Drop me an e-mail and I'll get back to you as soon as I can.{%endblock%}
+{% block pagetitle %}Get in Touch | Luxagraf {% endblock %}
{% block metakeywords %}contact, get in touch, drop a line{%endblock%}
{#==============================================
@@ -19,17 +19,27 @@ Contact Me
{%block primary%}
+<article>
+<section id="post">
+<h1>Contact Me</h1>
+
<div class="form-holder">
<form method="post" action="" class="contact-form">
-<dl>
+<ul>
{% for field in form %}
- <dt>{{ field.label_tag }}</dt>
- <dd>{{ field }}</dd>
- {% if field.help_text %}<dd>{{ field.help_text }}</dd>{% endif %}
- {% if field.errors %}<dd class="myerrors">{{ field.errors }}</dd>{% endif %}
+ <li>
+ <dl>
+ <dt>{{ field.label_tag }}</dt>
+ <dd>{{ field }}</dd>
+ {% if field.help_text %}<dd>{{ field.help_text }}</dd>{% endif %}
+ {% if field.errors %}<dd class="myerrors">{{ field.errors }}</dd>{% endif %}
+ </dl>
+ </li>
{% endfor %}
-</dl>
+</ul>
<input type="submit" class="button" value="Contact" />
</form>
</div>
+</section>
+</article>
{%endblock%} \ No newline at end of file
diff --git a/templates/details/entry.html b/templates/details/entry.html
index 29570b5..3e15f83 100644
--- a/templates/details/entry.html
+++ b/templates/details/entry.html
@@ -4,6 +4,13 @@
{% block pagetitle %}{{object.title|title|smartypants|safe}} ({% ifequal object.location.state.country.name "United States" %}{{object.location.name|smartypants|safe}}, {{object.location.state.name}}{%else%}{{object.location.name|smartypants|safe}}, {{object.location.state.country.name}}{%endifequal%}) | Luxagraf, a travelogue{% endblock %}
{% block metadescription %}Luxagraf: {{object.dek|striptags|safe}}{% endblock %}
+{%block extrahead%}
+ <link rel="canonical" href="http://luxagraf.net{{object.get_absolute_url}}" />
+ <meta name="ICBM" content="{{object.latitude}}, {{object.longitude}}" />
+ <meta name="geo.position" content="{{object.latitude}}; {{object.longitude}}" />
+ <meta name="geo.placename" content="{% ifequal object.location.state.country.name "United States" %}{{object.location.name|smartypants|safe}}, {{object.location.state.name}}{%else%}{{object.location.name|smartypants|safe}}, {{object.location.state.country.name}}{%endifequal%}">
+ <meta name="geo.region" content="{% ifequal object.location.state.country.name "United States" %}{{object.location.state.country.iso2}}-{{object.location.state.iso2}}{%else%}{{object.location.state.country.iso2}}{% endifequal%}">
+{%endblock%}
{%block bodyid%}class="writing-detail"{%endblock%}
@@ -12,15 +19,18 @@
<article>
<section id="post">
<h1>{{object.title|smartypants|safe}}</h1>
-
- <span class="byline"><time datetime="{{object.pub_date}}">{{object.pub_date|date:"F j, Y"}}</time> &bull; <span class="location">{% ifequal object.location.state.country.name "United States" %}{{object.location.name|smartypants|safe}}, <a href="/writing/united-states/1/" title="travel writing from the United States">{{object.location.state.name}}</a>{%else%}{{object.location.name|smartypants|safe}}, <a href="/writing/{{object.location.state.country.slug}}/1/" title="travel writing from {{object.location.state.country.name}}">{{object.location.state.country.name}}</a>{%endifequal%}</span></span>
+ <aside class="meta">
+ <div class="geo">{% ifequal object.location.state.country.name "United States" %}{{object.location.name|smartypants|safe}}, <a href="/writing/united-states/1/" title="travel writing from the United States">{{object.location.state.name}}</a>{%else%}{{object.location.name|smartypants|safe}}, <a href="/writing/{{object.location.state.country.slug}}/1/" title="travel writing from {{object.location.state.country.name}}">{{object.location.state.country.name}}</a>{%endifequal%} <span class="latitude hide">{{object.latitude}}</span> <span class="longitude hide">{{object.longitude}}</span></div>
+ <span class="topics">Topics: {%for topic in object.topics.all%}<a href="{{topic.get_absolute_url}}" title="view more {{topic.name}} posts">{{topic.name}}</a>{%if forloop.last%}{%else%}, {%endif%}{% endfor %}</span>
+ </aside>
+
{{object.body_html|smartypants|widont|safe}}
</section>
<section id="post-metadata">
- <h4>About {{object.title|title|smartypants|safe}}</h4>
- <p><span>{{object.title|title|smartypants|safe}}</span> was posted {{ object.pub_date|timesince }} ago from <!--<a href="{{object.location.get_absolute_url}}" title="see other entries from {{object.location.name}}">-->{{object.location.name|smartypants|safe}}<!--</a>-->, which is in {%ifequal object.location.state.country.name 'United States'%}<a href="/maps/#{{object.location.state.slug}}" title="see other entries from {{object.location.state.name}}">{{object.location.state.name|smartypants|safe}}</a>,{%endifequal%} <a href="/writing/{{object.location.state.country.slug}}/1/" title="see other entries from {{object.location.state.country.name}}">{{object.location.state.country.name|smartypants|safe}}</a>. You can find nearby entries by browsing the <a href="/map/">Map</a>.
- <p>If you enjoyed reading this, you can follow along on <a href="http://twitter.com/luxagraf" title="twitter" rel="me">Twitter</a> or by subscribing to the <a href="http://feeds.feedburner.com/luxagraf/blog" title="writing RSS 2.0 feed">RSS Feed</a>. For more about luxagraf, see the <a href="/about/" title="about luxagraf">about page</a>. To get in touch please use the <a href="/contact/" title="contact me">contact form</a> or leave a comment below.</p>
+ <h4>About {{object.title|smartypants|safe}}</h4>
+ <p>posted <time datetime="{{object.pub_date}}">{{object.pub_date|date:"F j, Y"}}</time>, from {{object.location.name|smartypants|safe}}, {%ifequal object.location.state.country.name 'United States'%}<a href="/maps/#{{object.location.state.slug}}" title="see other entries from {{object.location.state.name}}">{{object.location.state.name|smartypants|safe}}</a>{% else %}{{object.location.state.country.name}}{%endifequal%}.
+ <p>Follow along on <a href="http://twitter.com/luxagraf" title="twitter" rel="me">Twitter</a> or by subscribing to the <a href="http://feeds.feedburner.com/luxagraf/blog" title="writing RSS 2.0 feed">RSS Feed</a>. For more about me, see the <a href="/about/" title="about luxagraf">about page</a>. To get in touch please use the <a href="/contact/" title="contact me">contact form</a> or leave a comment below.</p>
</section>
<section id="page-navigation">
<nav>
@@ -35,8 +45,24 @@
</nav>
</section>
<section id="comments">
- <h4>Comments on <span>{{object.title|title|smartypants|safe}}</span></h4>
+ <h4><a class="disqus-link-count" href="{{object.get_absolute_url}}#disqus_thread">Comments</a></h4>
<div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/luxagraf/embed.js"></script><noscript><a href="http://luxagraf.disqus.com/?url=ref">View the discussion thread.</a></noscript><a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
</section>
</article>
-{% endblock %} \ No newline at end of file
+{% endblock %}
+{% block js %}
+<script type="text/javascript">
+//<![CDATA[
+(function() {
+ var links = document.getElementsByTagName('a');
+ var query = '?';
+ for(var i = 0; i < links.length; i++) {
+ if(links[i].href.indexOf('#disqus_thread') >= 0) {
+ query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
+ }
+ }
+ document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/luxagraf/get_num_replies.js' + query + '"></' + 'script>');
+})();
+//]]>
+</script>
+{% endblock%} \ No newline at end of file
diff --git a/templates/details/photo_galleries.html b/templates/details/photo_galleries.html
new file mode 100644
index 0000000..84dc219
--- /dev/null
+++ b/templates/details/photo_galleries.html
@@ -0,0 +1,345 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+ <title>Luxagraf | Photos | {{object.set_title}}</title>
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+ <meta http-equiv="imagetoolbar" content="false">
+ <meta name="description" content="">
+ <meta name="keywords" content="">
+
+ <style>
+
+html {
+ /* Moz */
+ height: 100%;
+}
+.wrapper {
+ width: 960px;
+ margin: 0 auto;
+}
+/* BEGIN GALLERIA STYLE */
+.galleria{list-style:none;width:200px}
+.galleria li{display:block;width:80px;height:80px;overflow:hidden;float:left;margin:0 6px 10px 0;border: 3px #2a2a2a solid;}
+.galleria li a{display:none}
+.galleria li div{position:absolute;display:none;top:0;left:180px}
+.galleria li div img{cursor:pointer}
+.galleria li.active {border: 3px #b6b6b6 solid;}
+.galleria li.active div img,.galleria li.active div{display:block}
+.galleria li img.thumb{cursor:pointer;top:auto;left:auto;display:block;width:auto;height:auto}
+.galleria li .caption{display:block;padding-top:.5em}
+* html .galleria li div span{width:400px} /* MSIE bug */
+
+*{margin:0;padding:0}
+body{padding:20px;text-align:center;background:black;color:#bba;font:80%/140% georgia,serif;}
+h1{font-family:Georgia,"Times New Roman",Times,Serif;text-transform:uppercase;font-size:15px;font-weight: normal}
+h2 a {font-family:Georgia,"Times New Roman",Times,Serif;font-size:12px;font-weight: normal; font-style:italic; color: #b6b6b6; text-decoration: none;}
+a:hover{color:#b53a04;}
+.caption{font-family:Georgia,"Times New Roman",Times,Serif;font-style:italic;color:#887;}
+.demo{position:relative;margin-top:2em;}
+/*.gallery_show{width:702px;margin:0 auto;}*/
+.gallery_show{height:90px;margin:0;}
+.gallery_show li{width:75px;height:75px;border:3px double #111;margin: 2px;background:#000;}
+.gallery_show li div{left:240px}
+.gallery_show li div .caption{font:italic 0.7em/1.4 georgia,serif;}
+
+#main_image{margin:0 auto 20px auto;height:640px;width:960px;}
+#main_image img{margin-bottom:1px;}
+
+.nav{padding-bottom:10px;text-align:center;clear:both;font:80% 'helvetica neue',sans-serif;letter-spacing:3px;text-transform:uppercase;}
+
+
+
+
+
+/* Menu
+---------------------------- */
+
+.clearit {
+ margin: 0;
+ padding: 0;
+ height: 0;
+ clear: both;
+}
+/* start jcarousel */
+/**
+ * This <div> element is wrapped by jCarousel around the list
+ * and has the classname "jcarousel-container".
+ */
+.jcarousel-container {
+ position: relative;
+}
+
+.jcarousel-clip {
+ z-index: 2;
+ padding: 0;
+ margin: 0;
+ overflow: hidden;
+ position: relative;
+}
+
+.jcarousel-list {
+ z-index: 1;
+ overflow: hidden;
+ position: relative;
+ top: 0;
+ left: 0;
+ margin: 0;
+ padding: 0;
+}
+
+.jcarousel-item {
+ float: left;
+ list-style: none;
+ /* We set the width/height explicitly. No width/height causes infinite loops. */
+ width: 75px;
+ height: 75px;
+}
+
+/**
+ * The buttons are added dynamically by jCarousel before
+ * the <ul> list (inside the <div> described above) and
+ * have the classnames "jcarousel-next" and "jcarousel-prev".
+ */
+.jcarousel-next {
+ z-index: 3;
+ display: none;
+}
+
+.jcarousel-prev {
+ z-index: 3;
+ display: none;
+}
+
+/* end jcarousel */
+
+
+/* start tango jcarousel */
+.jcarousel-skin-tango.jcarousel-container {
+ -moz-border-radius: 5px;
+ margin: 0 auto;
+}
+
+.jcarousel-skin-tango.jcarousel-container-horizontal {
+ width: 960px;
+ padding: 10px 40px;
+}
+
+.jcarousel-skin-tango.jcarousel-container-vertical {
+ width: 75px;
+ height: 245px;
+ padding: 40px 20px;
+}
+
+.jcarousel-skin-tango .jcarousel-clip-horizontal {
+ width: 960px;
+ height: 75px;
+}
+
+.jcarousel-skin-tango .jcarousel-clip-vertical {
+ width: 75px;
+ height: 245px;
+}
+
+.jcarousel-skin-tango .jcarousel-item {
+ width: 65px;
+ height: 65px;
+ border: 3px #2a2a2a solid;
+}
+
+.jcarousel-skin-tango .jcarousel-item-horizontal {
+ margin-right: 8px;
+}
+
+.jcarousel-skin-tango .jcarousel-item-vertical {
+ margin-bottom: 10px;
+}
+
+.jcarousel-skin-tango .jcarousel-item-placeholder {
+ background: #000;
+ color: #fff;
+}
+
+/**
+ * Horizontal Buttons
+ */
+.jcarousel-skin-tango .jcarousel-next-horizontal {
+ position: absolute;
+ top: 22px;
+ right: 10px;
+ width: 20px;
+ height: 53px;
+ cursor: pointer;
+ background: url({{media_url}}img/slideshow-arrow-right.png) no-repeat 0 0;
+}
+
+.jcarousel-skin-tango .jcarousel-next-horizontal:hover {
+ background-position: -20px 0;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal {
+ position: absolute;
+ top: 22px;
+ left: 10px;
+ width: 20px;
+ height: 53px;
+ cursor: pointer;
+ background: url({{media_url}}img/slideshow-arrow-left.png) no-repeat -20px 0;
+}
+
+.jcarousel-skin-tango .jcarousel-prev-horizontal:hover {
+ background-position: 0 0;
+}
+#controls {width: 60px; margin: 5px auto 0;}
+.play {
+ width: 57px;
+ height: 32px;
+ background: url({{media_url}}img/play.png) 0 0 no-repeat;
+}
+
+.play:hover { background: url({{media_url}}img/play.png) -57px 0 no-repeat; }
+
+.pause {
+ width: 57px;
+ height: 32px;
+ background: url({{media_url}}img/pause.png) 0 0 no-repeat;;
+}
+.pause:hover {
+ background: url({{media_url}}img/pause.png) -57px 0 no-repeat;
+}
+ </style>
+ <script type="text/javascript" src="http://media.luxagraf.net/js/jquery.js"></script>
+
+ <script type="text/javascript" src="http://media.luxagraf.net/js/combo.pack.js"></script>
+</head>
+<body>
+<h1>Luxagraf, photos from: {{object.set_title}}</h1>
+<h2><a href="/photos/1/">&laquo; Back to galleries</a></h2>
+<div id="controls">
+ <div id="toggle" class="pause"></div>
+ </div>
+
+<div id="wrapper">
+ <div id="main_image"></div>
+ <div id="images" style="height:90px; white-space:nowrap;">
+ <ul id="mycarousel" class="jcarousel-skin-tango">
+ {%for photo in object.photos.all %}
+ <li><img src="{{photo.get_local_slideshow_url}}" alt="{{photo.title}}" title="{%ifequal photo.description 'None' %}{%else%}{{photo.description|striptags}}{%endifequal%}"></li>
+ {% endfor %}
+ </ul>
+ </div>
+</div>
+ <script type="text/javascript">
+//<![CDATA[
+ $(document).ready(function(){
+
+ $('.jcarousel-skin-tango').addClass('gallery_show'); // adds new class name to maintain degradability
+
+ $('ul.gallery_show').galleria({
+ history : true, // activates the history object for bookmarking, back-button etc.
+ clickNext : true, // helper for making the image clickable
+ insert : '#main_image', // the containing selector for our main image
+ onImage : function(image,caption,thumb) { // let's add some image effects for demonstration purposes
+
+ // fade in the image & caption
+ image.css('display','none').fadeIn(200);
+ caption.css('display','none').fadeIn(200);
+
+ // fetch the thumbnail container
+ var _li = thumb.parents('li');
+
+ // fade out inactive thumbnail
+ _li.siblings().children('img.selected').fadeTo(100,0.6);
+
+ // fade in active thumbnail
+ thumb.fadeTo('fast',1).addClass('selected');
+
+ // add a title for the clickable image
+ image.attr('title','Next image >>');
+
+ $('#main_image').trigger('img_change');
+
+ },
+ onThumb : function(thumb) { // thumbnail effects goes here
+
+ // fetch the thumbnail container
+ var _li = thumb.parents('li');
+
+ // if thumbnail is active, fade all the way.
+ var _fadeTo = _li.is('.active') ? '1' : '0.6';
+
+ // fade in the thumbnail when finished loading
+ thumb.css({display:'none',opacity:_fadeTo}).fadeIn(500);
+
+ // hover effects
+ thumb.hover(
+ function() { thumb.fadeTo('fast',1); },
+ function() { _li.not('.active').children('img').fadeTo('fast',0.6); } // don't fade out if the parent is active
+ )
+ }
+
+ });
+ //
+ jQuery('#mycarousel').jcarousel({
+ scroll: 12,
+ initCallback: mycarousel_initCallback
+ });
+
+ $.hotkeys.add('left', function(){$.galleria.prev();});
+ $.hotkeys.add('right', function(){$.galleria.next();});
+
+ $(function() {
+ var firstItem = $('ul.galleria li:first').addClass('active').find('img').addClass('selected');
+ $.galleria.activate(firstItem.attr('src'));
+ $('ul.galleria li:first').remove()
+
+ var active = false;
+ var gal = jQuery('#controls');
+ $(function() {
+ if (!active) {
+ active = !active;
+ gal.everyTime('5s', 'slideshow', function() {
+ $.galleria.next();
+ });
+ }
+ })
+ $('#toggle').bind("click", function() {
+ var gal = jQuery('#controls');
+ if ($(this).attr("class") == "play") {
+ $(this).attr("class", "pause");
+ if (!active) {
+ active = !active;
+ $.galleria.next();
+ gal.everyTime('5s', 'slideshow', function() {
+ $.galleria.next();
+ });
+ }
+ } else {
+ $(this).attr("class", "play");
+ if (active) {
+ active = !active;
+ gal.stopTime('slideshow');
+ }
+ }
+ });
+
+ });
+
+
+ });
+
+ function mycarousel_initCallback(carousel) {
+ jQuery('#main_image').bind('img_change',function() {
+ var num = parseInt((jQuery('.caption').text()).split(":",1)[0])-1;
+ var ntext = (jQuery('.caption').text()).split(":")[1];
+ if (ntext == 'undefined') {
+ ntext=''
+ }
+ jQuery('.caption').text(ntext);
+ carousel.scroll(num);
+ return false;
+ });
+ };
+//]]>
+ </script>
+</body>
+</html>
diff --git a/templates/includes/map_entry_list.html b/templates/includes/map_entry_list.html
index 3fbda9c..46e11d2 100644
--- a/templates/includes/map_entry_list.html
+++ b/templates/includes/map_entry_list.html
@@ -66,7 +66,7 @@
});
- point_no_strangers = JLngLat(-83.408246028733373, 33.958186941609419);
+ point_no_strangers = JLngLat(-83.408246028733373, 33.958186941609405);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_no_strangers = new GMarker(point_no_strangers, markerOptions);
map.addOverlay(marker_no_strangers);
@@ -77,7 +77,7 @@
});
- point_leonardo_da = JLngLat(-86.810799825028027, 33.521441993672674);
+ point_leonardo_da = JLngLat(-86.810799825028056, 33.521441993672681);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_leonardo_da = new GMarker(point_leonardo_da, markerOptions);
map.addOverlay(marker_leonardo_da);
@@ -143,7 +143,7 @@
});
- point_returning_again = JLngLat(-82.971324909104382, 12.290694745245389);
+ point_returning_again = JLngLat(-82.971324909104396, 12.290694745245402);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_returning_again = new GMarker(point_returning_again, markerOptions);
map.addOverlay(marker_returning_again);
@@ -176,7 +176,7 @@
});
- point_return_to = JLngLat(-85.873475062814094, 11.254384499067593);
+ point_return_to = JLngLat(-85.873475062814094, 11.254384499067603);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_return_to = new GMarker(point_return_to, markerOptions);
map.addOverlay(marker_return_to);
@@ -187,7 +187,7 @@
});
- point_ring_the = JLngLat(-85.958136308148539, 11.932062265861576);
+ point_ring_the = JLngLat(-85.958136308148539, 11.932062265861589);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_ring_the = new GMarker(point_ring_the, markerOptions);
map.addOverlay(marker_ring_the);
@@ -198,7 +198,7 @@
});
- point_new_years = JLngLat(-83.388563978984962, 33.944886370419439);
+ point_new_years = JLngLat(-83.388563978984934, 33.944886370419432);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_new_years = new GMarker(point_new_years, markerOptions);
map.addOverlay(marker_new_years);
@@ -220,7 +220,7 @@
});
- point_on_the = JLngLat(-118.52130172987003, 33.461914385921673);
+ point_on_the = JLngLat(-118.52130172987002, 33.461914385921666);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_on_the = new GMarker(point_on_the, markerOptions);
map.addOverlay(marker_on_the);
@@ -231,7 +231,7 @@
});
- point_being_there = JLngLat(-78.928356159667246, 33.683925130931478);
+ point_being_there = JLngLat(-78.928356159667246, 33.683925130931456);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_being_there = new GMarker(point_being_there, markerOptions);
map.addOverlay(marker_being_there);
@@ -242,7 +242,7 @@
});
- point_sailing_through = JLngLat(-79.82256172976372, 32.835570335241002);
+ point_sailing_through = JLngLat(-79.82256172976372, 32.835570335240995);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_sailing_through = new GMarker(point_sailing_through, markerOptions);
map.addOverlay(marker_sailing_through);
@@ -275,17 +275,6 @@
});
- point_catologue_raisonne = JLngLat(-118.42905519744257, 33.975253480901443);
- markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
- marker_catologue_raisonne = new GMarker(point_catologue_raisonne, markerOptions);
- map.addOverlay(marker_catologue_raisonne);
- marker_catologue_raisonne.info_window_content = '<div class="infowin"><h4>Catologue Raisonne<\/h4><span class="date blok">January 31, 2007 (Los Angeles, California)<\/span><p><img src="http://images.luxagraf.net/post-thumbs/2008/indexbooks.jpg" height="100" alt="Catologue Raisonne" style="float: left; border: #000 10px solid; margin-right: 4px; margin-bottom: 4px; height: 100px;" \/>Google wants to index all the world\x27s books. I know that doesn\x27t have too much to do with traveling, but in a way it does \x26mdash\x3B most travelers I know do quite a bit of reading. Since searchable books means a better chance to find something you like, who would oppose such a plan? Publishers of course. Fucking luddites. <a href="/2007/jan/31/catologue-raisonne/">Read it &raquo;<\/a><\/p><\/div>'
- marker_catologue_raisonne.bindInfoWindowHtml(marker_catologue_raisonne.info_window_content, {maxWidth:400});
- GEvent.addListener(marker_catologue_raisonne, "click", function() {
- map.panTo(point_catologue_raisonne, 2);
- });
-
-
point_the_sun = JLngLat(-118.42887280722944, 33.975173406076344);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_sun = new GMarker(point_the_sun, markerOptions);
@@ -297,7 +286,7 @@
});
- point_give_it = JLngLat(-118.42893718024604, 33.975195649090907);
+ point_give_it = JLngLat(-118.42893718024602, 33.975195649090907);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_give_it = new GMarker(point_give_it, markerOptions);
map.addOverlay(marker_give_it);
@@ -308,7 +297,7 @@
});
- point_homeward = JLngLat(-118.42903373977046, 33.975160060264841);
+ point_homeward = JLngLat(-118.42903373977045, 33.975160060264834);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_homeward = new GMarker(point_homeward, markerOptions);
map.addOverlay(marker_homeward);
@@ -319,7 +308,7 @@
});
- point_cadenza = JLngLat(2.3610842224649091, 48.863458443784694);
+ point_cadenza = JLngLat(2.3610842224649087, 48.86345844378468);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_cadenza = new GMarker(point_cadenza, markerOptions);
map.addOverlay(marker_cadenza);
@@ -330,7 +319,7 @@
});
- point_i_dont = JLngLat(16.370648143396807, 48.209967769728017);
+ point_i_dont = JLngLat(16.370648143396814, 48.209967769727996);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_i_dont = new GMarker(point_i_dont, markerOptions);
map.addOverlay(marker_i_dont);
@@ -341,7 +330,7 @@
});
- point_unreflected = JLngLat(16.370648143396807, 48.209967769728017);
+ point_unreflected = JLngLat(16.370648143396814, 48.209967769727996);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_unreflected = new GMarker(point_unreflected, markerOptions);
map.addOverlay(marker_unreflected);
@@ -352,7 +341,7 @@
});
- point_four_minutes = JLngLat(14.418117998023487, 50.08984639084774);
+ point_four_minutes = JLngLat(14.418117998023494, 50.089846390847725);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_four_minutes = new GMarker(point_four_minutes, markerOptions);
map.addOverlay(marker_four_minutes);
@@ -363,7 +352,7 @@
});
- point_inside_and = JLngLat(14.317352769766014, 48.810530578015531);
+ point_inside_and = JLngLat(14.317352769766009, 48.810530578015509);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_inside_and = new GMarker(point_inside_and, markerOptions);
map.addOverlay(marker_inside_and);
@@ -374,7 +363,7 @@
});
- point_the_king = JLngLat(14.109942911091286, 46.365209982615596);
+ point_the_king = JLngLat(14.109942911091283, 46.365209982615575);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_king = new GMarker(point_the_king, markerOptions);
map.addOverlay(marker_the_king);
@@ -385,7 +374,7 @@
});
- point_ghost = JLngLat(14.506748912699262, 46.050859856324585);
+ point_ghost = JLngLat(14.50674891269926, 46.050859856324571);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_ghost = new GMarker(point_ghost, markerOptions);
map.addOverlay(marker_ghost);
@@ -396,7 +385,7 @@
});
- point_feel_good = JLngLat(18.109052178723061, 42.641338384291785);
+ point_feel_good = JLngLat(18.109052178723051, 42.641338384291778);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_feel_good = new GMarker(point_feel_good, markerOptions);
map.addOverlay(marker_feel_good);
@@ -407,7 +396,7 @@
});
- point_blue_milk = JLngLat(18.109052178723061, 42.641338384291785);
+ point_blue_milk = JLngLat(18.109052178723051, 42.641338384291778);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_blue_milk = new GMarker(point_blue_milk, markerOptions);
map.addOverlay(marker_blue_milk);
@@ -418,7 +407,7 @@
});
- point_refracted_light = JLngLat(19.062137601106294, 47.483800862289485);
+ point_refracted_light = JLngLat(19.062137601106286, 47.483800862289485);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_refracted_light = new GMarker(point_refracted_light, markerOptions);
map.addOverlay(marker_refracted_light);
@@ -429,7 +418,7 @@
});
- point_london_calling = JLngLat(-0.14955997464959109, 51.551192046821591);
+ point_london_calling = JLngLat(-0.1495599746495864, 51.551192046821591);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_london_calling = new GMarker(point_london_calling, markerOptions);
map.addOverlay(marker_london_calling);
@@ -440,7 +429,7 @@
});
- point_closing_time = JLngLat(98.53981016694695, 7.0586452366957131);
+ point_closing_time = JLngLat(98.539810166946921, 7.0586452366957175);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_closing_time = new GMarker(point_closing_time, markerOptions);
map.addOverlay(marker_closing_time);
@@ -451,7 +440,7 @@
});
- point_beginning_of = JLngLat(99.08294676355105, 7.2003631858928818);
+ point_beginning_of = JLngLat(99.207916245987008, 7.4090692758064645);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_beginning_of = new GMarker(point_beginning_of, markerOptions);
map.addOverlay(marker_beginning_of);
@@ -462,7 +451,7 @@
});
- point_going_down = JLngLat(98.638000474550566, 7.4904733333830142);
+ point_going_down = JLngLat(98.778762803633271, 7.73582685701777);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_going_down = new GMarker(point_going_down, markerOptions);
map.addOverlay(marker_going_down);
@@ -473,7 +462,7 @@
});
- point_the_book = JLngLat(103.49945066918633, 10.626275865572236);
+ point_the_book = JLngLat(103.49945066918632, 10.626275865572227);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_book = new GMarker(point_the_book, markerOptions);
map.addOverlay(marker_the_book);
@@ -484,7 +473,7 @@
});
- point_midnight_in = JLngLat(104.32325361706978, 10.438267017137914);
+ point_midnight_in = JLngLat(104.32325361706975, 10.438267017137903);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_midnight_in = new GMarker(point_midnight_in, markerOptions);
map.addOverlay(marker_midnight_in);
@@ -495,7 +484,7 @@
});
- point_angkor_wat = JLngLat(103.89289854510804, 13.497808126788675);
+ point_angkor_wat = JLngLat(103.89289854510803, 13.497808126788645);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_angkor_wat = new GMarker(point_angkor_wat, markerOptions);
map.addOverlay(marker_angkor_wat);
@@ -506,7 +495,7 @@
});
- point_wait_til = JLngLat(103.86148451313015, 13.361228724078366);
+ point_wait_til = JLngLat(103.86148451313011, 13.361228724078341);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_wait_til = new GMarker(point_wait_til, markerOptions);
map.addOverlay(marker_wait_til);
@@ -517,7 +506,7 @@
});
- point_beginning_to = JLngLat(104.04052732926735, 12.821174848475952);
+ point_beginning_to = JLngLat(104.04052732926735, 12.821174848475943);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_beginning_to = new GMarker(point_beginning_to, markerOptions);
map.addOverlay(marker_beginning_to);
@@ -528,7 +517,7 @@
});
- point_blood_on = JLngLat(104.92750166386067, 11.565975590520974);
+ point_blood_on = JLngLat(104.92750166386067, 11.565975590520948);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_blood_on = new GMarker(point_blood_on, markerOptions);
map.addOverlay(marker_blood_on);
@@ -539,7 +528,7 @@
});
- point_ticket_to = JLngLat(106.97941301763987, 13.734549299840186);
+ point_ticket_to = JLngLat(106.97941301763984, 13.734549299840165);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_ticket_to = new GMarker(point_ticket_to, markerOptions);
map.addOverlay(marker_ticket_to);
@@ -550,7 +539,7 @@
});
- point_little_corner = JLngLat(105.83782194571637, 14.130915842740993);
+ point_little_corner = JLngLat(105.83782194571637, 14.13091584274097);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_little_corner = new GMarker(point_little_corner, markerOptions);
map.addOverlay(marker_little_corner);
@@ -561,7 +550,7 @@
});
- point_can8217t_get = JLngLat(106.83689115944449, 14.806085524831964);
+ point_can8217t_get = JLngLat(106.83689115944451, 14.806085524831957);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_can8217t_get = new GMarker(point_can8217t_get, markerOptions);
map.addOverlay(marker_can8217t_get);
@@ -572,7 +561,7 @@
});
- point_safe_as = JLngLat(106.5756225437582, 14.623949505069257);
+ point_safe_as = JLngLat(106.57562254375821, 14.623949505069247);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_safe_as = new GMarker(point_safe_as, markerOptions);
map.addOverlay(marker_safe_as);
@@ -583,7 +572,7 @@
});
- point_everyday_the = JLngLat(104.75026129218116, 16.560435757136197);
+ point_everyday_the = JLngLat(104.75026129218114, 16.560435757136183);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_everyday_the = new GMarker(point_everyday_the, markerOptions);
map.addOverlay(marker_everyday_the);
@@ -594,7 +583,7 @@
});
- point_water_slides = JLngLat(105.30395506346656, 17.51310571535749);
+ point_water_slides = JLngLat(105.30395506346655, 17.513105715357479);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_water_slides = new GMarker(point_water_slides, markerOptions);
map.addOverlay(marker_water_slides);
@@ -605,7 +594,7 @@
});
- point_the_lovely = JLngLat(102.43755339150222, 18.925448620655764);
+ point_the_lovely = JLngLat(102.43755339150223, 18.92544862065574);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_lovely = new GMarker(point_the_lovely, markerOptions);
map.addOverlay(marker_the_lovely);
@@ -616,18 +605,18 @@
});
- point_i_used = JLngLat(101.19094847224213, 20.853678554651349);
+ point_i_used = JLngLat(101.19094847224211, 20.853678554651307);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_i_used = new GMarker(point_i_used, markerOptions);
map.addOverlay(marker_i_used);
- marker_i_used.info_window_content = '<div class="infowin"><h4>I Used to Fly Like Peter Pan<\/h4><span class="date blok">January 21, 2006 (Luang Nam Tha, Lao (PDR))<\/span><p><img src="http://images.luxagraf.net/post-thumbs/2008/gibbonexperience.jpg" height="100" alt="I Used to Fly Like Peter Pan" style="float: left; border: #000 10px solid; margin-right: 4px; margin-bottom: 4px; height: 100px;" \/>The next time someone asks you, \x22would you like to live in a tree house and travel five hundred feet above the ground attached to a zip wire?\x22 I highly suggest you say, \x22yes, where do a I sign up?\x22 If you happen to be in Laos, try the Gibbon Experience.\x0D\x0A <a href="/2006/jan/21/i-used-fly-peter-pan/">Read it &raquo;<\/a><\/p><\/div>'
+ marker_i_used.info_window_content = '<div class="infowin"><h4>I Used to Fly Like Peter Pan<\/h4><span class="date blok">January 21, 2006 (Luang Nam Tha, Lao (PDR))<\/span><p><img src="http://images.luxagraf.net/post-thumbs/2008/gibbonexperience.jpg" height="100" alt="I Used to Fly Like Peter Pan" style="float: left; border: #000 10px solid; margin-right: 4px; margin-bottom: 4px; height: 100px;" \/>The next time someone asks you, \x26#8220\x3Bwould you like to live in a tree house and travel five hundred feet above the ground attached to a zip wire?\x26#8221\x3B I highly suggest you say, \x26#8220\x3Byes, where do a I sign up?\x26#8221\x3B If you happen to be in Laos, try the Gibbon Experience. <a href="/2006/jan/21/i-used-fly-peter-pan/">Read it &raquo;<\/a><\/p><\/div>'
marker_i_used.bindInfoWindowHtml(marker_i_used.info_window_content, {maxWidth:400});
GEvent.addListener(marker_i_used, "click", function() {
map.panTo(point_i_used, 2);
});
- point_hymn_of = JLngLat(102.42279051308631, 19.827433510057404);
+ point_hymn_of = JLngLat(102.42279051308633, 19.827433510057382);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_hymn_of = new GMarker(point_hymn_of, markerOptions);
map.addOverlay(marker_hymn_of);
@@ -638,7 +627,7 @@
});
- point_down_the = JLngLat(102.13199614056809, 19.875064447947246);
+ point_down_the = JLngLat(102.13199614056808, 19.875064447947231);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_down_the = new GMarker(point_down_the, markerOptions);
map.addOverlay(marker_down_the);
@@ -649,7 +638,7 @@
});
- point_the_king = JLngLat(98.842620835850298, 19.315031381446268);
+ point_the_king = JLngLat(98.842620835850283, 19.315031381446264);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_king = new GMarker(point_the_king, markerOptions);
map.addOverlay(marker_the_king);
@@ -660,7 +649,7 @@
});
- point_you_and = JLngLat(98.987674699355495, 18.787042343613678);
+ point_you_and = JLngLat(98.987674699355495, 18.78704234361367);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_you_and = new GMarker(point_you_and, markerOptions);
map.addOverlay(marker_you_and);
@@ -671,7 +660,7 @@
});
- point_buddha_on = JLngLat(100.547304139446, 13.726128126466557);
+ point_buddha_on = JLngLat(100.547304139446, 13.726128126466541);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_buddha_on = new GMarker(point_buddha_on, markerOptions);
map.addOverlay(marker_buddha_on);
@@ -682,7 +671,7 @@
});
- point_brink_of = JLngLat(100.54314135105555, 13.75092177957932);
+ point_brink_of = JLngLat(100.54314135105552, 13.750921779579318);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_brink_of = new GMarker(point_brink_of, markerOptions);
map.addOverlay(marker_brink_of);
@@ -693,7 +682,7 @@
});
- point_are_you = JLngLat(100.49344538243437, 13.761790973148349);
+ point_are_you = JLngLat(100.49344538243434, 13.761790973148344);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_are_you = new GMarker(point_are_you, markerOptions);
map.addOverlay(marker_are_you);
@@ -704,7 +693,7 @@
});
- point_merry_christmas = JLngLat(100.49344538243446, 13.761790973148388);
+ point_merry_christmas = JLngLat(100.49344538243446, 13.761790973148344);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_merry_christmas = new GMarker(point_merry_christmas, markerOptions);
map.addOverlay(marker_merry_christmas);
@@ -715,7 +704,7 @@
});
- point_sunset_over = JLngLat(85.224723804054321, 28.068345037441055);
+ point_sunset_over = JLngLat(85.224723804054321, 28.068345037441048);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_sunset_over = new GMarker(point_sunset_over, markerOptions);
map.addOverlay(marker_sunset_over);
@@ -726,7 +715,7 @@
});
- point_pashupatinath = JLngLat(85.348534572164567, 27.710573155686934);
+ point_pashupatinath = JLngLat(85.348534572164525, 27.710573155686927);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_pashupatinath = new GMarker(point_pashupatinath, markerOptions);
map.addOverlay(marker_pashupatinath);
@@ -737,7 +726,7 @@
});
- point_durbar_square = JLngLat(85.317378032251895, 27.703363690641844);
+ point_durbar_square = JLngLat(85.317378032251909, 27.703363690641837);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_durbar_square = new GMarker(point_durbar_square, markerOptions);
map.addOverlay(marker_durbar_square);
@@ -748,7 +737,7 @@
});
- point_goodbye_india = JLngLat(77.210926998834495, 28.641824196732301);
+ point_goodbye_india = JLngLat(77.210926998834509, 28.641824196732294);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_goodbye_india = new GMarker(point_goodbye_india, markerOptions);
map.addOverlay(marker_goodbye_india);
@@ -759,7 +748,7 @@
});
- point_the_taj = JLngLat(78.041768063171872, 27.172804012576528);
+ point_the_taj = JLngLat(78.041768063171872, 27.17280401257652);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_taj = new GMarker(point_the_taj, markerOptions);
map.addOverlay(marker_the_taj);
@@ -770,7 +759,7 @@
});
- point_on_a = JLngLat(70.890655507709951, 27.004078760567147);
+ point_on_a = JLngLat(70.890655507709951, 27.00407876056714);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_on_a = new GMarker(point_on_a, markerOptions);
map.addOverlay(marker_on_a);
@@ -792,7 +781,7 @@
});
- point_around_udaipur = JLngLat(73.784866322736619, 24.667610368715472);
+ point_around_udaipur = JLngLat(73.784866322736619, 24.667610368715462);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_around_udaipur = new GMarker(point_around_udaipur, markerOptions);
map.addOverlay(marker_around_udaipur);
@@ -814,7 +803,7 @@
});
- point_the_city = JLngLat(73.693199147456525, 24.591304879190861);
+ point_the_city = JLngLat(73.693199147456525, 24.591304879190854);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_city = new GMarker(point_the_city, markerOptions);
map.addOverlay(marker_the_city);
@@ -825,7 +814,7 @@
});
- point_living_in = JLngLat(72.562379826935242, 23.009675285624734);
+ point_living_in = JLngLat(72.562379826935228, 23.009675285624738);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_living_in = new GMarker(point_living_in, markerOptions);
map.addOverlay(marker_living_in);
@@ -836,7 +825,7 @@
});
- point_anjuna_market = JLngLat(73.73886107371969, 15.581289472937041);
+ point_anjuna_market = JLngLat(73.738861073719647, 15.58128947293703);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_anjuna_market = new GMarker(point_anjuna_market, markerOptions);
map.addOverlay(marker_anjuna_market);
@@ -847,7 +836,7 @@
});
- point_fish_story = JLngLat(73.915414799891437, 15.277230227117785);
+ point_fish_story = JLngLat(73.915414799891451, 15.277230227117771);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_fish_story = new GMarker(point_fish_story, markerOptions);
map.addOverlay(marker_fish_story);
@@ -858,7 +847,7 @@
});
- point_the_backwaters = JLngLat(76.25335692297908, 9.9580299709641533);
+ point_the_backwaters = JLngLat(76.253356922979094, 9.9580299709641249);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_backwaters = new GMarker(point_the_backwaters, markerOptions);
map.addOverlay(marker_the_backwaters);
@@ -869,7 +858,7 @@
});
- point_vasco_de = JLngLat(76.240911473151641, 9.9643702310414053);
+ point_vasco_de = JLngLat(76.240911473151641, 9.9643702310414035);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_vasco_de = new GMarker(point_vasco_de, markerOptions);
map.addOverlay(marker_vasco_de);
@@ -880,7 +869,7 @@
});
- point_riots_iraqi = JLngLat(2.3610734936288558, 48.863514907961665);
+ point_riots_iraqi = JLngLat(2.3610734936288558, 48.863514907961644);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_riots_iraqi = new GMarker(point_riots_iraqi, markerOptions);
map.addOverlay(marker_riots_iraqi);
@@ -891,7 +880,7 @@
});
- point_bury_your = JLngLat(2.3437571522311194, 48.886236566239617);
+ point_bury_your = JLngLat(2.343757152231122, 48.886236566239617);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_bury_your = new GMarker(point_bury_your, markerOptions);
map.addOverlay(marker_bury_your);
@@ -902,7 +891,7 @@
});
- point_the_houses = JLngLat(2.3615670200875267, 48.864093662101581);
+ point_the_houses = JLngLat(2.3615670200875383, 48.864093662101581);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_the_houses = new GMarker(point_the_houses, markerOptions);
map.addOverlay(marker_the_houses);
@@ -913,7 +902,7 @@
});
- point_sainte_chapelle = JLngLat(2.3452591892792487, 48.855566948530594);
+ point_sainte_chapelle = JLngLat(2.3452591892792514, 48.855566948530559);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_sainte_chapelle = new GMarker(point_sainte_chapelle, markerOptions);
map.addOverlay(marker_sainte_chapelle);
@@ -924,7 +913,7 @@
});
- point_living_in = JLngLat(2.3617815968086884, 48.864164241416852);
+ point_living_in = JLngLat(2.3617815968086964, 48.864164241416837);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_living_in = new GMarker(point_living_in, markerOptions);
map.addOverlay(marker_living_in);
@@ -968,7 +957,7 @@
});
- point_one_nation = JLngLat(-72.628040303610575, 42.322540490785144);
+ point_one_nation = JLngLat(-72.628040303610575, 42.322540490785137);
markerOptions = { clickable:true, draggable:false, icon:tinyIcon};
marker_one_nation = new GMarker(point_one_nation, markerOptions);
map.addOverlay(marker_one_nation);