images: using mw_client

master
Castro0o 10 years ago
parent c0d9ceb633
commit 72a840f068

@ -4,17 +4,19 @@
import urllib2, json, pprint, re import urllib2, json, pprint, re
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
import subprocess, shlex, urllib import subprocess, shlex, urllib
from urlparse import urlparse
from mwclient import Site from mwclient import Site
sid = '1234' sid = '1234'
useragent = "Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101" useragent = "Mozilla/5.001 (windows; U; NT4.0; en-US; rv:1.0) Gecko/25250101"
endpoint = "http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&" endpoint = "http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&"
site = Site("pzwiki.wdka.nl", path="/mw-mediadesign/")
# API MODULES # API MODULES
def api_request(action, pagename): #get page: content, metadata, images, imageifnp def api_request(action, pagename): #get page: content, metadata, images, imageifnp
pagename = urllib.quote(pagename.encode('utf-8')) pagename = urllib.quote(pagename.encode('utf-8'))
print pagename # print pagename
url = endpoint + (action.format(pagename)) url = endpoint + (action.format(pagename))
# print 'API REQUEST', url # print 'API REQUEST', url
@ -32,21 +34,12 @@ def api_page(title, query):
response = ((api_response.get('revisions'))[0])['*'] response = ((api_response.get('revisions'))[0])['*']
elif query == 'metadata': elif query == 'metadata':
response = api_request('action=query&titles={}&prop=info', title) response = api_request('action=query&titles={}&prop=info', title)
elif query == 'articleimgs':
response = api_request('action=query&titles={}&prop=images', title)
elif query == 'file':
response = api_request('action=query&titles=File:{}&prop=imageinfo&iiprop=url',title)
elif query == 'imageinfo':
pagename = title # in imageinfo titles are used instead of id
print 'IMAGEINFO', pagename
response = api_request("action=query&titles=File:{}&prop=imageinfo&iiprop=url&iiurlwidth=500", pagename) # iiurlwidht dermines with of thumbnail
return response return response
############################## ##############################
# CATEGORIES AND PAGES # CATEGORIES, PAGES AND IMAGES
############################## ##############################
def mw_cats(args): def mw_cats(site, args):
site = Site(args.host, path=args.path)
last_names = None last_names = None
for cats in args.category: for cats in args.category:
for ci, cname in enumerate(cats): for ci, cname in enumerate(cats):
@ -62,32 +55,32 @@ def mw_cats(args):
results = list(results) results = list(results)
return [p.name for p in results] return [p.name for p in results]
def mw_singelimg_url(site, img): #find full of an img
if 'File:' not in img:
img = 'File:'+img
img_page=site.Pages[img]
img_url = (img_page.imageinfo)['url']
return img_url
def mw_imgsurl(site, page): #all the imgs in a page #return: list of tuples (img.name, img.fullurl)
page = site.Pages[page]
imgs = page.images()
imgs = list(imgs)
urls = [((img.name),(img.imageinfo)['url']) for img in imgs]
return urls
def api_file_url(filename): # get full urls
page_content_dict = api_page(filename, 'file')
if 'imageinfo' in page_content_dict.keys():
imgurl = ((page_content_dict.get('imageinfo'))[0].get('url'))
return imgurl
else:
return None
def api_thumb_url(filename):
thumburl = api_page(filename, 'imageinfo')
thumburl = ((thumburl.get('imageinfo'))[0].get('thumburl'))
return thumburl
# PROCESSING MODULES # PROCESSING MODULES
def write_html_file(html_tree, filename): def write_html_file(html_tree, filename):
print 'WRITE HTML FILE'
doctype = "<!DOCTYPE HTML>" doctype = "<!DOCTYPE HTML>"
print 'TREE', type(html_tree)
html = doctype + ET.tostring(html_tree, method='html', encoding='utf-8', ) html = doctype + ET.tostring(html_tree, method='html', encoding='utf-8', )
edited = open(filename, 'w') #write edited = open(filename, 'w') #write
edited.write(html) edited.write(html)
edited.close() edited.close()
# Alternative to parse_work_page
def parse_work(title, content): def parse_work(title, content):
workdict = {'Title':title, 'Creator':'', 'Date':'', 'Website':'', 'Thumbnail':'', 'Bio':'', 'Description':'', 'Extra':''} workdict = {'Title':title, 'Creator':'', 'Date':'', 'Website':'', 'Thumbnail':'', 'Bio':'', 'Description':'', 'Extra':''}
if re.match('\{\{\Graduation work', content): if re.match('\{\{\Graduation work', content):
@ -103,9 +96,9 @@ def parse_work(title, content):
if 'Creator' in key: if 'Creator' in key:
val = val.replace(', ', '') val = val.replace(', ', '')
elif 'Thumbnail' in key: elif 'Thumbnail' in key:
val = api_thumb_url(val) val = mw_singelimg_url(site, val)#api_thumb_url(val)
elif 'Website' in key: elif 'Website' in key:
val = urllib.unquote(val) val = urllib.unquote( val)
workdict[key]=val.encode('utf-8') workdict[key]=val.encode('utf-8')
# pprint.pprint(workdict) # pprint.pprint(workdict)
return workdict return workdict
@ -120,8 +113,7 @@ def pandoc2html(mw_content):
p2 = subprocess.Popen(args_pandoc, stdin=p1.stdout, stdout=subprocess.PIPE) p2 = subprocess.Popen(args_pandoc, stdin=p1.stdout, stdout=subprocess.PIPE)
html = (p2.communicate())[0] html = (p2.communicate())[0]
return html return html
gallery_exp=re.compile('<gallery>(.*?)</gallery>', re.S) gallery_exp=re.compile('<gallery>(.*?)</gallery>', re.S)
imgfile_exp=re.compile('(File:(.*?)\.(gif|jpg|jpeg|png))') imgfile_exp=re.compile('(File:(.*?)\.(gif|jpg|jpeg|png))')

@ -1,24 +1,11 @@
#! /usr/bin/env python #! /usr/bin/env python
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
###########
# prototyping downloading and converting mw page content to html
###########
# OVERVIEW:
# * creating one single html page
# * replace {{youtube/vimeo}} with video tags
# * replace galleries with rows of images
# request all the pages
# **BUILD INDEX**
# build all pages
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
import html5lib, pprint import html5lib, pprint
from mmdc_modules import api_page, pandoc2html, parse_work, api_file_url, replace_gallery, replace_video, index_addwork, write_html_file, mw_cats from mmdc_modules import api_page, pandoc2html, parse_work, replace_gallery, replace_video, index_addwork, write_html_file, mw_cats, mw_imgsurl, site
from argparse import ArgumentParser from argparse import ArgumentParser
from mwclient import Site
p = ArgumentParser() p = ArgumentParser()
p.add_argument("--host", default="pzwiki.wdka.nl") p.add_argument("--host", default="pzwiki.wdka.nl")
@ -26,6 +13,7 @@ p.add_argument("--path", default="/mw-mediadesign/", help="nb: should end with /
p.add_argument("--category", "-c", nargs="*", default=[], action="append", help="category to query, use -c foo -c bar to intersect multiple categories") p.add_argument("--category", "-c", nargs="*", default=[], action="append", help="category to query, use -c foo -c bar to intersect multiple categories")
args = p.parse_args() args = p.parse_args()
print args print args
######## ########
# QUERY API # QUERY API
######## ########
@ -36,11 +24,10 @@ endpoint = "http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&"
######## ########
# CREATE INDEX # CREATE INDEX
######## ########
memberpages=mw_cats(args) memberpages=mw_cats(site, args)
#memberpages['Ctrl-F Reader','As We Speak'] #memberpages['Ctrl-F Reader','As We Speak']
print 'memberpages', memberpages print 'memberpages', memberpages
######## ########
# Templates # Templates
######## ########
@ -54,6 +41,7 @@ index_container = index_tree.find(".//div[@class='isotope']") #maybe id is impor
######## ########
for member in memberpages: for member in memberpages:
print ' member', member print ' member', member
# download mw work page # download mw work page
# pageid=member['pageid'] # pageid=member['pageid']
# pagetitle=(member['title'].encode('utf-8')) # pagetitle=(member['title'].encode('utf-8'))
@ -61,25 +49,20 @@ for member in memberpages:
workpage_mw = replace_gallery(workpage_mw) workpage_mw = replace_gallery(workpage_mw)
workpage_mw = replace_video(workpage_mw) workpage_mw = replace_video(workpage_mw)
workdict = parse_work(member, workpage_mw) # create dictionary workpage_mw template workdict = parse_work(member, workpage_mw) # create dictionary workpage_mw template
workpage_imgs = mw_imgsurl(site, member)
# Only parse pages with Creator, Title, Thumbnail print 'WORKPAGE_IMGS', workpage_imgs
# only parse pages with Creator, Title, Thumbnail
if len(workdict['Creator'])>1 and len(workdict['Title'])>1 and len(workdict['Description'])>1 and len(workdict['Thumbnail'])>1: if len(workdict['Creator'])>1 and len(workdict['Title'])>1 and len(workdict['Description'])>1 and len(workdict['Thumbnail'])>1:
for key in workdict.keys(): # convert Extra, Description, Bio to HTML for key in workdict.keys(): # convert Extra, Description, Bio to HTML
if key in ['Extra', 'Description', 'Bio'] and workdict[key]: if key in ['Extra', 'Description', 'Bio'] and workdict[key]:
workdict[key] = pandoc2html( (workdict[key].decode('utf-8'))) workdict[key] = pandoc2html( (workdict[key].decode('utf-8')))
elif key in ['Creator']: elif key in ['Creator']:
workdict[key] = workdict[key].replace(',','' ) #remove comma workdict[key] = workdict[key].replace(',','' ) #remove comma
#replace empty dict values with ' ' # to avoid empty tags #replace empty dict values with ' ' # to avoid empty tags
for key in workdict.keys(): for key in workdict.keys():
if workdict[key] is '' and key is not 'Thumbnail': if workdict[key] is '':# and key is not 'Thumbnail':
workdict[key] = ' ' workdict[key] = ' '
elif key is 'Thumbnail' and workdict[key]:
img = '<img id="thumnail" src="{}" />'.format(workdict[key])
# append img to text
workdict[key] = workdict[key] # + img
#print 'THUMB', workdict[key]
if type(workdict[key]) is unicode: if type(workdict[key]) is unicode:
workdict[key]=workdict[key].encode('utf-8') workdict[key]=workdict[key].encode('utf-8')
@ -108,14 +91,23 @@ for member in memberpages:
page_website.text=workdict['Website'] page_website.text=workdict['Website']
page_thumb = page_tree.find('.//img[@id="thumbnail"]') page_thumb = page_tree.find('.//img[@id="thumbnail"]')
page_thumb.set('src', workdict['Thumbnail']) page_thumb.set('src', workdict['Thumbnail'])
# give work page's imgs full url # give work page's imgs full url
imgs = page_tree.findall('.//img') imgs = page_tree.findall('.//img')
print 'ALL PAGE IMGS', imgs
for img in imgs: for img in imgs:
if img.get('id') is not 'logo': img_class = img.get('class')
src = img.get('src') if img_class != 'template':
newsrc = api_file_url(src) ## MOVE FULL URl OPERATION TO MW CONTENT print 'img_class',img_class
if newsrc: src =unicode(img.get('src'))
img.set('src', newsrc) print src
for pair in workpage_imgs:
if src.replace("_", " ") in pair[0]: #if img in html match img in workpage_imgs
print 'FOUND IMG', pair
img.set('src', pair[1])
# newsrc = api_file_url(src) MOVE FULL URl OPERATION TO MW CONTENT
# if newsrc:
# img.set('src', newsrc)
# save work page # save work page
creator = workdict['Creator']#.decode('ascii', 'ignore') creator = workdict['Creator']#.decode('ascii', 'ignore')
creator = creator.replace(' ','_') creator = creator.replace(' ','_')
@ -137,7 +129,7 @@ for member in memberpages:
# print '----', workdict['Title'] # print '----', workdict['Title']
# print ET.tostring(tree) # print ET.tostring(tree)
print index_tree, type(index_tree) #print index_tree, type(index_tree)
write_html_file(index_tree, 'web/index.html') write_html_file(index_tree, 'web/index.html')
print print
print print

@ -15,7 +15,7 @@
<div id="sidebarInner"> <div id="sidebarInner">
<div id="sideBarDesc"> <div id="sideBarDesc">
<div id="sideBarDescInfo"> <div id="sideBarDescInfo">
<a class="hoverBackA" href="index.html"><img src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p> <a class="hoverBackA" href="index.html"><img class="template" src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p>
</div> </div>
<div id="sideBarDescInner"> <div id="sideBarDescInner">
@ -42,24 +42,24 @@
</div> </div>
</div> </div>
<div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg"></div> <div id="logoWrap"><img class="template" id="logo" src="./img/black_PZI_logo_p.svg"></div>
</div> </div>
<div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02"> <div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02">
<div class="fixedsticky" id="filter" style="top:0;"> <div class="fixedsticky" id="filter" style="top:0;">
<div class="themes" id="sortArea"> <div class="themes" id="sortArea">
<a class="hoverBackB" href="index.html"> <a class="hoverBackB" href="index.html">
<img src="./img/arrowBack.svg"> <img class="template" src="./img/arrowBack.svg">
</a> </a>
<p>Artyom-graduation-work</p><!--{title}--> <p>Artyom-graduation-work</p><!--{title}-->
<a class="closeSidebar"><img src="./img/arrowUpW.svg"></a> <a class="closeSidebar"><img class="template" src="./img/arrowUpW.svg"></a>
</div> </div>
</div> </div>
<!-- extra --> <!-- extra -->
<div class="project" id="extra"> <div class="project" id="extra">
<img id="thumbnail" src="http://pzwiki.wdka.nl/mw-mediadesign/images/thumb/6/6a/Screen_Shot_2014-10-26_at_16.10.08.jpg/500px-Screen_Shot_2014-10-26_at_16.10.08.jpg"> <img id="thumbnail" src="http://pzwiki.wdka.nl/mw-mediadesign/images/6/6a/Screen_Shot_2014-10-26_at_16.10.08.jpg">
<p>Photography, shortly after its invention, took on itself the responsibility of documenting history and giving us images of our world that was previously granted to painting. Photography was the first image of the kind, one that is conceived through technologies camera, that were products of modern science. Photography democratized the image making proses allowing anyone to produce an image with a click of a button. As well us taking images out from the realm of aesthetics and art which was peculiar to painting, and making them relevant to almost every aspect of culture. As technology developed giving us television and the general media establishment, the bigger part of our world became to be seen through those images than by our own eyes. In todays online world images function as distinct communication medium and seem do be a better fit to the quick and accumulated online culture where they serve as windows through which we can access the world far beyond our reach.</p> <p>Photography, shortly after its invention, took on itself the responsibility of documenting history and giving us images of our world that was previously granted to painting. Photography was the first image of the kind, one that is conceived through technologies camera, that were products of modern science. Photography democratized the image making proses allowing anyone to produce an image with a click of a button. As well us taking images out from the realm of aesthetics and art which was peculiar to painting, and making them relevant to almost every aspect of culture. As technology developed giving us television and the general media establishment, the bigger part of our world became to be seen through those images than by our own eyes. In todays online world images function as distinct communication medium and seem do be a better fit to the quick and accumulated online culture where they serve as windows through which we can access the world far beyond our reach.</p>
<p>Photography as an image is known for its ability to give an objective representation of the world it shows the world as it is. This notion although has been disproved by number of studies, is till excepted by the wider culture. Because of it scientific nature, namely the fact that the subject prescribes itself on the film without the involvement of human hand without human subjectivity, photography came to gain its objective status. This notion went as far as making photography an image that can stand as a proof for something. Similarly Google Images established itself as an agency that gives a precise and accurate representation of a subject. Its algorithms that developed in such way to display the most relevant and the most popular images of the subject. So its objective notion seems to rely again on its scientific factor, namely on the algorithmic analysis that automatically choose the content and arranging them by their on the page by their relevance.</p> <p>Photography as an image is known for its ability to give an objective representation of the world it shows the world as it is. This notion although has been disproved by number of studies, is till excepted by the wider culture. Because of it scientific nature, namely the fact that the subject prescribes itself on the film without the involvement of human hand without human subjectivity, photography came to gain its objective status. This notion went as far as making photography an image that can stand as a proof for something. Similarly Google Images established itself as an agency that gives a precise and accurate representation of a subject. Its algorithms that developed in such way to display the most relevant and the most popular images of the subject. So its objective notion seems to rely again on its scientific factor, namely on the algorithmic analysis that automatically choose the content and arranging them by their on the page by their relevance.</p>
</div> </div>

@ -15,7 +15,7 @@
<div id="sidebarInner"> <div id="sidebarInner">
<div id="sideBarDesc"> <div id="sideBarDesc">
<div id="sideBarDescInfo"> <div id="sideBarDescInfo">
<a class="hoverBackA" href="index.html"><img src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p> <a class="hoverBackA" href="index.html"><img class="template" src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p>
</div> </div>
<div id="sideBarDescInner"> <div id="sideBarDescInner">
@ -42,17 +42,17 @@
</div> </div>
</div> </div>
<div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg"></div> <div id="logoWrap"><img class="template" id="logo" src="./img/black_PZI_logo_p.svg"></div>
</div> </div>
<div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02"> <div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02">
<div class="fixedsticky" id="filter" style="top:0;"> <div class="fixedsticky" id="filter" style="top:0;">
<div class="themes" id="sortArea"> <div class="themes" id="sortArea">
<a class="hoverBackB" href="index.html"> <a class="hoverBackB" href="index.html">
<img src="./img/arrowBack.svg"> <img class="template" src="./img/arrowBack.svg">
</a> </a>
<p>U ntitled</p><!--{title}--> <p>U ntitled</p><!--{title}-->
<a class="closeSidebar"><img src="./img/arrowUpW.svg"></a> <a class="closeSidebar"><img class="template" src="./img/arrowUpW.svg"></a>
</div> </div>
</div> </div>

@ -1,12 +1,12 @@
<html><head> <!DOCTYPE HTML><html><head>
<meta charset="UTF-8" /> <meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport" /> <meta content="width=device-width, initial-scale=1, maximum-scale=1" name="viewport">
<title>Title</title> <title>User:Joak/graduation/catalog1</title>
<link href="./css/style.css" rel="stylesheet" /> <link href="./css/style.css" rel="stylesheet">
<link href="./css/style_projectpage.css" rel="stylesheet" /> <link href="./css/style_projectpage.css" rel="stylesheet">
<link href="./fonts/fontstylesheet01.css" rel="stylesheet" /> <link href="./fonts/fontstylesheet01.css" rel="stylesheet">
<link href="./css/fixedsticky.css" rel="stylesheet" /> <link href="./css/fixedsticky.css" rel="stylesheet">
</head> </head>
<body> <body>
@ -15,24 +15,24 @@
<div id="sidebarInner"> <div id="sidebarInner">
<div id="sideBarDesc"> <div id="sideBarDesc">
<div id="sideBarDescInfo"> <div id="sideBarDescInfo">
<a class="hoverBackA" href="index.html"><img src="./img/arrowBack.svg" /></a><p>Tempted by Tomorrow</p> <a class="hoverBackA" href="index.html"><img src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p>
</div> </div>
<div id="sideBarDescInner"> <div id="sideBarDescInner">
<!-- we used h2's and p's instead of divs here, moved 2015 and deleted http://pzwiki.wdka.nl/mw-mediadesign/images/1/16/Pointer.gif --> <!-- we used h2's and p's instead of divs here, moved date and deleted thumbnail -->
<h2 id="creator">Joseph Knierzinger</h2> <h2 id="creator">Joseph Knierzinger</h2>
<p id="title">Title 2015</p> <p id="title">User:Joak/graduation/catalog1 2015</p><!--{title} {date} -->
<!-- moved up desc --> <!-- moved up description -->
<div id="description">desc</div> <div id="description"></div>
<div id="bio" /> <div id="bio"></div>
<p class="hightlightSidebar"><a href="http://joak.nospace.at" target="_blank">http://joak.nospace.at</a></p> <p class="hightlightSidebar"><a href="http://joak.nospace.at" target="_blank">http://joak.nospace.at</a></p><!-- {website} -->
<!-- // --> <!-- // -->
@ -40,34 +40,36 @@
</div> </div>
</div> </div>
<div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg" /></div> <div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg"></div>
</div> </div>
<div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02"> <div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02">
<div class="fixedsticky" id="filter" style="top:0;"> <div class="fixedsticky" id="filter" style="top:0;">
<div class="themes" id="sortArea"> <div class="themes" id="sortArea">
<a class="hoverBackB" href="index.html"><img src="./img/arrowBack.svg" /></a><p>Title</p><a class="closeSidebar"><img src="./img/arrowUpW.svg" /></a> <a class="hoverBackB" href="index.html">
<img src="./img/arrowBack.svg">
</a>
<p>User:Joak/graduation/catalog1</p><!--{title}-->
<a class="closeSidebar"><img src="./img/arrowUpW.svg"></a>
</div> </div>
</div> </div>
<!-- extra --> <!-- extra -->
<div class="project" id="extra"> <div class="project" id="extra">
<img id="thumnail" src="http://pzwiki.wdka.nl/mw-mediadesign/images/1/16/Pointer.gif" /> <img id="thumbnail" src="http://pzwiki.wdka.nl/mw-mediadesign/images/1/16/Pointer.gif">
extra <p>my free text</p>
</div> </div>
<!----> <!---->
</div> </div>
</div> </div>
<script src="./js/jquery-2.1.3.min.js" /> <script src="./js/jquery-2.1.3.min.js"></script>
<script src="./js/fixedfixed.js" /> <script src="./js/fixedfixed.js"></script>
<script src="./js/fixedsticky.js" /> <script src="./js/fixedsticky.js"></script>
<script src="./js/isotope.pkgd.min.js" /> <script src="./js/mainScripts_single.js"></script>
<script src="./js/imagesloaded.pkgd.min.js" />
<script src="./js/mainScripts_single.js" />

@ -15,7 +15,7 @@
<div id="sidebarInner"> <div id="sidebarInner">
<div id="sideBarDesc"> <div id="sideBarDesc">
<div id="sideBarDescInfo"> <div id="sideBarDescInfo">
<a class="hoverBackA" href="index.html"><img src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p> <a class="hoverBackA" href="index.html"><img class="template" src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p>
</div> </div>
<div id="sideBarDescInner"> <div id="sideBarDescInner">
@ -42,17 +42,17 @@
</div> </div>
</div> </div>
<div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg"></div> <div id="logoWrap"><img class="template" id="logo" src="./img/black_PZI_logo_p.svg"></div>
</div> </div>
<div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02"> <div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02">
<div class="fixedsticky" id="filter" style="top:0;"> <div class="fixedsticky" id="filter" style="top:0;">
<div class="themes" id="sortArea"> <div class="themes" id="sortArea">
<a class="hoverBackB" href="index.html"> <a class="hoverBackB" href="index.html">
<img src="./img/arrowBack.svg"> <img class="template" src="./img/arrowBack.svg">
</a> </a>
<p>Mina</p><!--{title}--> <p>Mina</p><!--{title}-->
<a class="closeSidebar"><img src="./img/arrowUpW.svg"></a> <a class="closeSidebar"><img class="template" src="./img/arrowUpW.svg"></a>
</div> </div>
</div> </div>

@ -15,7 +15,7 @@
<div id="sidebarInner"> <div id="sidebarInner">
<div id="sideBarDesc"> <div id="sideBarDesc">
<div id="sideBarDescInfo"> <div id="sideBarDescInfo">
<a class="hoverBackA" href="index.html"><img src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p> <a class="hoverBackA" href="index.html"><img class="template" src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p>
</div> </div>
<div id="sideBarDescInner"> <div id="sideBarDescInner">
@ -42,24 +42,24 @@
</div> </div>
</div> </div>
<div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg"></div> <div id="logoWrap"><img class="template" id="logo" src="./img/black_PZI_logo_p.svg"></div>
</div> </div>
<div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02"> <div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02">
<div class="fixedsticky" id="filter" style="top:0;"> <div class="fixedsticky" id="filter" style="top:0;">
<div class="themes" id="sortArea"> <div class="themes" id="sortArea">
<a class="hoverBackB" href="index.html"> <a class="hoverBackB" href="index.html">
<img src="./img/arrowBack.svg"> <img class="template" src="./img/arrowBack.svg">
</a> </a>
<p>Qq</p><!--{title}--> <p>Qq</p><!--{title}-->
<a class="closeSidebar"><img src="./img/arrowUpW.svg"></a> <a class="closeSidebar"><img class="template" src="./img/arrowUpW.svg"></a>
</div> </div>
</div> </div>
<!-- extra --> <!-- extra -->
<div class="project" id="extra"> <div class="project" id="extra">
<img id="thumbnail" src="http://pzwiki.wdka.nl/mw-mediadesign/images/thumb/8/85/Luther-blissett-300.jpg/500px-Luther-blissett-300.jpg"> <img id="thumbnail" src="http://pzwiki.wdka.nl/mw-mediadesign/images/8/85/Luther-blissett-300.jpg">
<p>While the folk heroes of the early-modern period and the nineteenth century served a variety of social and political purposes, the <strong>Luther Blissett Project (LBP)</strong> were able to utilize the media and communication strategies unavailable to their predecessors. According to Marco Deseriis, the main purpose of the LBP was to create a folk hero of the information society whereby knowledge workers and immaterial workers could organize and recognize themselves.[5] Thus, rather than being understood only as a media prankster and culture jammer, Luther Blissett became a positive mythic figure that was supposed to embody the very process of community and cross-media storytelling. Roberto Bui—one of the co-founders of the LBP and Wu Ming—explains the function of Luther Blissett and other radical folk heroes as mythmaking or mythopoesis</p> <p>While the folk heroes of the early-modern period and the nineteenth century served a variety of social and political purposes, the <strong>Luther Blissett Project (LBP)</strong> were able to utilize the media and communication strategies unavailable to their predecessors. According to Marco Deseriis, the main purpose of the LBP was to create a folk hero of the information society whereby knowledge workers and immaterial workers could organize and recognize themselves.[5] Thus, rather than being understood only as a media prankster and culture jammer, Luther Blissett became a positive mythic figure that was supposed to embody the very process of community and cross-media storytelling. Roberto Bui—one of the co-founders of the LBP and Wu Ming—explains the function of Luther Blissett and other radical folk heroes as mythmaking or mythopoesis</p>
<p><iframe height="450px" src="https://player.vimeo.com/video/114218234" width="600px"> </iframe></p> <p><iframe height="450px" src="https://player.vimeo.com/video/114218234" width="600px"> </iframe></p>
<p><iframe height="450px" src="https://www.youtube.com/embed/oXxZnL5HokA" width="600px"> </iframe></p> <p><iframe height="450px" src="https://www.youtube.com/embed/oXxZnL5HokA" width="600px"> </iframe></p>

@ -15,7 +15,7 @@
<div id="sidebarInner"> <div id="sidebarInner">
<div id="sideBarDesc"> <div id="sideBarDesc">
<div id="sideBarDescInfo"> <div id="sideBarDescInfo">
<a class="hoverBackA" href="index.html"><img src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p> <a class="hoverBackA" href="index.html"><img class="template" src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p>
</div> </div>
<div id="sideBarDescInner"> <div id="sideBarDescInner">
@ -42,17 +42,17 @@
</div> </div>
</div> </div>
<div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg"></div> <div id="logoWrap"><img class="template" id="logo" src="./img/black_PZI_logo_p.svg"></div>
</div> </div>
<div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02"> <div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02">
<div class="fixedsticky" id="filter" style="top:0;"> <div class="fixedsticky" id="filter" style="top:0;">
<div class="themes" id="sortArea"> <div class="themes" id="sortArea">
<a class="hoverBackB" href="index.html"> <a class="hoverBackB" href="index.html">
<img src="./img/arrowBack.svg"> <img class="template" src="./img/arrowBack.svg">
</a> </a>
<p>User:Max Dovey/maxgradbio</p><!--{title}--> <p>User:Max Dovey/maxgradbio</p><!--{title}-->
<a class="closeSidebar"><img src="./img/arrowUpW.svg"></a> <a class="closeSidebar"><img class="template" src="./img/arrowUpW.svg"></a>
</div> </div>
</div> </div>

@ -102,7 +102,7 @@
&lt;div class="item video flash"&gt;&lt;img src="img/project_roel2.png"&gt;&lt;/div&gt; &lt;div class="item video flash"&gt;&lt;img src="img/project_roel2.png"&gt;&lt;/div&gt;
&lt;div class="item narrative"&gt;&lt;img src="img/project_andre.jpeg"&gt;&lt;/div--> &lt;div class="item narrative"&gt;&lt;img src="img/project_andre.jpeg"&gt;&lt;/div-->
<div class="item" data-creator="Max Dovey" data-date="2015" data-title="User:Max Dovey/maxgradbio" id="Extra"><a class="work" href="2015-Max_Dovey.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/1/16/Pointer.gif"></a></div><div class="item" data-creator="Luther Blisset" data-date="2015" data-title="Qq" id="Extra"><a class="work" href="2015-Luther_Blisset.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/thumb/8/85/Luther-blissett-300.jpg/500px-Luther-blissett-300.jpg"></a></div><div class="item" data-creator="Artyom" data-date="2015" data-title="Artyom-graduation-work" id="Extra"><a class="work" href="2015-Artyom.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/thumb/6/6a/Screen_Shot_2014-10-26_at_16.10.08.jpg/500px-Screen_Shot_2014-10-26_at_16.10.08.jpg"></a></div><div class="item" data-creator="Lucia Dossin" data-date="2015" data-title="Mina" id="Extra"><a class="work" href="2015-Lucia_Dossin.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/5/59/3legs.jpg"></a></div><div class="item" data-creator="Henk-Jelle de Groot" data-date="2015" data-title="U ntitled" id="Extra"><a class="work" href="2015-Henk-Jelle_de_Groot.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/e/e7/9m4MBqRM1w-6.png"></a></div></div> <div class="item" data-creator="Max Dovey" data-date="2015" data-title="User:Max Dovey/maxgradbio" id="Extra"><a class="work" href="2015-Max_Dovey.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/1/16/Pointer.gif"></a></div><div class="item" data-creator="Luther Blisset" data-date="2015" data-title="Qq" id="Extra"><a class="work" href="2015-Luther_Blisset.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/8/85/Luther-blissett-300.jpg"></a></div><div class="item" data-creator="Artyom" data-date="2015" data-title="Artyom-graduation-work" id="Extra"><a class="work" href="2015-Artyom.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/6/6a/Screen_Shot_2014-10-26_at_16.10.08.jpg"></a></div><div class="item" data-creator="Lucia Dossin" data-date="2015" data-title="Mina" id="Extra"><a class="work" href="2015-Lucia_Dossin.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/5/59/3legs.jpg"></a></div><div class="item" data-creator="Henk-Jelle de Groot" data-date="2015" data-title="U ntitled" id="Extra"><a class="work" href="2015-Henk-Jelle_de_Groot.html"><img class="work" src="http://pzwiki.wdka.nl/mw-mediadesign/images/e/e7/9m4MBqRM1w-6.png"></a></div></div>
</div> </div>
<div class="sidebarBorderLeft zwartArea" id="section03"> <div class="sidebarBorderLeft zwartArea" id="section03">

@ -17,7 +17,7 @@
<div id="sidebarInner"> <div id="sidebarInner">
<div id="sideBarDesc"> <div id="sideBarDesc">
<div id="sideBarDescInfo"> <div id="sideBarDescInfo">
<a href="index.html" class="hoverBackA"><img src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p> <a href="index.html" class="hoverBackA"><img class="template" src="./img/arrowBack.svg"></a><p>Tempted by Tomorrow</p>
</div> </div>
<div id="sideBarDescInner"> <div id="sideBarDescInner">
@ -42,17 +42,17 @@
</div> </div>
</div> </div>
<div id="logoWrap"><img id="logo" src="./img/black_PZI_logo_p.svg"></div> <div id="logoWrap"><img class="template" id="logo" src="./img/black_PZI_logo_p.svg"></div>
</div> </div>
<div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02"> <div class="zwartArea zwartAreaWhite sidebarBorderLeft" id="section02">
<div class="fixedsticky" id="filter" style="top:0;"> <div class="fixedsticky" id="filter" style="top:0;">
<div class="themes" id="sortArea"> <div class="themes" id="sortArea">
<a href="index.html" class="hoverBackB"> <a href="index.html" class="hoverBackB">
<img src="./img/arrowBack.svg"> <img class="template" src="./img/arrowBack.svg">
</a> </a>
<p></p><!--{title}--> <p></p><!--{title}-->
<a class="closeSidebar"><img src="./img/arrowUpW.svg"/></a> <a class="closeSidebar"><img class="template" src="./img/arrowUpW.svg"/></a>
</div> </div>
</div> </div>

Loading…
Cancel
Save