Browse Source

some awesome stacks

ansible-setup-and-deploy
Alex 6 years ago
parent
commit
676b111e59
  1. BIN
      .DS_Store
  2. 30
      app/models.py
  3. 9
      app/static/css/style.css
  4. 333
      app/static/js/jquery-ui-1.12.1.custom/AUTHORS.txt
  5. 43
      app/static/js/jquery-ui-1.12.1.custom/LICENSE.txt
  6. 11008
      app/static/js/jquery-ui-1.12.1.custom/external/jquery/jquery.js
  7. BIN
      app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_444444_256x240.png
  8. BIN
      app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_555555_256x240.png
  9. BIN
      app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_777620_256x240.png
  10. BIN
      app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_777777_256x240.png
  11. BIN
      app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_cc0000_256x240.png
  12. BIN
      app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_ffffff_256x240.png
  13. 559
      app/static/js/jquery-ui-1.12.1.custom/index.html
  14. 1312
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.css
  15. 18706
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.js
  16. 7
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.min.css
  17. 13
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.min.js
  18. 886
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.structure.css
  19. 5
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css
  20. 443
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.theme.css
  21. 5
      app/static/js/jquery-ui-1.12.1.custom/jquery-ui.theme.min.css
  22. 74
      app/static/js/jquery-ui-1.12.1.custom/package.json
  23. 25
      app/templates/base.html
  24. 1
      app/templates/header.html
  25. 5
      app/templates/show_book_detail.html
  26. 7
      app/templates/show_books.html
  27. 28
      app/templates/show_stack_detail.html
  28. 50
      app/templates/show_stacks.html
  29. 16
      app/views.py
  30. 15
      import_csv.py
  31. 337
      xpublibrary.csv
  32. 168
      xpublibrary_old.csv

BIN
.DS_Store

Binary file not shown.

30
app/models.py

@ -6,6 +6,11 @@ authors = db.Table('books_authors',
db.Column('author_id', db.Integer, db.ForeignKey('authors.id'), primary_key=True)
)
stacks = db.Table('books_stacks',
db.Column('book_id', db.Integer, db.ForeignKey('books.id'), primary_key=True),
db.Column('stack_id', db.Integer, db.ForeignKey('stacks.id'), primary_key=True)
)
class Book(db.Model):
__tablename__ = 'books'
@ -17,15 +22,18 @@ class Book(db.Model):
category = db.Column(db.String(255))
authors = db.relationship('Author', secondary=authors,cascade="delete", lazy='subquery',
backref=db.backref('books', lazy=True),passive_deletes=True)
stacks = db.relationship('Stack', secondary=stacks, lazy='subquery',
backref=db.backref('books', lazy=True))
scapeX = db.Column(db.Numeric(10,2))
scapeY = db.Column(db.Numeric(10,2))
def __init__(self, title, file, cover, fileformat, category):
def __init__(self, title, file, cover, fileformat, category, stack):
self.title = title
self.file = file
self.cover = cover
self.fileformat = fileformat
self.category = category
self.stack = stack
self.scapeX = 0
self.scapeY = 0
@ -59,8 +67,28 @@ class BookSchema(Schema):
cover = fields.Str()
fileformat = fields.Str()
category = fields.Str()
stack = fields.Str()
class Stack(db.Model):
__tablename__ = 'stacks'
id = db.Column(db.Integer, primary_key = True)
stack_name = db.Column(db.String(50))
stack_description = db.Column(db.String(500))
def __init__(self, stack_name, stack_description):
self.stack_name = stack_name
self.stack_description = stack_description
def __repr__(self):
return '<Stack %r>' % self.stack
def get_id(self):
return self.id
class StackSchema(Schema):
id = fields.Int(dump_only=True)
stack_name = fields.Str()
stack_description = fields.Str()
def must_not_be_blank(data):
if not data:

9
app/static/css/style.css

@ -91,3 +91,12 @@ font-family:'Courier New';
font-family:'Courier New';
}
.ui-tabs-vertical { width: 55em; }
.ui-tabs-vertical .ui-tabs-nav { padding: .2em .1em .2em .2em; float: left; width: 12em; }
.ui-tabs-vertical .ui-tabs-nav li { clear: left; width: 100%; border-bottom-width: 1px !important; border-right-width: 0 !important; margin: 0 -1px .2em 0; }
.ui-tabs-vertical .ui-tabs-nav li a { display:block; }
.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active { padding-bottom: 0; padding-right: .1em; border-right-width: 1px; }
.ui-tabs-vertical .ui-tabs-panel { padding: 1em; float: right; width: 40em;}
#draggable { width: 100px; height: 100px; padding: 0.5em; float: left; margin: 10px 10px 10px 0; }
#droppable { width: 150px; height: 150px; padding: 0.5em; float: left; margin: 10px; }

333
app/static/js/jquery-ui-1.12.1.custom/AUTHORS.txt

@ -0,0 +1,333 @@
Authors ordered by first contribution
A list of current team members is available at http://jqueryui.com/about
Paul Bakaus <paul.bakaus@gmail.com>
Richard Worth <rdworth@gmail.com>
Yehuda Katz <wycats@gmail.com>
Sean Catchpole <sean@sunsean.com>
John Resig <jeresig@gmail.com>
Tane Piper <piper.tane@gmail.com>
Dmitri Gaskin <dmitrig01@gmail.com>
Klaus Hartl <klaus.hartl@gmail.com>
Stefan Petre <stefan.petre@gmail.com>
Gilles van den Hoven <gilles@webunity.nl>
Micheil Bryan Smith <micheil@brandedcode.com>
Jörn Zaefferer <joern.zaefferer@gmail.com>
Marc Grabanski <m@marcgrabanski.com>
Keith Wood <kbwood@iinet.com.au>
Brandon Aaron <brandon.aaron@gmail.com>
Scott González <scott.gonzalez@gmail.com>
Eduardo Lundgren <eduardolundgren@gmail.com>
Aaron Eisenberger <aaronchi@gmail.com>
Joan Piedra <theneojp@gmail.com>
Bruno Basto <b.basto@gmail.com>
Remy Sharp <remy@leftlogic.com>
Bohdan Ganicky <bohdan.ganicky@gmail.com>
David Bolter <david.bolter@gmail.com>
Chi Cheng <cloudream@gmail.com>
Ca-Phun Ung <pazu2k@gmail.com>
Ariel Flesler <aflesler@gmail.com>
Maggie Wachs <maggie@filamentgroup.com>
Scott Jehl <scottjehl@gmail.com>
Todd Parker <todd@filamentgroup.com>
Andrew Powell <andrew@shellscape.org>
Brant Burnett <btburnett3@gmail.com>
Douglas Neiner <doug@dougneiner.com>
Paul Irish <paul.irish@gmail.com>
Ralph Whitbeck <ralph.whitbeck@gmail.com>
Thibault Duplessis <thibault.duplessis@gmail.com>
Dominique Vincent <dominique.vincent@toitl.com>
Jack Hsu <jack.hsu@gmail.com>
Adam Sontag <ajpiano@ajpiano.com>
Carl Fürstenberg <carl@excito.com>
Kevin Dalman <development@allpro.net>
Alberto Fernández Capel <afcapel@gmail.com>
Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
Ting Kuei <ting@kuei.com>
Samuel Cormier-Iijima <sam@chide.it>
Jon Palmer <jonspalmer@gmail.com>
Ben Hollis <bhollis@amazon.com>
Justin MacCarthy <Justin@Rubystars.biz>
Eyal Kobrigo <kobrigo@hotmail.com>
Tiago Freire <tiago.freire@gmail.com>
Diego Tres <diegotres@gmail.com>
Holger Rüprich <holger@rueprich.de>
Ziling Zhao <zilingzhao@gmail.com>
Mike Alsup <malsup@gmail.com>
Robson Braga Araujo <robsonbraga@gmail.com>
Pierre-Henri Ausseil <ph.ausseil@gmail.com>
Christopher McCulloh <cmcculloh@gmail.com>
Andrew Newcomb <ext.github@preceptsoftware.co.uk>
Lim Chee Aun <cheeaun@gmail.com>
Jorge Barreiro <yortx.barry@gmail.com>
Daniel Steigerwald <daniel@steigerwald.cz>
John Firebaugh <john_firebaugh@bigfix.com>
John Enters <github@darkdark.net>
Andrey Kapitcyn <ru.m157y@gmail.com>
Dmitry Petrov <dpetroff@gmail.com>
Eric Hynds <eric@hynds.net>
Chairat Sunthornwiphat <pipo@sixhead.com>
Josh Varner <josh.varner@gmail.com>
Stéphane Raimbault <stephane.raimbault@gmail.com>
Jay Merrifield <fracmak@gmail.com>
J. Ryan Stinnett <jryans@gmail.com>
Peter Heiberg <peter@heiberg.se>
Alex Dovenmuehle <adovenmuehle@gmail.com>
Jamie Gegerson <git@jamiegegerson.com>
Raymond Schwartz <skeetergraphics@gmail.com>
Phillip Barnes <philbar@gmail.com>
Kyle Wilkinson <kai@wikyd.org>
Khaled AlHourani <me@khaledalhourani.com>
Marian Rudzynski <mr@impaled.org>
Jean-Francois Remy <jeff@melix.org>
Doug Blood <dougblood@gmail.com>
Filippo Cavallarin <filippo.cavallarin@codseq.it>
Heiko Henning <heiko@thehennings.ch>
Aliaksandr Rahalevich <saksmlz@gmail.com>
Mario Visic <mario@mariovisic.com>
Xavi Ramirez <xavi.rmz@gmail.com>
Max Schnur <max.schnur@gmail.com>
Saji Nediyanchath <saji89@gmail.com>
Corey Frang <gnarf37@gmail.com>
Aaron Peterson <aaronp123@yahoo.com>
Ivan Peters <ivan@ivanpeters.com>
Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr>
Marcos Sousa <falecomigo@marcossousa.com>
Michael DellaNoce <mdellanoce@mailtrust.com>
George Marshall <echosx@gmail.com>
Tobias Brunner <tobias@strongswan.org>
Martin Solli <msolli@gmail.com>
David Petersen <public@petersendidit.com>
Dan Heberden <danheberden@gmail.com>
William Kevin Manire <williamkmanire@gmail.com>
Gilmore Davidson <gilmoreorless@gmail.com>
Michael Wu <michaelmwu@gmail.com>
Adam Parod <mystic414@gmail.com>
Guillaume Gautreau <guillaume+github@ghusse.com>
Marcel Toele <EleotleCram@gmail.com>
Dan Streetman <ddstreet@ieee.org>
Matt Hoskins <matt@nipltd.com>
Giovanni Giacobbi <giovanni@giacobbi.net>
Kyle Florence <kyle.florence@gmail.com>
Pavol Hluchý <lopo@losys.sk>
Hans Hillen <hans.hillen@gmail.com>
Mark Johnson <virgofx@live.com>
Trey Hunner <treyhunner@gmail.com>
Shane Whittet <whittet@gmail.com>
Edward A Faulkner <ef@alum.mit.edu>
Adam Baratz <adam@adambaratz.com>
Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
Eike Send <eike.send@gmail.com>
Kris Borchers <kris.borchers@gmail.com>
Eddie Monge <eddie@eddiemonge.com>
Israel Tsadok <itsadok@gmail.com>
Carson McDonald <carson@ioncannon.net>
Jason Davies <jason@jasondavies.com>
Garrison Locke <gplocke@gmail.com>
David Murdoch <david@davidmurdoch.com>
Benjamin Scott Boyle <benjamins.boyle@gmail.com>
Jesse Baird <jebaird@gmail.com>
Jonathan Vingiano <jvingiano@gmail.com>
Dylan Just <dev@ephox.com>
Hiroshi Tomita <tomykaira@gmail.com>
Glenn Goodrich <glenn.goodrich@gmail.com>
Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
Ryan Neufeld <ryan@neufeldmail.com>
Marc Neuwirth <marc.neuwirth@gmail.com>
Philip Graham <philip.robert.graham@gmail.com>
Benjamin Sterling <benjamin.sterling@kenzomedia.com>
Wesley Walser <waw325@gmail.com>
Kouhei Sutou <kou@clear-code.com>
Karl Kirch <karlkrch@gmail.com>
Chris Kelly <ckdake@ckdake.com>
Jason Oster <jay@kodewerx.org>
Felix Nagel <info@felixnagel.com>
Alexander Polomoshnov <alex.polomoshnov@gmail.com>
David Leal <dgleal@gmail.com>
Igor Milla <igor.fsp.milla@gmail.com>
Dave Methvin <dave.methvin@gmail.com>
Florian Gutmann <f.gutmann@chronimo.com>
Marwan Al Jubeh <marwan.aljubeh@gmail.com>
Milan Broum <midlis@googlemail.com>
Sebastian Sauer <info@dynpages.de>
Gaëtan Muller <m.gaetan89@gmail.com>
Michel Weimerskirch <michel@weimerskirch.net>
William Griffiths <william@ycymro.com>
Stojce Slavkovski <stojce@gmail.com>
David Soms <david.soms@gmail.com>
David De Sloovere <david.desloovere@outlook.com>
Michael P. Jung <michael.jung@terreon.de>
Shannon Pekary <spekary@gmail.com>
Dan Wellman <danwellman@hotmail.com>
Matthew Edward Hutton <meh@corefiling.co.uk>
James Khoury <james@jameskhoury.com>
Rob Loach <robloach@gmail.com>
Alberto Monteiro <betimbrasil@gmail.com>
Alex Rhea <alex.rhea@gmail.com>
Krzysztof Rosiński <rozwell69@gmail.com>
Ryan Olton <oltonr@gmail.com>
Genie <386@mail.com>
Rick Waldron <waldron.rick@gmail.com>
Ian Simpson <spoonlikesham@gmail.com>
Lev Kitsis <spam4lev@gmail.com>
TJ VanToll <tj.vantoll@gmail.com>
Justin Domnitz <jdomnitz@gmail.com>
Douglas Cerna <douglascerna@yahoo.com>
Bert ter Heide <bertjh@hotmail.com>
Jasvir Nagra <jasvir@gmail.com>
Yuriy Khabarov <13real008@gmail.com>
Harri Kilpiö <harri.kilpio@gmail.com>
Lado Lomidze <lado.lomidze@gmail.com>
Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
Simon Sattes <simon.sattes@gmail.com>
Jo Liss <joliss42@gmail.com>
Guntupalli Karunakar <karunakarg@yahoo.com>
Shahyar Ghobadpour <shahyar@gmail.com>
Lukasz Lipinski <uzza17@gmail.com>
Timo Tijhof <krinklemail@gmail.com>
Jason Moon <jmoon@socialcast.com>
Martin Frost <martinf55@hotmail.com>
Eneko Illarramendi <eneko@illarra.com>
EungJun Yi <semtlenori@gmail.com>
Courtland Allen <courtlandallen@gmail.com>
Viktar Varvanovich <non4eg@gmail.com>
Danny Trunk <dtrunk90@gmail.com>
Pavel Stetina <pavel.stetina@nangu.tv>
Michael Stay <metaweta@gmail.com>
Steven Roussey <sroussey@gmail.com>
Michael Hollis <hollis21@gmail.com>
Lee Rowlands <lee.rowlands@previousnext.com.au>
Timmy Willison <timmywillisn@gmail.com>
Karl Swedberg <kswedberg@gmail.com>
Baoju Yuan <the_guy_1987@hotmail.com>
Maciej Mroziński <maciej.k.mrozinski@gmail.com>
Luis Dalmolin <luis.nh@gmail.com>
Mark Aaron Shirley <maspwr@gmail.com>
Martin Hoch <martin@fidion.de>
Jiayi Yang <tr870829@gmail.com>
Philipp Benjamin Köppchen <xgxtpbk@gws.ms>
Sindre Sorhus <sindresorhus@gmail.com>
Bernhard Sirlinger <bernhard.sirlinger@tele2.de>
Jared A. Scheel <jared@jaredscheel.com>
Rafael Xavier de Souza <rxaviers@gmail.com>
John Chen <zhang.z.chen@intel.com>
Robert Beuligmann <robertbeuligmann@gmail.com>
Dale Kocian <dale.kocian@gmail.com>
Mike Sherov <mike.sherov@gmail.com>
Andrew Couch <andy@couchand.com>
Marc-Andre Lafortune <github@marc-andre.ca>
Nate Eagle <nate.eagle@teamaol.com>
David Souther <davidsouther@gmail.com>
Mathias Stenbom <mathias@stenbom.com>
Sergey Kartashov <ebishkek@yandex.ru>
Avinash R <nashpapa@gmail.com>
Ethan Romba <ethanromba@gmail.com>
Cory Gackenheimer <cory.gack@gmail.com>
Juan Pablo Kaniefsky <jpkaniefsky@gmail.com>
Roman Salnikov <bardt.dz@gmail.com>
Anika Henke <anika@selfthinker.org>
Samuel Bovée <samycookie2000@yahoo.fr>
Fabrício Matté <ult_combo@hotmail.com>
Viktor Kojouharov <vkojouharov@gmail.com>
Pawel Maruszczyk (http://hrabstwo.net)
Pavel Selitskas <p.selitskas@gmail.com>
Bjørn Johansen <post@bjornjohansen.no>
Matthieu Penant <thieum22@hotmail.com>
Dominic Barnes <dominic@dbarnes.info>
David Sullivan <david.sullivan@gmail.com>
Thomas Jaggi <thomas@responsive.ch>
Vahid Sohrabloo <vahid4134@gmail.com>
Travis Carden <travis.carden@gmail.com>
Bruno M. Custódio <bruno@brunomcustodio.com>
Nathanael Silverman <nathanael.silverman@gmail.com>
Christian Wenz <christian@wenz.org>
Steve Urmston <steve@urm.st>
Zaven Muradyan <megalivoithos@gmail.com>
Woody Gilk <shadowhand@deviantart.com>
Zbigniew Motyka <zbigniew.motyka@gmail.com>
Suhail Alkowaileet <xsoh.k7@gmail.com>
Toshi MARUYAMA <marutosijp2@yahoo.co.jp>
David Hansen <hansede@gmail.com>
Brian Grinstead <briangrinstead@gmail.com>
Christian Klammer <christian314159@gmail.com>
Steven Luscher <jquerycla@steveluscher.com>
Gan Eng Chin <engchin.gan@gmail.com>
Gabriel Schulhof <gabriel.schulhof@intel.com>
Alexander Schmitz <arschmitz@gmail.com>
Vilhjálmur Skúlason <vis@dmm.is>
Siebrand Mazeland <siebrand@kitano.nl>
Mohsen Ekhtiari <mohsenekhtiari@yahoo.com>
Pere Orga <gotrunks@gmail.com>
Jasper de Groot <mail@ugomobi.com>
Stephane Deschamps <stephane.deschamps@gmail.com>
Jyoti Deka <dekajp@gmail.com>
Andrei Picus <office.nightcrawler@gmail.com>
Ondrej Novy <novy@ondrej.org>
Jacob McCutcheon <jacob.mccutcheon@gmail.com>
Monika Piotrowicz <monika.piotrowicz@gmail.com>
Imants Horsts <imants.horsts@inbox.lv>
Eric Dahl <eric.c.dahl@gmail.com>
Dave Stein <dave@behance.com>
Dylan Barrell <dylan@barrell.com>
Daniel DeGroff <djdegroff@gmail.com>
Michael Wiencek <mwtuea@gmail.com>
Thomas Meyer <meyertee@gmail.com>
Ruslan Yakhyaev <ruslan@ruslan.io>
Brian J. Dowling <bjd-dev@simplicity.net>
Ben Higgins <ben@extrahop.com>
Yermo Lamers <yml@yml.com>
Patrick Stapleton <github@gdi2290.com>
Trisha Crowley <trisha.crowley@gmail.com>
Usman Akeju <akeju00+github@gmail.com>
Rodrigo Menezes <rod333@gmail.com>
Jacques Perrault <jacques_perrault@us.ibm.com>
Frederik Elvhage <frederik.elvhage@googlemail.com>
Will Holley <willholley@gmail.com>
Uri Gilad <antishok@gmail.com>
Richard Gibson <richard.gibson@gmail.com>
Simen Bekkhus <sbekkhus91@gmail.com>
Chen Eshchar <eshcharc@gmail.com>
Bruno Pérel <brunoperel@gmail.com>
Mohammed Alshehri <m@dralshehri.com>
Lisa Seacat DeLuca <ldeluca@us.ibm.com>
Anne-Gaelle Colom <coloma@westminster.ac.uk>
Adam Foster <slimfoster@gmail.com>
Luke Page <luke.a.page@gmail.com>
Daniel Owens <daniel@matchstickmixup.com>
Michael Orchard <morchard@scottlogic.co.uk>
Marcus Warren <marcus@envoke.com>
Nils Heuermann <nils@world-of-scripts.de>
Marco Ziech <marco@ziech.net>
Patricia Juarez <patrixd@gmail.com>
Ben Mosher <me@benmosher.com>
Ablay Keldibek <atomio.ak@gmail.com>
Thomas Applencourt <thomas.applencourt@irsamc.ups-tlse.fr>
Jiabao Wu <jiabao.foss@gmail.com>
Eric Lee Carraway <github@ericcarraway.com>
Victor Homyakov <vkhomyackov@gmail.com>
Myeongjin Lee <aranet100@gmail.com>
Liran Sharir <lsharir@gmail.com>
Weston Ruter <weston@xwp.co>
Mani Mishra <manimishra902@gmail.com>
Hannah Methvin <hannahmethvin@gmail.com>
Leonardo Balter <leonardo.balter@gmail.com>
Benjamin Albert <benjamin_a5@yahoo.com>
Michał Gołębiowski <m.goleb@gmail.com>
Alyosha Pushak <alyosha.pushak@gmail.com>
Fahad Ahmad <fahadahmad41@hotmail.com>
Matt Brundage <github@mattbrundage.com>
Francesc Baeta <francesc.baeta@gmail.com>
Piotr Baran <piotros@wp.pl>
Mukul Hase <mukulhase@gmail.com>
Konstantin Dinev <kdinev@mail.bw.edu>
Rand Scullard <rand@randscullard.com>
Dan Strohl <dan@wjcg.net>
Maksim Ryzhikov <rv.maksim@gmail.com>
Amine HADDAD <haddad@allegorie.tv>
Amanpreet Singh <apsdehal@gmail.com>
Alexey Balchunas <bleshik@gmail.com>
Peter Kehl <peter.kehl@gmail.com>
Peter Dave Hello <hsu@peterdavehello.org>
Johannes Schäfer <johnschaefer@gmx.de>
Ville Skyttä <ville.skytta@iki.fi>
Ryan Oriecuia <ryan.oriecuia@visioncritical.com>

43
app/static/js/jquery-ui-1.12.1.custom/LICENSE.txt

@ -0,0 +1,43 @@
Copyright jQuery Foundation and other contributors, https://jquery.org/
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/jquery/jquery-ui
The following license applies to all parts of this software except as
documented below:
====
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====
Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code contained within the demos directory.
CC0: http://creativecommons.org/publicdomain/zero/1.0/
====
All files located in the node_modules and external directories are
externally maintained libraries used by this software which have their
own licenses; we recommend you read them, as their terms may differ from
the terms above.

11008
app/static/js/jquery-ui-1.12.1.custom/external/jquery/jquery.js

File diff suppressed because it is too large

BIN
app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_444444_256x240.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_555555_256x240.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_777620_256x240.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_777777_256x240.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_cc0000_256x240.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
app/static/js/jquery-ui-1.12.1.custom/images/ui-icons_ffffff_256x240.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

559
app/static/js/jquery-ui-1.12.1.custom/index.html

@ -0,0 +1,559 @@
<!doctype html>
<html lang="us">
<head>
<meta charset="utf-8">
<title>jQuery UI Example Page</title>
<link href="jquery-ui.css" rel="stylesheet">
<style>
body{
font-family: "Trebuchet MS", sans-serif;
margin: 50px;
}
.demoHeaders {
margin-top: 2em;
}
#dialog-link {
padding: .4em 1em .4em 20px;
text-decoration: none;
position: relative;
}
#dialog-link span.ui-icon {
margin: 0 5px 0 0;
position: absolute;
left: .2em;
top: 50%;
margin-top: -8px;
}
#icons {
margin: 0;
padding: 0;
}
#icons li {
margin: 2px;
position: relative;
padding: 4px 0;
cursor: pointer;
float: left;
list-style: none;
}
#icons span.ui-icon {
float: left;
margin: 0 4px;
}
.fakewindowcontain .ui-widget-overlay {
position: absolute;
}
select {
width: 200px;
}
</style>
</head>
<body>
<h1>Welcome to jQuery UI!</h1>
<div class="ui-widget">
<p>This page demonstrates the widgets and theme you selected in Download Builder. Please make sure you are using them with a compatible jQuery version.</p>
</div>
<h1>YOUR COMPONENTS:</h1>
<!-- Accordion -->
<h2 class="demoHeaders">Accordion</h2>
<div id="accordion">
<h3>First</h3>
<div>Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</div>
<h3>Second</h3>
<div>Phasellus mattis tincidunt nibh.</div>
<h3>Third</h3>
<div>Nam dui erat, auctor a, dignissim quis.</div>
</div>
<!-- Autocomplete -->
<h2 class="demoHeaders">Autocomplete</h2>
<div>
<input id="autocomplete" title="type &quot;a&quot;">
</div>
<!-- Button -->
<h2 class="demoHeaders">Button</h2>
<button id="button">A button element</button>
<button id="button-icon">An icon-only button</button>
<!-- Checkboxradio -->
<h2 class="demoHeaders">Checkboxradio</h2>
<form style="margin-top: 1em;">
<div id="radioset">
<input type="radio" id="radio1" name="radio"><label for="radio1">Choice 1</label>
<input type="radio" id="radio2" name="radio" checked="checked"><label for="radio2">Choice 2</label>
<input type="radio" id="radio3" name="radio"><label for="radio3">Choice 3</label>
</div>
</form>
<!-- Controlgroup -->
<h2 class="demoHeaders">Controlgroup</h2>
<fieldset>
<legend>Rental Car</legend>
<div id="controlgroup">
<select id="car-type">
<option>Compact car</option>
<option>Midsize car</option>
<option>Full size car</option>
<option>SUV</option>
<option>Luxury</option>
<option>Truck</option>
<option>Van</option>
</select>
<label for="transmission-standard">Standard</label>
<input type="radio" name="transmission" id="transmission-standard">
<label for="transmission-automatic">Automatic</label>
<input type="radio" name="transmission" id="transmission-automatic">
<label for="insurance">Insurance</label>
<input type="checkbox" name="insurance" id="insurance">
<label for="horizontal-spinner" class="ui-controlgroup-label"># of cars</label>
<input id="horizontal-spinner" class="ui-spinner-input">
<button>Book Now!</button>
</div>
</fieldset>
<!-- Tabs -->
<h2 class="demoHeaders">Tabs</h2>
<div id="tabs">
<ul>
<li><a href="#tabs-1">First</a></li>
<li><a href="#tabs-2">Second</a></li>
<li><a href="#tabs-3">Third</a></li>
</ul>
<div id="tabs-1">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div>
<div id="tabs-2">Phasellus mattis tincidunt nibh. Cras orci urna, blandit id, pretium vel, aliquet ornare, felis. Maecenas scelerisque sem non nisl. Fusce sed lorem in enim dictum bibendum.</div>
<div id="tabs-3">Nam dui erat, auctor a, dignissim quis, sollicitudin eu, felis. Pellentesque nisi urna, interdum eget, sagittis et, consequat vestibulum, lacus. Mauris porttitor ullamcorper augue.</div>
</div>
<h2 class="demoHeaders">Dialog</h2>
<p>
<button id="dialog-link" class="ui-button ui-corner-all ui-widget">
<span class="ui-icon ui-icon-newwin"></span>Open Dialog
</button>
</p>
<h2 class="demoHeaders">Overlay and Shadow Classes</h2>
<div style="position: relative; width: 96%; height: 200px; padding:1% 2%; overflow:hidden;" class="fakewindowcontain">
<p>Lorem ipsum dolor sit amet, Nulla nec tortor. Donec id elit quis purus consectetur consequat. </p><p>Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. </p><p>Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. </p><p>Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. </p><p>Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. Aliquam ante. </p><p>Suspendisse scelerisque dui nec velit. Duis augue augue, gravida euismod, vulputate ac, facilisis id, sem. Morbi in orci. Nulla purus lacus, pulvinar vel, malesuada ac, mattis nec, quam. Nam molestie scelerisque quam. Nullam feugiat cursus lacus.orem ipsum dolor sit amet, consectetur adipiscing elit. Donec libero risus, commodo vitae, pharetra mollis, posuere eu, pede. Nulla nec tortor. Donec id elit quis purus consectetur consequat. Nam congue semper tellus. Sed erat dolor, dapibus sit amet, venenatis ornare, ultrices ut, nisi. </p>
<!-- ui-dialog -->
<div class="ui-widget-overlay ui-front"></div>
<div style="position: absolute; width: 320px; left: 50px; top: 30px; padding: 1.2em" class="ui-widget ui-front ui-widget-content ui-corner-all ui-widget-shadow">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
</div>
<!-- ui-dialog -->
<div id="dialog" title="Dialog Title">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
<h2 class="demoHeaders">Framework Icons (content color preview)</h2>
<ul id="icons" class="ui-widget ui-helper-clearfix">
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-n"><span class="ui-icon ui-icon-caret-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-ne"><span class="ui-icon ui-icon-caret-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-e"><span class="ui-icon ui-icon-caret-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-se"><span class="ui-icon ui-icon-caret-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-s"><span class="ui-icon ui-icon-caret-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-sw"><span class="ui-icon ui-icon-caret-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-w"><span class="ui-icon ui-icon-caret-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-nw"><span class="ui-icon ui-icon-caret-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-2-n-s"><span class="ui-icon ui-icon-caret-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-caret-2-e-w"><span class="ui-icon ui-icon-caret-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-n"><span class="ui-icon ui-icon-triangle-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-ne"><span class="ui-icon ui-icon-triangle-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-e"><span class="ui-icon ui-icon-triangle-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-se"><span class="ui-icon ui-icon-triangle-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-s"><span class="ui-icon ui-icon-triangle-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-sw"><span class="ui-icon ui-icon-triangle-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-w"><span class="ui-icon ui-icon-triangle-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-nw"><span class="ui-icon ui-icon-triangle-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-n-s"><span class="ui-icon ui-icon-triangle-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-e-w"><span class="ui-icon ui-icon-triangle-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-n"><span class="ui-icon ui-icon-arrow-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-ne"><span class="ui-icon ui-icon-arrow-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-e"><span class="ui-icon ui-icon-arrow-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-se"><span class="ui-icon ui-icon-arrow-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-s"><span class="ui-icon ui-icon-arrow-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-sw"><span class="ui-icon ui-icon-arrow-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-w"><span class="ui-icon ui-icon-arrow-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-nw"><span class="ui-icon ui-icon-arrow-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-n-s"><span class="ui-icon ui-icon-arrow-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-ne-sw"><span class="ui-icon ui-icon-arrow-2-ne-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-e-w"><span class="ui-icon ui-icon-arrow-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-se-nw"><span class="ui-icon ui-icon-arrow-2-se-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-n"><span class="ui-icon ui-icon-arrowstop-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-e"><span class="ui-icon ui-icon-arrowstop-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-s"><span class="ui-icon ui-icon-arrowstop-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-w"><span class="ui-icon ui-icon-arrowstop-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-n"><span class="ui-icon ui-icon-arrowthick-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-ne"><span class="ui-icon ui-icon-arrowthick-1-ne"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-e"><span class="ui-icon ui-icon-arrowthick-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-se"><span class="ui-icon ui-icon-arrowthick-1-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-s"><span class="ui-icon ui-icon-arrowthick-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-sw"><span class="ui-icon ui-icon-arrowthick-1-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-w"><span class="ui-icon ui-icon-arrowthick-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-nw"><span class="ui-icon ui-icon-arrowthick-1-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-n-s"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-ne-sw"><span class="ui-icon ui-icon-arrowthick-2-ne-sw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-e-w"><span class="ui-icon ui-icon-arrowthick-2-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-se-nw"><span class="ui-icon ui-icon-arrowthick-2-se-nw"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-n"><span class="ui-icon ui-icon-arrowthickstop-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-e"><span class="ui-icon ui-icon-arrowthickstop-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-s"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-w"><span class="ui-icon ui-icon-arrowthickstop-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-w"><span class="ui-icon ui-icon-arrowreturnthick-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-n"><span class="ui-icon ui-icon-arrowreturnthick-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-e"><span class="ui-icon ui-icon-arrowreturnthick-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-s"><span class="ui-icon ui-icon-arrowreturnthick-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-w"><span class="ui-icon ui-icon-arrowreturn-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-n"><span class="ui-icon ui-icon-arrowreturn-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-e"><span class="ui-icon ui-icon-arrowreturn-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-s"><span class="ui-icon ui-icon-arrowreturn-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-w"><span class="ui-icon ui-icon-arrowrefresh-1-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-n"><span class="ui-icon ui-icon-arrowrefresh-1-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-e"><span class="ui-icon ui-icon-arrowrefresh-1-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-s"><span class="ui-icon ui-icon-arrowrefresh-1-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4"><span class="ui-icon ui-icon-arrow-4"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4-diag"><span class="ui-icon ui-icon-arrow-4-diag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-extlink"><span class="ui-icon ui-icon-extlink"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-newwin"><span class="ui-icon ui-icon-newwin"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-refresh"><span class="ui-icon ui-icon-refresh"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-shuffle"><span class="ui-icon ui-icon-shuffle"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-transfer-e-w"><span class="ui-icon ui-icon-transfer-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-transferthick-e-w"><span class="ui-icon ui-icon-transferthick-e-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-folder-collapsed"><span class="ui-icon ui-icon-folder-collapsed"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-folder-open"><span class="ui-icon ui-icon-folder-open"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-document"><span class="ui-icon ui-icon-document"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-document-b"><span class="ui-icon ui-icon-document-b"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-note"><span class="ui-icon ui-icon-note"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-mail-open"><span class="ui-icon ui-icon-mail-open"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-suitcase"><span class="ui-icon ui-icon-suitcase"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-comment"><span class="ui-icon ui-icon-comment"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-person"><span class="ui-icon ui-icon-person"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-print"><span class="ui-icon ui-icon-print"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-trash"><span class="ui-icon ui-icon-trash"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-locked"><span class="ui-icon ui-icon-locked"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-unlocked"><span class="ui-icon ui-icon-unlocked"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-bookmark"><span class="ui-icon ui-icon-bookmark"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-tag"><span class="ui-icon ui-icon-tag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-home"><span class="ui-icon ui-icon-home"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-flag"><span class="ui-icon ui-icon-flag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-calculator"><span class="ui-icon ui-icon-calculator"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-cart"><span class="ui-icon ui-icon-cart"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pencil"><span class="ui-icon ui-icon-pencil"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-clock"><span class="ui-icon ui-icon-clock"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-disk"><span class="ui-icon ui-icon-disk"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-calendar"><span class="ui-icon ui-icon-calendar"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-zoomin"><span class="ui-icon ui-icon-zoomin"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-zoomout"><span class="ui-icon ui-icon-zoomout"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-search"><span class="ui-icon ui-icon-search"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-wrench"><span class="ui-icon ui-icon-wrench"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-gear"><span class="ui-icon ui-icon-gear"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-heart"><span class="ui-icon ui-icon-heart"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-star"><span class="ui-icon ui-icon-star"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-link"><span class="ui-icon ui-icon-link"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-cancel"><span class="ui-icon ui-icon-cancel"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-plus"><span class="ui-icon ui-icon-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-minus"><span class="ui-icon ui-icon-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-minusthick"><span class="ui-icon ui-icon-minusthick"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-close"><span class="ui-icon ui-icon-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-closethick"><span class="ui-icon ui-icon-closethick"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-key"><span class="ui-icon ui-icon-key"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-lightbulb"><span class="ui-icon ui-icon-lightbulb"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-scissors"><span class="ui-icon ui-icon-scissors"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-clipboard"><span class="ui-icon ui-icon-clipboard"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-copy"><span class="ui-icon ui-icon-copy"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-contact"><span class="ui-icon ui-icon-contact"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-image"><span class="ui-icon ui-icon-image"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-video"><span class="ui-icon ui-icon-video"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-script"><span class="ui-icon ui-icon-script"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-alert"><span class="ui-icon ui-icon-alert"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-info"><span class="ui-icon ui-icon-info"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-notice"><span class="ui-icon ui-icon-notice"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-help"><span class="ui-icon ui-icon-help"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-bullet"><span class="ui-icon ui-icon-bullet"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-radio-off"><span class="ui-icon ui-icon-radio-off"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-radio-on"><span class="ui-icon ui-icon-radio-on"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pin-w"><span class="ui-icon ui-icon-pin-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pin-s"><span class="ui-icon ui-icon-pin-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-play"><span class="ui-icon ui-icon-play"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-pause"><span class="ui-icon ui-icon-pause"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-next"><span class="ui-icon ui-icon-seek-next"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-prev"><span class="ui-icon ui-icon-seek-prev"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-end"><span class="ui-icon ui-icon-seek-end"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-seek-first"><span class="ui-icon ui-icon-seek-first"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-stop"><span class="ui-icon ui-icon-stop"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-eject"><span class="ui-icon ui-icon-eject"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-volume-off"><span class="ui-icon ui-icon-volume-off"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-volume-on"><span class="ui-icon ui-icon-volume-on"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-power"><span class="ui-icon ui-icon-power"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-signal-diag"><span class="ui-icon ui-icon-signal-diag"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-signal"><span class="ui-icon ui-icon-signal"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-0"><span class="ui-icon ui-icon-battery-0"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-1"><span class="ui-icon ui-icon-battery-1"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-2"><span class="ui-icon ui-icon-battery-2"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-battery-3"><span class="ui-icon ui-icon-battery-3"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-plus"><span class="ui-icon ui-icon-circle-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-minus"><span class="ui-icon ui-icon-circle-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-close"><span class="ui-icon ui-icon-circle-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-e"><span class="ui-icon ui-icon-circle-triangle-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-s"><span class="ui-icon ui-icon-circle-triangle-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-w"><span class="ui-icon ui-icon-circle-triangle-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-n"><span class="ui-icon ui-icon-circle-triangle-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-e"><span class="ui-icon ui-icon-circle-arrow-e"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-s"><span class="ui-icon ui-icon-circle-arrow-s"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-w"><span class="ui-icon ui-icon-circle-arrow-w"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-n"><span class="ui-icon ui-icon-circle-arrow-n"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomin"><span class="ui-icon ui-icon-circle-zoomin"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomout"><span class="ui-icon ui-icon-circle-zoomout"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circle-check"><span class="ui-icon ui-icon-circle-check"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-plus"><span class="ui-icon ui-icon-circlesmall-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-minus"><span class="ui-icon ui-icon-circlesmall-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-close"><span class="ui-icon ui-icon-circlesmall-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-plus"><span class="ui-icon ui-icon-squaresmall-plus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-minus"><span class="ui-icon ui-icon-squaresmall-minus"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-close"><span class="ui-icon ui-icon-squaresmall-close"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-vertical"><span class="ui-icon ui-icon-grip-dotted-vertical"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-horizontal"><span class="ui-icon ui-icon-grip-dotted-horizontal"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-vertical"><span class="ui-icon ui-icon-grip-solid-vertical"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-horizontal"><span class="ui-icon ui-icon-grip-solid-horizontal"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-gripsmall-diagonal-se"><span class="ui-icon ui-icon-gripsmall-diagonal-se"></span></li>
<li class="ui-state-default ui-corner-all" title=".ui-icon-grip-diagonal-se"><span class="ui-icon ui-icon-grip-diagonal-se"></span></li>
</ul>
<!-- Slider -->
<h2 class="demoHeaders">Slider</h2>
<div id="slider"></div>
<!-- Datepicker -->
<h2 class="demoHeaders">Datepicker</h2>
<div id="datepicker"></div>
<!-- Progressbar -->
<h2 class="demoHeaders">Progressbar</h2>
<div id="progressbar"></div>
<!-- Progressbar -->
<h2 class="demoHeaders">Selectmenu</h2>
<select id="selectmenu">
<option>Slower</option>
<option>Slow</option>
<option selected="selected">Medium</option>
<option>Fast</option>
<option>Faster</option>
</select>
<!-- Spinner -->
<h2 class="demoHeaders">Spinner</h2>
<input id="spinner">
<!-- Menu -->
<h2 class="demoHeaders">Menu</h2>
<ul style="width:100px;" id="menu">
<li><div>Item 1</div></li>
<li><div>Item 2</div></li>
<li><div>Item 3</div>
<ul>
<li><div>Item 3-1</div></li>
<li><div>Item 3-2</div></li>
<li><div>Item 3-3</div></li>
<li><div>Item 3-4</div></li>
<li><div>Item 3-5</div></li>
</ul>
</li>
<li><div>Item 4</div></li>
<li><div>Item 5</div></li>
</ul>
<!-- Tooltip -->
<h2 class="demoHeaders">Tooltip</h2>
<p id="tooltip">
<a href="#" title="That&apos;s what this widget is">Tooltips</a> can be attached to any element. When you hover
the element with your mouse, the title attribute is displayed in a little box next to the element, just like a native tooltip.
</p>
<!-- Highlight / Error -->
<h2 class="demoHeaders">Highlight / Error</h2>
<div class="ui-widget">
<div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;">
<p><span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span>
<strong>Hey!</strong> Sample ui-state-highlight style.</p>
</div>
</div>
<br>
<div class="ui-widget">
<div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">
<p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
<strong>Alert:</strong> Sample ui-state-error style.</p>
</div>
</div>
<script src="external/jquery/jquery.js"></script>
<script src="jquery-ui.js"></script>
<script>
$( "#accordion" ).accordion();
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#autocomplete" ).autocomplete({
source: availableTags
});
$( "#button" ).button();
$( "#button-icon" ).button({
icon: "ui-icon-gear",
showLabel: false
});
$( "#radioset" ).buttonset();
$( "#controlgroup" ).controlgroup();
$( "#tabs" ).tabs();
$( "#dialog" ).dialog({
autoOpen: false,
width: 400,
buttons: [
{
text: "Ok",
click: function() {
$( this ).dialog( "close" );
}
},
{
text: "Cancel",
click: function() {
$( this ).dialog( "close" );
}
}
]
});
// Link to open the dialog
$( "#dialog-link" ).click(function( event ) {
$( "#dialog" ).dialog( "open" );
event.preventDefault();
});
$( "#datepicker" ).datepicker({
inline: true
});
$( "#slider" ).slider({
range: true,
values: [ 17, 67 ]
});
$( "#progressbar" ).progressbar({
value: 20
});
$( "#spinner" ).spinner();
$( "#menu" ).menu();
$( "#tooltip" ).tooltip();
$( "#selectmenu" ).selectmenu();
// Hover states on the static widgets
$( "#dialog-link, #icons li" ).hover(
function() {
$( this ).addClass( "ui-state-hover" );
},
function() {
$( this ).removeClass( "ui-state-hover" );
}
);
</script>
</body>
</html>

1312
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.css

File diff suppressed because it is too large

18706
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.js

File diff suppressed because it is too large

7
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.min.css

File diff suppressed because one or more lines are too long

13
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.min.js

File diff suppressed because one or more lines are too long

886
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.structure.css

@ -0,0 +1,886 @@
/*!
* jQuery UI CSS Framework 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/theming/
*/
.ui-draggable-handle {
-ms-touch-action: none;
touch-action: none;
}
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
display: none;
}
.ui-helper-hidden-accessible {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.ui-helper-reset {
margin: 0;
padding: 0;
border: 0;
outline: 0;
line-height: 1.3;
text-decoration: none;
font-size: 100%;
list-style: none;
}
.ui-helper-clearfix:before,
.ui-helper-clearfix:after {
content: "";
display: table;
border-collapse: collapse;
}
.ui-helper-clearfix:after {
clear: both;
}
.ui-helper-zfix {
width: 100%;
height: 100%;
top: 0;
left: 0;
position: absolute;
opacity: 0;
filter:Alpha(Opacity=0); /* support: IE8 */
}
.ui-front {
z-index: 100;
}
/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
cursor: default !important;
pointer-events: none;
}
/* Icons
----------------------------------*/
.ui-icon {
display: inline-block;
vertical-align: middle;
margin-top: -.25em;
position: relative;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
}
.ui-widget-icon-block {
left: 50%;
margin-left: -8px;
display: block;
}
/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ui-resizable {
position: relative;
}
.ui-resizable-handle {
position: absolute;
font-size: 0.1px;
display: block;
-ms-touch-action: none;
touch-action: none;
}
.ui-resizable-disabled .ui-resizable-handle,
.ui-resizable-autohide .ui-resizable-handle {
display: none;
}
.ui-resizable-n {
cursor: n-resize;
height: 7px;
width: 100%;
top: -5px;
left: 0;
}
.ui-resizable-s {
cursor: s-resize;
height: 7px;
width: 100%;
bottom: -5px;
left: 0;
}
.ui-resizable-e {
cursor: e-resize;
width: 7px;
right: -5px;
top: 0;
height: 100%;
}
.ui-resizable-w {
cursor: w-resize;
width: 7px;
left: -5px;
top: 0;
height: 100%;
}
.ui-resizable-se {
cursor: se-resize;
width: 12px;
height: 12px;
right: 1px;
bottom: 1px;
}
.ui-resizable-sw {
cursor: sw-resize;
width: 9px;
height: 9px;
left: -5px;
bottom: -5px;
}
.ui-resizable-nw {
cursor: nw-resize;
width: 9px;
height: 9px;
left: -5px;
top: -5px;
}
.ui-resizable-ne {
cursor: ne-resize;
width: 9px;
height: 9px;
right: -5px;
top: -5px;
}
.ui-selectable {
-ms-touch-action: none;
touch-action: none;
}
.ui-selectable-helper {
position: absolute;
z-index: 100;
border: 1px dotted black;
}
.ui-sortable-handle {
-ms-touch-action: none;
touch-action: none;
}
.ui-accordion .ui-accordion-header {
display: block;
cursor: pointer;
position: relative;
margin: 2px 0 0 0;
padding: .5em .5em .5em .7em;
font-size: 100%;
}
.ui-accordion .ui-accordion-content {
padding: 1em 2.2em;
border-top: 0;
overflow: auto;
}
.ui-autocomplete {
position: absolute;
top: 0;
left: 0;
cursor: default;
}
.ui-menu {
list-style: none;
padding: 0;
margin: 0;
display: block;
outline: 0;
}
.ui-menu .ui-menu {
position: absolute;
}
.ui-menu .ui-menu-item {
margin: 0;
cursor: pointer;
/* support: IE10, see #8844 */
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
}
.ui-menu .ui-menu-item-wrapper {
position: relative;
padding: 3px 1em 3px .4em;
}
.ui-menu .ui-menu-divider {
margin: 5px 0;
height: 0;
font-size: 0;
line-height: 0;
border-width: 1px 0 0 0;
}
.ui-menu .ui-state-focus,
.ui-menu .ui-state-active {
margin: -1px;
}
/* icon support */
.ui-menu-icons {
position: relative;
}
.ui-menu-icons .ui-menu-item-wrapper {
padding-left: 2em;
}
/* left-aligned */
.ui-menu .ui-icon {
position: absolute;
top: 0;
bottom: 0;
left: .2em;
margin: auto 0;
}
/* right-aligned */
.ui-menu .ui-menu-icon {
left: auto;
right: 0;
}
.ui-button {
padding: .4em 1em;
display: inline-block;
position: relative;
line-height: normal;
margin-right: .1em;
cursor: pointer;
vertical-align: middle;
text-align: center;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* Support: IE <= 11 */
overflow: visible;
}
.ui-button,
.ui-button:link,
.ui-button:visited,
.ui-button:hover,
.ui-button:active {
text-decoration: none;
}
/* to make room for the icon, a width needs to be set here */
.ui-button-icon-only {
width: 2em;
box-sizing: border-box;
text-indent: -9999px;
white-space: nowrap;
}
/* no icon support for input elements */
input.ui-button.ui-button-icon-only {
text-indent: 0;
}
/* button icon element(s) */
.ui-button-icon-only .ui-icon {
position: absolute;
top: 50%;
left: 50%;
margin-top: -8px;
margin-left: -8px;
}
.ui-button.ui-icon-notext .ui-icon {
padding: 0;
width: 2.1em;
height: 2.1em;
text-indent: -9999px;
white-space: nowrap;
}
input.ui-button.ui-icon-notext .ui-icon {
width: auto;
height: auto;
text-indent: 0;
white-space: normal;
padding: .4em 1em;
}
/* workarounds */
/* Support: Firefox 5 - 40 */
input.ui-button::-moz-focus-inner,
button.ui-button::-moz-focus-inner {
border: 0;
padding: 0;
}
.ui-controlgroup {
vertical-align: middle;
display: inline-block;
}
.ui-controlgroup > .ui-controlgroup-item {
float: left;
margin-left: 0;
margin-right: 0;
}
.ui-controlgroup > .ui-controlgroup-item:focus,
.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus {
z-index: 9999;
}
.ui-controlgroup-vertical > .ui-controlgroup-item {
display: block;
float: none;
width: 100%;
margin-top: 0;
margin-bottom: 0;
text-align: left;
}
.ui-controlgroup-vertical .ui-controlgroup-item {
box-sizing: border-box;
}
.ui-controlgroup .ui-controlgroup-label {
padding: .4em 1em;
}
.ui-controlgroup .ui-controlgroup-label span {
font-size: 80%;
}
.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item {
border-left: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item {
border-top: none;
}
.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content {
border-right: none;
}
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
border-bottom: none;
}
/* Spinner specific style fixes */
.ui-controlgroup-vertical .ui-spinner-input {
/* Support: IE8 only, Android < 4.4 only */
width: 75%;
width: calc( 100% - 2.4em );
}
.ui-controlgroup-vertical .ui-spinner .ui-spinner-up {
border-top-style: solid;
}
.ui-checkboxradio-label .ui-icon-background {
box-shadow: inset 1px 1px 1px #ccc;
border-radius: .12em;
border: none;
}
.ui-checkboxradio-radio-label .ui-icon-background {
width: 16px;
height: 16px;
border-radius: 1em;
overflow: visible;
border: none;
}
.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,
.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon {
background-image: none;
width: 8px;
height: 8px;
border-width: 4px;
border-style: solid;
}
.ui-checkboxradio-disabled {
pointer-events: none;
}
.ui-datepicker {
width: 17em;
padding: .2em .2em 0;
display: none;
}
.ui-datepicker .ui-datepicker-header {
position: relative;
padding: .2em 0;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
position: absolute;
top: 2px;
width: 1.8em;
height: 1.8em;
}
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
top: 1px;
}
.ui-datepicker .ui-datepicker-prev {
left: 2px;
}
.ui-datepicker .ui-datepicker-next {
right: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
left: 1px;
}
.ui-datepicker .ui-datepicker-next-hover {
right: 1px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
display: block;
position: absolute;
left: 50%;
margin-left: -8px;
top: 50%;
margin-top: -8px;
}
.ui-datepicker .ui-datepicker-title {
margin: 0 2.3em;
line-height: 1.8em;
text-align: center;
}
.ui-datepicker .ui-datepicker-title select {
font-size: 1em;
margin: 1px 0;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
width: 45%;
}
.ui-datepicker table {
width: 100%;
font-size: .9em;
border-collapse: collapse;
margin: 0 0 .4em;
}
.ui-datepicker th {
padding: .7em .3em;
text-align: center;
font-weight: bold;
border: 0;
}
.ui-datepicker td {
border: 0;
padding: 1px;
}
.ui-datepicker td span,
.ui-datepicker td a {
display: block;
padding: .2em;
text-align: right;
text-decoration: none;
}
.ui-datepicker .ui-datepicker-buttonpane {
background-image: none;
margin: .7em 0 0 0;
padding: 0 .2em;
border-left: 0;
border-right: 0;
border-bottom: 0;
}
.ui-datepicker .ui-datepicker-buttonpane button {
float: right;
margin: .5em .2em .4em;
cursor: pointer;
padding: .2em .6em .3em .6em;
width: auto;
overflow: visible;
}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
float: left;
}
/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
width: auto;
}
.ui-datepicker-multi .ui-datepicker-group {
float: left;
}
.ui-datepicker-multi .ui-datepicker-group table {
width: 95%;
margin: 0 auto .4em;
}
.ui-datepicker-multi-2 .ui-datepicker-group {
width: 50%;
}
.ui-datepicker-multi-3 .ui-datepicker-group {
width: 33.3%;
}
.ui-datepicker-multi-4 .ui-datepicker-group {
width: 25%;
}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
border-left-width: 0;
}
.ui-datepicker-multi .ui-datepicker-buttonpane {
clear: left;
}
.ui-datepicker-row-break {
clear: both;
width: 100%;
font-size: 0;
}
/* RTL support */
.ui-datepicker-rtl {
direction: rtl;
}
.ui-datepicker-rtl .ui-datepicker-prev {
right: 2px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next {
left: 2px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-prev:hover {
right: 1px;
left: auto;
}
.ui-datepicker-rtl .ui-datepicker-next:hover {
left: 1px;
right: auto;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane {
clear: right;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button {
float: left;
}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
float: right;
}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
border-right-width: 0;
border-left-width: 1px;
}
/* Icons */
.ui-datepicker .ui-icon {
display: block;
text-indent: -99999px;
overflow: hidden;
background-repeat: no-repeat;
left: .5em;
top: .3em;
}
.ui-dialog {
position: absolute;
top: 0;
left: 0;
padding: .2em;
outline: 0;
}
.ui-dialog .ui-dialog-titlebar {
padding: .4em 1em;
position: relative;
}
.ui-dialog .ui-dialog-title {
float: left;
margin: .1em 0;
white-space: nowrap;
width: 90%;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-dialog .ui-dialog-titlebar-close {
position: absolute;
right: .3em;
top: 50%;
width: 20px;
margin: -10px 0 0 0;
padding: 1px;
height: 20px;
}
.ui-dialog .ui-dialog-content {
position: relative;
border: 0;
padding: .5em 1em;
background: none;
overflow: auto;
}
.ui-dialog .ui-dialog-buttonpane {
text-align: left;
border-width: 1px 0 0 0;
background-image: none;
margin-top: .5em;
padding: .3em 1em .5em .4em;
}
.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
float: right;
}
.ui-dialog .ui-dialog-buttonpane button {
margin: .5em .4em .5em 0;
cursor: pointer;
}
.ui-dialog .ui-resizable-n {
height: 2px;
top: 0;
}
.ui-dialog .ui-resizable-e {
width: 2px;
right: 0;
}
.ui-dialog .ui-resizable-s {
height: 2px;
bottom: 0;
}
.ui-dialog .ui-resizable-w {
width: 2px;
left: 0;
}
.ui-dialog .ui-resizable-se,
.ui-dialog .ui-resizable-sw,
.ui-dialog .ui-resizable-ne,
.ui-dialog .ui-resizable-nw {
width: 7px;
height: 7px;
}
.ui-dialog .ui-resizable-se {
right: 0;
bottom: 0;
}
.ui-dialog .ui-resizable-sw {
left: 0;
bottom: 0;
}
.ui-dialog .ui-resizable-ne {
right: 0;
top: 0;
}
.ui-dialog .ui-resizable-nw {
left: 0;
top: 0;
}
.ui-draggable .ui-dialog-titlebar {
cursor: move;
}
.ui-progressbar {
height: 2em;
text-align: left;
overflow: hidden;
}
.ui-progressbar .ui-progressbar-value {
margin: -1px;
height: 100%;
}
.ui-progressbar .ui-progressbar-overlay {
background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
height: 100%;
filter: alpha(opacity=25); /* support: IE8 */
opacity: 0.25;
}
.ui-progressbar-indeterminate .ui-progressbar-value {
background-image: none;
}
.ui-selectmenu-menu {
padding: 0;
margin: 0;
position: absolute;
top: 0;
left: 0;
display: none;
}
.ui-selectmenu-menu .ui-menu {
overflow: auto;
overflow-x: hidden;
padding-bottom: 1px;
}
.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
font-size: 1em;
font-weight: bold;
line-height: 1.5;
padding: 2px 0.4em;
margin: 0.5em 0 0 0;
height: auto;
border: 0;
}
.ui-selectmenu-open {
display: block;
}
.ui-selectmenu-text {
display: block;
margin-right: 20px;
overflow: hidden;
text-overflow: ellipsis;
}
.ui-selectmenu-button.ui-button {
text-align: left;
white-space: nowrap;
width: 14em;
}
.ui-selectmenu-icon.ui-icon {
float: right;
margin-top: 0;
}
.ui-slider {
position: relative;
text-align: left;
}
.ui-slider .ui-slider-handle {
position: absolute;
z-index: 2;
width: 1.2em;
height: 1.2em;
cursor: default;
-ms-touch-action: none;
touch-action: none;
}
.ui-slider .ui-slider-range {
position: absolute;
z-index: 1;
font-size: .7em;
display: block;
border: 0;
background-position: 0 0;
}
/* support: IE8 - See #6727 */
.ui-slider.ui-state-disabled .ui-slider-handle,
.ui-slider.ui-state-disabled .ui-slider-range {
filter: inherit;
}
.ui-slider-horizontal {
height: .8em;
}
.ui-slider-horizontal .ui-slider-handle {
top: -.3em;
margin-left: -.6em;
}
.ui-slider-horizontal .ui-slider-range {
top: 0;
height: 100%;
}
.ui-slider-horizontal .ui-slider-range-min {
left: 0;
}
.ui-slider-horizontal .ui-slider-range-max {
right: 0;
}
.ui-slider-vertical {
width: .8em;
height: 100px;
}
.ui-slider-vertical .ui-slider-handle {
left: -.3em;
margin-left: 0;
margin-bottom: -.6em;
}
.ui-slider-vertical .ui-slider-range {
left: 0;
width: 100%;
}
.ui-slider-vertical .ui-slider-range-min {
bottom: 0;
}
.ui-slider-vertical .ui-slider-range-max {
top: 0;
}
.ui-spinner {
position: relative;
display: inline-block;
overflow: hidden;
padding: 0;
vertical-align: middle;
}
.ui-spinner-input {
border: none;
background: none;
color: inherit;
padding: .222em 0;
margin: .2em 0;
vertical-align: middle;
margin-left: .4em;
margin-right: 2em;
}
.ui-spinner-button {
width: 1.6em;
height: 50%;
font-size: .5em;
padding: 0;
margin: 0;
text-align: center;
position: absolute;
cursor: default;
display: block;
overflow: hidden;
right: 0;
}
/* more specificity required here to override default borders */
.ui-spinner a.ui-spinner-button {
border-top-style: none;
border-bottom-style: none;
border-right-style: none;
}
.ui-spinner-up {
top: 0;
}
.ui-spinner-down {
bottom: 0;
}
.ui-tabs {
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
padding: .2em;
}
.ui-tabs .ui-tabs-nav {
margin: 0;
padding: .2em .2em 0;
}
.ui-tabs .ui-tabs-nav li {
list-style: none;
float: left;
position: relative;
top: 0;
margin: 1px .2em 0 0;
border-bottom-width: 0;
padding: 0;
white-space: nowrap;
}
.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
float: left;
padding: .5em 1em;
text-decoration: none;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active {
margin-bottom: -1px;
padding-bottom: 1px;
}
.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
cursor: text;
}
.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
cursor: pointer;
}
.ui-tabs .ui-tabs-panel {
display: block;
border-width: 0;
padding: 1em 1.4em;
background: none;
}
.ui-tooltip {
padding: 8px;
position: absolute;
z-index: 9999;
max-width: 300px;
}
body .ui-tooltip {
border-width: 2px;
}

5
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css

File diff suppressed because one or more lines are too long

443
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.theme.css

@ -0,0 +1,443 @@
/*!
* jQuery UI CSS Framework 1.12.1
* http://jqueryui.com
*
* Copyright jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
* http://api.jqueryui.com/category/theming/
*
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
*/
/* Component containers
----------------------------------*/
.ui-widget {
font-family: Arial,Helvetica,sans-serif;
font-size: 1em;
}
.ui-widget .ui-widget {
font-size: 1em;
}
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button {
font-family: Arial,Helvetica,sans-serif;
font-size: 1em;
}
.ui-widget.ui-widget-content {
border: 1px solid #c5c5c5;
}
.ui-widget-content {
border: 1px solid #dddddd;
background: #ffffff;
color: #333333;
}
.ui-widget-content a {
color: #333333;
}
.ui-widget-header {
border: 1px solid #dddddd;
background: #e9e9e9;
color: #333333;
font-weight: bold;
}
.ui-widget-header a {
color: #333333;
}
/* Interaction states
----------------------------------*/
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
/* We use html here because we need a greater specificity to make sure disabled
works properly when clicked or hovered */
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
border: 1px solid #c5c5c5;
background: #f6f6f6;
font-weight: normal;
color: #454545;
}
.ui-state-default a,
.ui-state-default a:link,
.ui-state-default a:visited,
a.ui-button,
a:link.ui-button,
a:visited.ui-button,
.ui-button {
color: #454545;
text-decoration: none;
}
.ui-state-hover,
.ui-widget-content .ui-state-hover,
.ui-widget-header .ui-state-hover,
.ui-state-focus,
.ui-widget-content .ui-state-focus,
.ui-widget-header .ui-state-focus,
.ui-button:hover,
.ui-button:focus {
border: 1px solid #cccccc;
background: #ededed;
font-weight: normal;
color: #2b2b2b;
}
.ui-state-hover a,
.ui-state-hover a:hover,
.ui-state-hover a:link,
.ui-state-hover a:visited,
.ui-state-focus a,
.ui-state-focus a:hover,
.ui-state-focus a:link,
.ui-state-focus a:visited,
a.ui-button:hover,
a.ui-button:focus {
color: #2b2b2b;
text-decoration: none;
}
.ui-visual-focus {
box-shadow: 0 0 3px 1px rgb(94, 158, 214);
}
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
border: 1px solid #003eff;
background: #007fff;
font-weight: normal;
color: #ffffff;
}
.ui-icon-background,
.ui-state-active .ui-icon-background {
border: #003eff;
background-color: #ffffff;
}
.ui-state-active a,
.ui-state-active a:link,
.ui-state-active a:visited {
color: #ffffff;
text-decoration: none;
}
/* Interaction Cues
----------------------------------*/
.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
border: 1px solid #dad55e;
background: #fffa90;
color: #777620;
}
.ui-state-checked {
border: 1px solid #dad55e;
background: #fffa90;
}
.ui-state-highlight a,
.ui-widget-content .ui-state-highlight a,
.ui-widget-header .ui-state-highlight a {
color: #777620;
}
.ui-state-error,
.ui-widget-content .ui-state-error,
.ui-widget-header .ui-state-error {
border: 1px solid #f1a899;
background: #fddfdf;
color: #5f3f3f;
}
.ui-state-error a,
.ui-widget-content .ui-state-error a,
.ui-widget-header .ui-state-error a {
color: #5f3f3f;
}
.ui-state-error-text,
.ui-widget-content .ui-state-error-text,
.ui-widget-header .ui-state-error-text {
color: #5f3f3f;
}
.ui-priority-primary,
.ui-widget-content .ui-priority-primary,
.ui-widget-header .ui-priority-primary {
font-weight: bold;
}
.ui-priority-secondary,
.ui-widget-content .ui-priority-secondary,
.ui-widget-header .ui-priority-secondary {
opacity: .7;
filter:Alpha(Opacity=70); /* support: IE8 */
font-weight: normal;
}
.ui-state-disabled,
.ui-widget-content .ui-state-disabled,
.ui-widget-header .ui-state-disabled {
opacity: .35;
filter:Alpha(Opacity=35); /* support: IE8 */
background-image: none;
}
.ui-state-disabled .ui-icon {
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
}
/* Icons
----------------------------------*/
/* states and images */
.ui-icon {
width: 16px;
height: 16px;
}
.ui-icon,
.ui-widget-content .ui-icon {
background-image: url("images/ui-icons_444444_256x240.png");
}
.ui-widget-header .ui-icon {
background-image: url("images/ui-icons_444444_256x240.png");
}
.ui-state-hover .ui-icon,
.ui-state-focus .ui-icon,
.ui-button:hover .ui-icon,
.ui-button:focus .ui-icon {
background-image: url("images/ui-icons_555555_256x240.png");
}
.ui-state-active .ui-icon,
.ui-button:active .ui-icon {
background-image: url("images/ui-icons_ffffff_256x240.png");
}
.ui-state-highlight .ui-icon,
.ui-button .ui-state-highlight.ui-icon {
background-image: url("images/ui-icons_777620_256x240.png");
}
.ui-state-error .ui-icon,
.ui-state-error-text .ui-icon {
background-image: url("images/ui-icons_cc0000_256x240.png");
}
.ui-button .ui-icon {
background-image: url("images/ui-icons_777777_256x240.png");
}
/* positioning */
.ui-icon-blank { background-position: 16px 16px; }
.ui-icon-caret-1-n { background-position: 0 0; }
.ui-icon-caret-1-ne { background-position: -16px 0; }
.ui-icon-caret-1-e { background-position: -32px 0; }
.ui-icon-caret-1-se { background-position: -48px 0; }
.ui-icon-caret-1-s { background-position: -65px 0; }
.ui-icon-caret-1-sw { background-position: -80px 0; }
.ui-icon-caret-1-w { background-position: -96px 0; }
.ui-icon-caret-1-nw { background-position: -112px 0; }
.ui-icon-caret-2-n-s { background-position: -128px 0; }
.ui-icon-caret-2-e-w { background-position: -144px 0; }
.ui-icon-triangle-1-n { background-position: 0 -16px; }
.ui-icon-triangle-1-ne { background-position: -16px -16px; }
.ui-icon-triangle-1-e { background-position: -32px -16px; }
.ui-icon-triangle-1-se { background-position: -48px -16px; }
.ui-icon-triangle-1-s { background-position: -65px -16px; }
.ui-icon-triangle-1-sw { background-position: -80px -16px; }
.ui-icon-triangle-1-w { background-position: -96px -16px; }
.ui-icon-triangle-1-nw { background-position: -112px -16px; }
.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
.ui-icon-arrow-1-n { background-position: 0 -32px; }
.ui-icon-arrow-1-ne { background-position: -16px -32px; }
.ui-icon-arrow-1-e { background-position: -32px -32px; }
.ui-icon-arrow-1-se { background-position: -48px -32px; }
.ui-icon-arrow-1-s { background-position: -65px -32px; }
.ui-icon-arrow-1-sw { background-position: -80px -32px; }
.ui-icon-arrow-1-w { background-position: -96px -32px; }
.ui-icon-arrow-1-nw { background-position: -112px -32px; }
.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
.ui-icon-arrow-4 { background-position: 0 -80px; }
.ui-icon-arrow-4-diag { background-position: -16px -80px; }
.ui-icon-extlink { background-position: -32px -80px; }
.ui-icon-newwin { background-position: -48px -80px; }
.ui-icon-refresh { background-position: -64px -80px; }
.ui-icon-shuffle { background-position: -80px -80px; }
.ui-icon-transfer-e-w { background-position: -96px -80px; }
.ui-icon-transferthick-e-w { background-position: -112px -80px; }
.ui-icon-folder-collapsed { background-position: 0 -96px; }
.ui-icon-folder-open { background-position: -16px -96px; }
.ui-icon-document { background-position: -32px -96px; }
.ui-icon-document-b { background-position: -48px -96px; }
.ui-icon-note { background-position: -64px -96px; }
.ui-icon-mail-closed { background-position: -80px -96px; }
.ui-icon-mail-open { background-position: -96px -96px; }
.ui-icon-suitcase { background-position: -112px -96px; }
.ui-icon-comment { background-position: -128px -96px; }
.ui-icon-person { background-position: -144px -96px; }
.ui-icon-print { background-position: -160px -96px; }
.ui-icon-trash { background-position: -176px -96px; }
.ui-icon-locked { background-position: -192px -96px; }
.ui-icon-unlocked { background-position: -208px -96px; }
.ui-icon-bookmark { background-position: -224px -96px; }
.ui-icon-tag { background-position: -240px -96px; }
.ui-icon-home { background-position: 0 -112px; }
.ui-icon-flag { background-position: -16px -112px; }
.ui-icon-calendar { background-position: -32px -112px; }
.ui-icon-cart { background-position: -48px -112px; }
.ui-icon-pencil { background-position: -64px -112px; }
.ui-icon-clock { background-position: -80px -112px; }
.ui-icon-disk { background-position: -96px -112px; }
.ui-icon-calculator { background-position: -112px -112px; }
.ui-icon-zoomin { background-position: -128px -112px; }
.ui-icon-zoomout { background-position: -144px -112px; }
.ui-icon-search { background-position: -160px -112px; }
.ui-icon-wrench { background-position: -176px -112px; }
.ui-icon-gear { background-position: -192px -112px; }
.ui-icon-heart { background-position: -208px -112px; }
.ui-icon-star { background-position: -224px -112px; }
.ui-icon-link { background-position: -240px -112px; }
.ui-icon-cancel { background-position: 0 -128px; }
.ui-icon-plus { background-position: -16px -128px; }
.ui-icon-plusthick { background-position: -32px -128px; }
.ui-icon-minus { background-position: -48px -128px; }
.ui-icon-minusthick { background-position: -64px -128px; }
.ui-icon-close { background-position: -80px -128px; }
.ui-icon-closethick { background-position: -96px -128px; }
.ui-icon-key { background-position: -112px -128px; }
.ui-icon-lightbulb { background-position: -128px -128px; }
.ui-icon-scissors { background-position: -144px -128px; }
.ui-icon-clipboard { background-position: -160px -128px; }
.ui-icon-copy { background-position: -176px -128px; }
.ui-icon-contact { background-position: -192px -128px; }
.ui-icon-image { background-position: -208px -128px; }
.ui-icon-video { background-position: -224px -128px; }
.ui-icon-script { background-position: -240px -128px; }
.ui-icon-alert { background-position: 0 -144px; }
.ui-icon-info { background-position: -16px -144px; }
.ui-icon-notice { background-position: -32px -144px; }
.ui-icon-help { background-position: -48px -144px; }
.ui-icon-check { background-position: -64px -144px; }
.ui-icon-bullet { background-position: -80px -144px; }
.ui-icon-radio-on { background-position: -96px -144px; }
.ui-icon-radio-off { background-position: -112px -144px; }
.ui-icon-pin-w { background-position: -128px -144px; }
.ui-icon-pin-s { background-position: -144px -144px; }
.ui-icon-play { background-position: 0 -160px; }
.ui-icon-pause { background-position: -16px -160px; }
.ui-icon-seek-next { background-position: -32px -160px; }
.ui-icon-seek-prev { background-position: -48px -160px; }
.ui-icon-seek-end { background-position: -64px -160px; }
.ui-icon-seek-start { background-position: -80px -160px; }
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
.ui-icon-seek-first { background-position: -80px -160px; }
.ui-icon-stop { background-position: -96px -160px; }
.ui-icon-eject { background-position: -112px -160px; }
.ui-icon-volume-off { background-position: -128px -160px; }
.ui-icon-volume-on { background-position: -144px -160px; }
.ui-icon-power { background-position: 0 -176px; }
.ui-icon-signal-diag { background-position: -16px -176px; }
.ui-icon-signal { background-position: -32px -176px; }
.ui-icon-battery-0 { background-position: -48px -176px; }
.ui-icon-battery-1 { background-position: -64px -176px; }
.ui-icon-battery-2 { background-position: -80px -176px; }
.ui-icon-battery-3 { background-position: -96px -176px; }
.ui-icon-circle-plus { background-position: 0 -192px; }
.ui-icon-circle-minus { background-position: -16px -192px; }
.ui-icon-circle-close { background-position: -32px -192px; }
.ui-icon-circle-triangle-e { background-position: -48px -192px; }
.ui-icon-circle-triangle-s { background-position: -64px -192px; }
.ui-icon-circle-triangle-w { background-position: -80px -192px; }
.ui-icon-circle-triangle-n { background-position: -96px -192px; }
.ui-icon-circle-arrow-e { background-position: -112px -192px; }
.ui-icon-circle-arrow-s { background-position: -128px -192px; }
.ui-icon-circle-arrow-w { background-position: -144px -192px; }
.ui-icon-circle-arrow-n { background-position: -160px -192px; }
.ui-icon-circle-zoomin { background-position: -176px -192px; }
.ui-icon-circle-zoomout { background-position: -192px -192px; }
.ui-icon-circle-check { background-position: -208px -192px; }
.ui-icon-circlesmall-plus { background-position: 0 -208px; }
.ui-icon-circlesmall-minus { background-position: -16px -208px; }
.ui-icon-circlesmall-close { background-position: -32px -208px; }
.ui-icon-squaresmall-plus { background-position: -48px -208px; }
.ui-icon-squaresmall-minus { background-position: -64px -208px; }
.ui-icon-squaresmall-close { background-position: -80px -208px; }
.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
/* Misc visuals
----------------------------------*/
/* Corner radius */
.ui-corner-all,
.ui-corner-top,
.ui-corner-left,
.ui-corner-tl {
border-top-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-top,
.ui-corner-right,
.ui-corner-tr {
border-top-right-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-left,
.ui-corner-bl {
border-bottom-left-radius: 3px;
}
.ui-corner-all,
.ui-corner-bottom,
.ui-corner-right,
.ui-corner-br {
border-bottom-right-radius: 3px;
}
/* Overlays */
.ui-widget-overlay {
background: #aaaaaa;
opacity: .3;
filter: Alpha(Opacity=30); /* support: IE8 */
}
.ui-widget-shadow {
-webkit-box-shadow: 0px 0px 5px #666666;
box-shadow: 0px 0px 5px #666666;
}

5
app/static/js/jquery-ui-1.12.1.custom/jquery-ui.theme.min.css

File diff suppressed because one or more lines are too long

74
app/static/js/jquery-ui-1.12.1.custom/package.json

@ -0,0 +1,74 @@
{
"name": "jquery-ui",
"title": "jQuery UI",
"description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
"version": "1.12.1",
"homepage": "http://jqueryui.com",
"author": {
"name": "jQuery Foundation and other contributors",
"url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt"
},
"main": "ui/widget.js",
"maintainers": [
{
"name": "Scott González",
"email": "scott.gonzalez@gmail.com",
"url": "http://scottgonzalez.com"
},
{
"name": "Jörn Zaefferer",
"email": "joern.zaefferer@gmail.com",
"url": "http://bassistance.de"
},
{
"name": "Mike Sherov",
"email": "mike.sherov@gmail.com",
"url": "http://mike.sherov.com"
},
{
"name": "TJ VanToll",
"email": "tj.vantoll@gmail.com",
"url": "http://tjvantoll.com"
},
{
"name": "Felix Nagel",
"email": "info@felixnagel.com",
"url": "http://www.felixnagel.com"
},
{
"name": "Alex Schmitz",
"email": "arschmitz@gmail.com",
"url": "https://github.com/arschmitz"
}
],
"repository": {
"type": "git",
"url": "git://github.com/jquery/jquery-ui.git"
},
"bugs": "https://bugs.jqueryui.com/",
"license": "MIT",
"scripts": {
"test": "grunt"
},
"dependencies": {},
"devDependencies": {
"commitplease": "2.3.0",
"grunt": "0.4.5",
"grunt-bowercopy": "1.2.4",
"grunt-cli": "0.1.13",
"grunt-compare-size": "0.4.0",
"grunt-contrib-concat": "0.5.1",
"grunt-contrib-csslint": "0.5.0",
"grunt-contrib-jshint": "0.12.0",
"grunt-contrib-qunit": "1.0.1",
"grunt-contrib-requirejs": "0.4.4",
"grunt-contrib-uglify": "0.11.1",
"grunt-git-authors": "3.1.0",
"grunt-html": "6.0.0",
"grunt-jscs": "2.1.0",
"load-grunt-tasks": "3.4.0",
"rimraf": "2.5.1",
"testswarm": "1.1.0"
},
"keywords": []
}

25
app/templates/base.html

@ -14,7 +14,7 @@
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" href="/static/css/style.css">
<link rel="stylesheet" href="/static/js/jquery-ui-1.12.1.custom/jquery-ui.css">
{% block css %} {% endblock%}
</head>
<body>
@ -81,5 +81,28 @@
}
</script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
$( "#tabs" ).tabs().addClass( "ui-tabs-vertical ui-helper-clearfix" );
$( "#tabs li" ).removeClass( "ui-corner-top" ).addClass( "ui-corner-left" );
} );
</script>
<script>
$( function() {
$( "#draggable" ).draggable();
$( "#droppable" ).droppable({
drop: function( event, ui ) {
$( this )
.addClass( "ui-state-highlight" )
.find( "p" )
.html( "Dropped!" );
}
});
} );
</script>
</body>
</html>

1
app/templates/header.html

@ -3,6 +3,7 @@
<li><a href="{{ url_for('home') }}">Home</a></li>
<li><a href="{{ url_for('show_books') }}">Show Books</a></li>
<li><a href="{{ url_for('add_book') }}">Add Book</a></li>
<li><a href="{{ url_for('show_stacks') }}">Show Stacks</a></li>
<li><a href="{{ url_for('about') }}">About</a></li>
</ul>
<div class="clearfix"></div>

5
app/templates/show_book_detail.html

@ -14,6 +14,11 @@
{% endfor %}</ul></p>
<p>Stack(s): <ul>{% for stack in book.stacks %}
<li><a href="{{url_for('show_stack_by_id', id=stack.id)}}">{{ stack.stack_name }}</a>
{% endfor %}</ul></p>
<a href="../uploads/{{ book.file }}">download {{ book.fileformat }}</a>
<br>
<br>

7
app/templates/show_books.html

@ -22,6 +22,7 @@
<th>Author</th>
<th>Filetype</th>
<th>Category</th>
<th>Stack</th>
</tr>
{% for book in books|sort(attribute='title', reverse = False) %}
<tr>
@ -40,7 +41,13 @@
{% endfor %}</td>
<td>{{ book.fileformat }}</td>
<td>{{ book.category}}</td>
<td> {% for stack in book.stacks %}
<li><a href="{{url_for('show_stack_by_id', id=stack.id)}}">{{ stack.stack_name }}</a> </li>
{% endfor %}
</td>
</tr>
{% endfor %}
</table>

28
app/templates/show_stack_detail.html

@ -0,0 +1,28 @@
{% extends 'base.html' %}
{% block main %}
<div class="container">
<h1 class="header">{{ stack.stack_name }}</h1>
<p>Stack description:
{% for stack in stacks %}
{{stack.stack_description}}
{% endfor %}
</p>
<p>Books in this stack: {% for book in stack.books %}
<li> <a href="{{url_for('show_book_by_id', id=book.id)}}">{{book.title}}</a> </li>
{% endfor %}</p>
<br>
<br>
</div>
{% endblock %}

50
app/templates/show_stacks.html

@ -0,0 +1,50 @@
{% extends 'base.html' %}
{% block main %}
<div class="container">
<h1 class="page-header">Stacks</h1>
<p>These are all the stacks that have been built so far.</p>
<table style="width:100%">
<!--
<td> {% for stack in stacks %}
<li><a href="{{url_for('show_stack_by_id', id=stack.id)}}">{{ stack.stack_name }}</a> </li>
{% endfor %}
</td>
</table>
-->
<div id="tabs">
<ul>
{% for stack in stacks %}
<li><a href="#tabs-1">{{ stack.stack_name }}</a></li>
{% endfor %}
</ul>
<div id="tabs-1">
<h2>Stack description</h2>
<p>This stack is nice.</p>
</div>
</div>
<h1 class="page-header">Build a stack</h1>
<div id="draggable" class="ui-widget-content">
<p>List of books</p>
</div>
<div id="droppable" class="ui-widget-header">
<p>Stack</p>
</div>
</div>
{% endblock %}

16
app/views.py

@ -9,7 +9,7 @@ from app import app, db
from flask import Flask, render_template, request, redirect, url_for, flash, send_from_directory, jsonify, abort
import json
from app.forms import UserForm, UserForm_Edit
from app.models import Book, BookSchema, Author, AuthorSchema
from app.models import Book, BookSchema, Author, AuthorSchema, Stack, StackSchema
from app.cover import get_cover
import os
@ -220,6 +220,20 @@ def show_author_by_id(id):
def edit_author_by_id(id):
return "Ask the programmer."
##stacks
@app.route('/stacks')
def show_stacks():
stacks = db.session.query(Stack).all()
return render_template('show_stacks.html', stacks=stacks)
@app.route('/stacks/<int:id>', methods=['POST', 'GET'])
def show_stack_by_id(id):
stack = Stack.query.get(id)
if not stack:
abort (404)
else:
return render_template('show_stack_detail.html', stack=stack)
###

15
import_csv.py

@ -1,7 +1,7 @@
#import click
#from flask import Flask
from app import app, db
from app.models import Book, Author
from app.models import Book, Author, Stack
from csv import DictReader
import argparse
from app.cover import get_cover
@ -20,7 +20,7 @@ with open(args.csv) as f:
print ('get_cover', fullpath, name)
cover = get_cover(fullpath, name)
book = Book(row['Title'], row['Filename'], cover, row['Format'], row['Shelf'])
book = Book(row['Title'], row['Filename'], cover, row['Format'], row['Shelf'], row['Stack'])
db.session.add(book)
authors = row['Author'].split(',')
@ -32,6 +32,17 @@ with open(args.csv) as f:
a = Author(author_name=author)
db.session.add(a)
book.authors.append(a)
stacks = row['Stack']
stacks = row['Stack'].split(',')
stacks = [x.strip() for x in stacks]
for stack in stacks:
if stack:
b = db.session.query(Stack).filter_by(stack_name=stack).first()
if b == None:
b = Stack(stack_name=stack, stack_description="test")
db.session.add(b)
book.stacks.append(b)
db.session.commit()

337
xpublibrary.csv

@ -1,168 +1,169 @@
Title,Author,Shelf,Format,OCR,Downloaded,Origin,Filename
Mac OS X Leopard Edition,David Pogue,Technical,pdf,1,1,LibGen,
The Qmail Handbook,Dave Sill,Technical,pdf,1,1,LibGen,
Hardening Network Infrastructure: Bulletproof Your Systems Before You Are Hacked!,Wes Noonan,Technical,"chm, pdf",1,1,LibGen,
Cocoa Programming for Mac OS X Second Edition,Aaron Hillegaas,Technical,pdf,1,1,LibGen,
LDAP System Administration,Gerald Carter,Technical,pdf,1,1,LibGen,
Learning Unix for Mac OS X,"Dave Taylor, Jerry Peek",Technical,pdf,1,1,LibGen,
Mac OS X Panther for Unix Geeks,"Brian Jepson, Ernest E. Rothman",Technical,"chm, pdf",1,1,LibGen,
Linux System Administration,"Tom Adelstein, Bill Lubanovic",Technical,pdf,1,1,LibGen,
Managing and Using MYSQL,"Tim King, George Reese, Randy Yarger, Hugh E. Williams, Randy Jay Yarger",Technical,"chm, pdf",1,1,LibGen,
MYSQL In a Nutshell,Russell Dyer,Technical,pdf,1,1,LibGen,
Actionscript for Flash MX: The Definitive Guide,Colin Moock,Technical,pdf,1,1,LibGen,
Programming Firefox,Kenneth C Feldt,Technical,pdf,1,1,LibGen,
Learning PHP and MYSQL,Michele E Davis; Jon A Phillips,Technical,pdf,1,1,LibGen,
Learning the Bash Shell,"Cameron Newham, Bill Rosenblatt",Technical,pdf,1,1,LibGen,
GNU Emacs Pocket Reference,Debra Cameron,Technical,pdf,1,1,LibGen,
SQL Pocket Guide,Jonathan Gennick,Technical,pdf,1,1,LibGen,
HTML Pocket Reference,Jennifer Niederst Robbins,Technical,pdf,1,1,LibGen,
Regular Expression Pocket Reference,Tony Stubblebine,Technical,"chm, pdf",1,1,LibGen,
Apache 2 Pocket Reference,Andrew Ford,Technical,,,0,,
CSS Pocket Reference,Eric A. Meyer,Technical,pdf,1,1,LibGen,
vi Editor Pocket Reference,Arnold Robbins,Technical,"epub, pdf",1,1,LibGen,
The Book of Inkscape,Dmitry Kirsanov,Technical,pdf,1,1,MOTW,
Working with Mediawiki,Yaron Koren,Technical,pdf,1,1,LibGen,
Beginning Game Development with Python and Pygame,Will McGugan,Technical,pdf,1,1,LibGen,
"Game Programming with Python, Lua, and Ruby 1 edition",Gutschmidt T.,Technical,pdf,1,1,,
Data Modeling for Everyone,Sharon Allen,Technical,,,0,,
The Ultimate Guide to the Vi and Ex Text Editors,Hewlett-Packard,Technical,,,0,,
Getting Gread Sounds: The Microphone Book,Tom Lubin,Technical,,,0,,
How to Think Like a Computer Scientist,"Allen B. Downey, Jeffrey Elkner, Chris Meyers",Technical,pdf,1,1,LibGen,
Python Pocket Reference,Mark Lutz,Technical,pdf,,1,LibGen,
Instruments and the Imagination,Hankins & Silverman,Science/History,,,,,
"Mind, Machines and Human Consciousness",Robert Nadeau,Science/History,,,,,
The Psychopath Test,Jon Ronson,Science/History,pdf,1,1,LibGen,
The Selfish Gene,Richard Dawkins,Science/History,pdf,1,1,LibGen,
Pandora's Hope,Bruno Latour,Science/History,pdf,1,1,LibGen,
The New Spirit of Capitalism,Luc Boltanski & Eve Chiapello,Science/History,pdf,1,1,LibGen,
Distinction: A Social Critique of the Judgement of Taste,Pierre Bourdieu,Science/History,,,,,
"The Political Economy of Media: Enduring Issues, Emerging Dilemmas",Robert W. McChesney,Science/History,,,,,
The Dustbin of History,Greil Marcus,Science/History,,,,,
Inventing The Victorians,Matthew Sweet,Science/History,,,,,
Age of the Extremes: The Short Twentieth Century 1914-1991,Eric Hobsbawm,Science/History,pdf,1,1,LibGen,
Lipstick Traces,Greil Marcus,Science/History,,,,,
False Dawn: The Delusions of Global Capitalism,John Gray,Science/History,epub,1,1,LibGen,
Debt: The First 5000 Years,David Graeber,Science/History,,,,,
Georges Bataille: An Intellectual Biography,Michel Surya,Science/History,,,,,
The Enlightenment Reader,,Science/History,,,,,
The Century,Alain Badiou,Science/History,pdf,0,1,,
Rethinking Media Pluralism,Karppinen,Science/History,,,,,
The Philosophy of Symbolic Forms,Ernst Cassirer,Science/History,pdf,1,1,,
Archaeology,"Olsen, Shanks, Webmoor, Witmore",Science/History,,,,,
The Chomsky Reader,"Noam Chomsky, James Peck (Editor)",Science/History,epub,1,1,,
The Society of Mind,Marvin Minsky,Science/History,pdf,1,1,,
Interference: A Grand Scientific Musical Theory,Richard Merrick,Science/History,,,,,
Understanding media economics,Gillian Doyle,Media studies,pdf,,1,Libgen,
Convergence culture,Henry Jenkins,Media studies,pdf,,1,Libgen,
Digital Labor,Trebor Scholz,Media studies,pdf,,1,MOTW,
The culture of connectivity,Jose van Dijck,Media studies,pdf,,1,MOTW,
Anti-Media,Florian Cramer,Media studies,,,0,,
Holding On to Reality: The Nature of Information at the Turn of the Millennium,Albert Borgman,Media studies,pdf,,1,Libgen,
Organized Networks,Ned Rossiter,Media studies,pdf,,1,MOTW,
Over Mediatheorie,Arjen Mulder,Media studies,,,0,,
Post Truth,Matthew d'Ancona,Media studies,,,0,,
Weapons of Math Destruction,Cathy O'Neil,Media studies,EPUB,,1,Libgen,
Media Ecologies: Materialist Energies in Art and Technoculture,Matthew Fuller,Media studies,pdf,,1,MOTW,
The Internet Is Not The Answer,Andrew Keen,Media studies,pdf,,1,Libgen,
Wired for war - Robotics revolution and conflict in the 21st century,P. W. Singer,Media studies,EPUB,,1,Libgen,
Interface Culture,Steven Johnson,Media studies,pdf,,1,MOTW,
The Interface Effect,Alexander R. Galloway,Media studies,pdf,,1,Libgen,
Present Shock: When Everything Happens Now,Douglas Rushkoff,Media studies,EPUB,,1,MOTW,
Bastard Culture!: How User Participation Transforms Cultural Production,Mirko Tobias Schäfer,Media studies,pdf,,1,Libgen,
Media Virus! Hidden Agendas in Popular Culture,Douglas Rushkoff,Media studies,pdf,,1,Libgen,
Loving Big Brother: Surveillance Culture and Performance Space,John McGrath,Media studies,pdf,,1,Libgen,
Selections from Cultural Writings,Antonio Gramsci,Media studies,,,0,,
Dark Money: The Hidden History of the Billionairs behind the Rise of the Radical Right,Jane Mayer,Media studies,EPUB,,1,Libgen,
Walter Benjamin for beginners,"Howard Caygill, Alex Coles, Richard Appignanesi",Media studies,,,0,,
Cyburbia,James Harkin,Media studies,,,0,,
Mondothèque::a radiated book/un livre irradiant/een irradiërend boek,"Matthew Fuller +, Sînziana Păltineanu +, Michael Murtaugh +, Dennis Pohl +, ShinJoung Yeo +, Femke Snelting +, Natacha Roussel +, Dick Reckard +, Geraldine Juárez +, Tomislav Medak +, Marcell Mars +, Dušan Barok + and Alexia de Visscher +",Media studies,pdf,1,1,Monoskop,
Save and Forget,Thomas Walskaar,Media studies,pdf,1,1,Academia.edu,
The World Explained,Erick Beltran,Media studies,,,0,,
Information - Documents of Contemporary Art,Sarah Cook,Media studies,,,0,,
Postscript on the Societies of Control ,Gilles Deleuze,Media studies,pdf,1,1,Jstor,
Ethics Subjectivity and Truth,Michel Foucault,Media studies,pdf,,1,Monoskop,
The Infinite Conversation,Maurice Blanchot,Media studies,pdf,,1,MOTW,
Identity and Difference,Martin Heidegger,Media studies,pdf,,1,Someones personal blog that exposed an attachment link via Google,
Jean Paul A Reader,Timothy J. Casey (ed.),Media studies,,,0,,
The Ear of the Other,Jaques Derrida,Media studies,pdf,,1,Monoskop,
Statements on Appropriation (London Version),Michaelis Pichler,Media studies,,,0,,
An Introduction to Western Philosophy,Antony Flew,Philosophy,,,0,,
The Postmodern Turn,Best Kellner,Philosophy,,,0,,
Ideology,Terry Eagleton,Philosophy,pdf,,1,Libgen,
Ludwig Wittgenstein,Ray Monk,Philosophy,pdf,,1,Libgen,
The Human Condition,Hannah Arendt,Philosophy,pdf,,1,Libgen,
Introducing Foucault,"Chris Horrocks, Zoran Jevtic",Philosophy,pdf,,1,Libgen,
The Lives of Michel Foucault,David Mcey,Philosophy,pdf,,1,Libgen,
Discipline and Punish,Michel Foucault,Philosophy,pdf,,1,Libgen,
Logic of Scientific Discovery,Popper K.,Philosophy,pdf,,1,Libgen,
Intensive Science and Virtual Philosophy,Manuel DeLanda,Philosophy,pdf,,1,Libgen,
Kant and the Platypus: Essays on Language and Cognition,"Umberto Eco, Alastair McEwen",Philosophy,pdf,,1,Libgen,
Turning Back the Clock,Umberto Eco,Philosophy,,,0,,
Travels in hyper reality : essays,"Umberto Eco, William Weave",Philosophy,pdf,,1,Libgen,
On revolution,Hannah Arendt,Philosophy,pdf,,1,Libgen,
Introducing Kant,Christopher Want; Andrzej Klimowski,Philosophy,pdf,,1,Libgen,
The Perfect Crime,Jean Baudrillard,Philosophy,pdf,,1,Libgen,
Introducing Baudrillard,"Chris Horrocks, Zoran Jevtic",Philosophy,pdf,,1,Libgen,
The structure of scientific revolutions,Thomas S. Kuhn,Philosophy,pdf,,1,Libgen,
The World Turned Upside Down: Radical Ideas During the English Revolution,Christopher Hill,Philosophy,pdf,,1,Libgen,
On Wine and Hishish,Charles Baudelaire,Philosophy,,,0,,
Lacan For Beginners,"Phillip Hill, David Leach",Philosophy,pdf,,1,Libgen,
Late Marxism,Frederic Jameson,Philosophy,,,0,,
Adorno,Martin Jay,Philosophy,,,0,,
Dialectic of Enlightenment,"Max Horkheimer, Theodor Adorno, Gunzelin Noeri, Edmund Jephcott",Philosophy,pdf,,1,Libgen,
Walter Benjamin: A Biography,Momme Brodersen,Philosophy,,,0,,
A Thousand Years of Nonlinear History,Manuel De Landa,Philosophy,pdf,,1,Libgen,
Barthes: Selected Writings,Roland Barthes,Philosophy,,,0,,
Camera Lucida: Reflections on Photography,Roland Barthes,Philosophy,pdf,,1,Libgen,
Derrida For Beginners,"Jim Powell, Van Howell",Philosophy,pdf,,1,Libgen,
System and Writing in the Philosophy of Jacques Derrida,Christopher Johnson,Philosophy,pdf,,1,Libgen,
Exploring Humans,"H. Dooremalen , H. de Regt , MP Schouten",Philosophy,,,0,,
"Urheberrecht im Alltag: Kopieren, bearbeiten, selber machen",Valie Djordjevic / Robert A. Gehring / Volker Grassmuck / Till Kreutzer / Matthias Spielkamp (Hrsg.),Computer culture,,,,,
DATA browser 02: Engineering Culture,"Joasia Krysa, Geoff Cox (editors)",Computer culture,pdf,1,1,Monoskop,
DATA browser 01: Economising Culture,"Joasia Krysa, Geoff Cox (editors)",Computer culture,pdf,1,1,data browser site,
"The Mag.net reader 3, Processual Publishing. Actual Gesture","Alessandro Ludovico, Nat Muller (editors)",Computer culture,pdf,1,1,post digital print,
New Media Art,"Mark Tribe, Reena Jana",Computer culture,,,,,
Digital Prohibition,Carolyn Guertin,Computer culture,pdf,1,1,academia.edu,
The Cathedral & The Bazaar,Eric Raymond,Computer culture,pdf,1,1,Monoskop,
The Code Book,Simon Singh,Computer culture,pdf,1,1,LibGen,
DiY Survival // There is No Subculture Only Subversion,"Betti Marenko, Leon C6",Computer culture,pdf,1,1,academia.edu,
Guide to Open Content Licenses,Lawrence Liang,Computer culture,pdf,1,1,,
DATA browser 3: Curating Immateriality,Joasia Krysa (editor),Computer culture,pdf,1,1,Monoskop,
Formen interaktiver Medienkunst,"Gendolla, Schmirz, Schneider, Spangenberg (Hg)",Computer culture,pdf,1,1,http://theartgalleryofknoxville.com/ocl_v1.2.pdf,
Oulipo Compendium,"Harry Mathews, Alastair Brotchie",design / writing / publishing,,,,,
Convergence: The International Journal of Research into New Media Technologies - Volume 12 Number 3 August 2004,,Computer culture,,,,,
Perl for Web Site Management,,Computer culture,,,,,
Seven Hundred Penguins,,design / writing / publishing,,,,,
Mondotheque: a radiated book / un livre irradiant / een iradierend boek,"André Castro, Sînziana Păltineanu,Dennis Pohl,Dick Reckard,Natacha Roussel,Femke Snelting,Alexia de Visscher",Computer culture,pdf,1,1,Monoskop,
An Atlas of Typeforms,"James Sutton, Alan Bartram",design / writing / publishing,,,,,
Structure of the Visual Book,Keith Smith,design / writing / publishing,,,,,
The Uses of Literacy,Richard Hoggart,design / writing / publishing,pdf,0,1,Monoskop,
Control and Freedom: Power and Paranoia in the Age of Fiber Optics,Wendy Hui Kyong Chun,desk,pdf,1,1,LibGen,
The New Media Reader,"Noah Wardrip-Fruin, Nick Montfort (editors)",desk,pdf,1,1,LibGen,
Art and Electronic Media,Edward A. Shanken,Art,,,0,,
The Situationist City,Simon Sadler,Art,pdf,1,1,Monoskop,
The Absolute Report: Time Space Code Memory,,Art,,1,1,Monoskop,
Ashes and Broken Brickwork of a Logical Theory,Susanne Kriemann,Art,,,0,,
Surrealist Painters and Poets: An Anthology,Mary Ann Caws,Art,,,1,LibGen,
Guy Debord and the Situationists International,Tom McDonough,Art,,1,1,MOTW,
A Bed a Chair and a Table,"Natasha Berting, Angeliki Diakrousi, Joca van der Horst, Alexander Roidl, Alice Strete, Zalan Szakacs",Special Issue,,1,1,Special Issue,
Software Studies \ a lexicon,Matthew Fuller,Desk,pdf,1,1,dm.ncl.ac.uk/courseblog/files/2010/02/softwarestudies.pdf,
"The Rise of the Network Society, With a New Preface: Volume I: The Information Age: Economy, Society, and Culture (Information Age Series)",Manuel Castells,Desk,"epub, pdf",1,1,Libgen,
I Read Where I Am: Exploring New Information Cultures,"Andrew Blauvelt (Author), Mieke Gerritzen (Editor), Geert Lovink (Editor), Minke Kampman (Editor)",Desk,pdf,1,1,Libgen,
"»Present Continuous Past(s)«: Media Art. Strategies of Presentation, Mediation and Dissemination","Ursula Frohne, Mona Schieren, Jean-François Guiton (eds.)",Desk,pdf,1,1,Libgen,
exquisite_code,exquisite_code collective,Desk,book,,,Aymeric,
Uncreative Writing,Kenneth Goldsmith,Digital (Steve Trim 2 reading),epub,1,1,Steve,
The Electronic Revolution,William Burroughs,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
The Invisible Generation,William Burroughs,Digital (Steve Trim 2 reading),pdf,0,1,Steve,
Cybernetics & Ghosts,Italo Calvino,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Digital Culture,Charlie Gere,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
A Preface to Plato,Eric Havelock,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Writing Machines,Katherine Hayles,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
"Gramophone, Film, Typewriter",Friedrich Kittler,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Literature Media,Friedrich Kittler,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
"iSpace: Printed English after Joyce, Shannon, Derrida",Lydia Liu,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Orality and Literacy,Walter Ong,Digital (Steve Trim 2 reading),epub,1,1,Steve,
International Picture Language,Otto Neurath,Digital (Steve Trim 2 reading),pdf,0,1,Steve,
Protocol,Alexander R. Galloway,Media studies,pdf,1,1,Timo Klok/Monoskop,
A Prehistory of the Cloud,Tung-Hui Hu,Media Studies (Femke Trim 3),pdf,1,1,Libgen,
Paratexts: Thresholds of Interpretation,Gerard Genette,"Literature, Culture, Theory ",pdf,1,1,Memory of the World,
Title,Author,Shelf,Format,OCR,Downloaded,Origin,Filename,Stack
Mac OS X Leopard Edition,David Pogue,Technical,pdf,1,1,LibGen,,
The Qmail Handbook,Dave Sill,Technical,pdf,1,1,LibGen,,
Hardening Network Infrastructure: Bulletproof Your Systems Before You Are Hacked!,Wes Noonan,Technical,"chm, pdf",1,1,LibGen,,Make a library
Cocoa Programming for Mac OS X Second Edition,Aaron Hillegaas,Technical,pdf,1,1,LibGen,,
LDAP System Administration,Gerald Carter,Technical,pdf,1,1,LibGen,,
Learning Unix for Mac OS X,"Dave Taylor, Jerry Peek",Technical,pdf,1,1,LibGen,,
Mac OS X Panther for Unix Geeks,"Brian Jepson, Ernest E. Rothman",Technical,"chm, pdf",1,1,LibGen,,
Linux System Administration,"Tom Adelstein, Bill Lubanovic",Technical,pdf,1,1,LibGen,,
Managing and Using MYSQL,"Tim King, George Reese, Randy Yarger, Hugh E. Williams, Randy Jay Yarger",Technical,"chm, pdf",1,1,LibGen,,
MYSQL In a Nutshell,Russell Dyer,Technical,pdf,1,1,LibGen,,Make a library
Actionscript for Flash MX: The Definitive Guide,Colin Moock,Technical,pdf,1,1,LibGen,,
Programming Firefox,Kenneth C Feldt,Technical,pdf,1,1,LibGen,,
Learning PHP and MYSQL,Michele E Davis, Jon A Phillips,Technical,pdf,1,LibGen,,
Learning the Bash Shell,"Cameron Newham, Bill Rosenblatt",Technical,pdf,1,1,LibGen,,
GNU Emacs Pocket Reference,Debra Cameron,Technical,pdf,1,1,LibGen,,
SQL Pocket Guide,Jonathan Gennick,Technical,pdf,1,1,LibGen,,
HTML Pocket Reference,Jennifer Niederst Robbins,Technical,pdf,1,1,LibGen,,
Regular Expression Pocket Reference,Tony Stubblebine,Technical,"chm, pdf",1,1,LibGen,,
Apache 2 Pocket Reference,Andrew Ford,Technical,,,0,,,
CSS Pocket Reference,Eric A. Meyer,Technical,pdf,1,1,LibGen,,
vi Editor Pocket Reference,Arnold Robbins,Technical,"epub, pdf",1,1,LibGen,,
The Book of Inkscape,Dmitry Kirsanov,Technical,pdf,1,1,MOTW,,
Working with Mediawiki,Yaron Koren,Technical,pdf,1,1,LibGen,,
Beginning Game Development with Python and Pygame,Will McGugan,Technical,pdf,1,1,LibGen,,
"Game Programming with Python, Lua, and Ruby 1 edition",Gutschmidt T.,Technical,pdf,1,1,,,
Data Modeling for Everyone,Sharon Allen,Technical,,,0,,,
The Ultimate Guide to the Vi and Ex Text Editors,Hewlett-Packard,Technical,,,0,,,
Getting Gread Sounds: The Microphone Book,Tom Lubin,Technical,,,0,,,
How to Think Like a Computer Scientist,"Allen B. Downey, Jeffrey Elkner, Chris Meyers",Technical,pdf,1,1,LibGen,,Intro to PZI
Python Pocket Reference,Mark Lutz,Technical,pdf,,1,LibGen,,
Things That Talk,Lorraine Daston (Editor),Science/History,,,,,,
Instruments and the Imagination,Hankins & Silverman,Science/History,,,,,,
"Mind, Machines and Human Consciousness",Robert Nadeau,Science/History,,,,,,
The Psychopath Test,Jon Ronson,Science/History,pdf,1,1,LibGen,,
The Selfish Gene,Richard Dawkins,Science/History,pdf,1,1,LibGen,,
Pandora's Hope,Bruno Latour,Science/History,pdf,1,1,LibGen,,
The New Spirit of Capitalism,Luc Boltanski & Eve Chiapello,Science/History,pdf,1,1,LibGen,,
Distinction: A Social Critique of the Judgement of Taste,Pierre Bourdieu,Science/History,,,,,,
"The Political Economy of Media: Enduring Issues, Emerging Dilemmas",Robert W. McChesney,Science/History,,,,,,
The Dustbin of History,Greil Marcus,Science/History,,,,,,
Inventing The Victorians,Matthew Sweet,Science/History,,,,,,
Age of the Extremes: The Short Twentieth Century 1914-1991,Eric Hobsbawm,Science/History,pdf,1,1,LibGen,,
Lipstick Traces,Greil Marcus,Science/History,,,,,,Bed Chair Table
False Dawn: The Delusions of Global Capitalism,John Gray,Science/History,epub,1,1,LibGen,,
Debt: The First 5000 Years,David Graeber,Science/History,,,,,,
Georges Bataille: An Intellectual Biography,Michel Surya,Science/History,,,,,,
The Enlightenment Reader,,Science/History,,,,,,
The Century,Alain Badiou,Science/History,pdf,0,1,,,
Rethinking Media Pluralism,Karppinen,Science/History,,,,,,
The Philosophy of Symbolic Forms,Ernst Cassirer,Science/History,pdf,1,1,,,
Archaeology,"Olsen, Shanks, Webmoor, Witmore",Science/History,,,,,,
The Chomsky Reader,"Noam Chomsky, James Peck (Editor)",Science/History,epub,1,1,,,
The Society of Mind,Marvin Minsky,Science/History,pdf,1,1,,,
Interference: A Grand Scientific Musical Theory,Richard Merrick,Science/History,,,,,,
Understanding media economics,Gillian Doyle,Media studies,pdf,,1,Libgen,,
Convergence culture,Henry Jenkins,Media studies,pdf,,1,Libgen,,
Digital Labor,Trebor Scholz,Media studies,pdf,,1,MOTW,,
The culture of connectivity,Jose van Dijck,Media studies,pdf,,1,MOTW,,
Anti-Media,Florian Cramer,Media studies,,,0,,,
Holding On to Reality: The Nature of Information at the Turn of the Millennium,Albert Borgman,Media studies,pdf,,1,Libgen,,
Organized Networks,Ned Rossiter,Media studies,pdf,,1,MOTW,,
Over Mediatheorie,Arjen Mulder,Media studies,,,0,,,
Post Truth,Matthew d'Ancona,Media studies,,,0,,,
Weapons of Math Destruction,Cathy O'Neil,Media studies,EPUB,,1,Libgen,,
Media Ecologies: Materialist Energies in Art and Technoculture,Matthew Fuller,Media studies,pdf,,1,MOTW,,
The Internet Is Not The Answer,Andrew Keen,Media studies,pdf,,1,Libgen,,
Wired for war - Robotics revolution and conflict in the 21st century,P. W. Singer,Media studies,EPUB,,1,Libgen,,
Interface Culture,Steven Johnson,Media studies,pdf,,1,MOTW,,
The Interface Effect,Alexander R. Galloway,Media studies,pdf,,1,Libgen,,
Present Shock: When Everything Happens Now,Douglas Rushkoff,Media studies,EPUB,,1,MOTW,,
Bastard Culture!: How User Participation Transforms Cultural Production,Mirko Tobias Schäfer,Media studies,pdf,,1,Libgen,,
Media Virus! Hidden Agendas in Popular Culture,Douglas Rushkoff,Media studies,pdf,,1,Libgen,,
Loving Big Brother: Surveillance Culture and Performance Space,John McGrath,Media studies,pdf,,1,Libgen,,
Selections from Cultural Writings,Antonio Gramsci,Media studies,,,0,,,
Dark Money: The Hidden History of the Billionairs behind the Rise of the Radical Right,Jane Mayer,Media studies,EPUB,,1,Libgen,,
Walter Benjamin for beginners,"Howard Caygill, Alex Coles, Richard Appignanesi",Media studies,,,0,,,
Cyburbia,James Harkin,Media studies,,,0,,,
Mondothèque::a radiated book/un livre irradiant/een irradiërend boek,"Matthew Fuller +, Sînziana Păltineanu +, Michael Murtaugh +, Dennis Pohl +, ShinJoung Yeo +, Femke Snelting +, Natacha Roussel +, Dick Reckard +, Geraldine Juárez +, Tomislav Medak +, Marcell Mars +, Dušan Barok + and Alexia de Visscher +",Media studies,pdf,1,1,Monoskop,,
Save and Forget,Thomas Walskaar,Media studies,pdf,1,1,Academia.edu,,
The World Explained,Erick Beltran,Media studies,,,0,,,
Information - Documents of Contemporary Art,Sarah Cook,Media studies,,,0,,,
Postscript on the Societies of Control ,Gilles Deleuze,Media studies,pdf,1,1,Jstor,,
Ethics Subjectivity and Truth,Michel Foucault,Media studies,pdf,,1,Monoskop,,
The Infinite Conversation,Maurice Blanchot,Media studies,pdf,,1,MOTW,,
Identity and Difference,Martin Heidegger,Media studies,pdf,,1,Someones personal blog that exposed an attachment link via Google,,
Jean Paul A Reader,Timothy J. Casey (ed.),Media studies,,,0,,,
The Ear of the Other,Jaques Derrida,Media studies,pdf,,1,Monoskop,,
Statements on Appropriation (London Version),Michaelis Pichler,Media studies,,,0,,,
An Introduction to Western Philosophy,Antony Flew,Philosophy,,,0,,,
The Postmodern Turn,Best Kellner,Philosophy,,,0,,,
Ideology,Terry Eagleton,Philosophy,pdf,,1,Libgen,,
Ludwig Wittgenstein,Ray Monk,Philosophy,pdf,,1,Libgen,,
The Human Condition,Hannah Arendt,Philosophy,pdf,,1,Libgen,,
Introducing Foucault,"Chris Horrocks, Zoran Jevtic",Philosophy,pdf,,1,Libgen,,
The Lives of Michel Foucault,David Mcey,Philosophy,pdf,,1,Libgen,,
Discipline and Punish,Michel Foucault,Philosophy,pdf,,1,Libgen,,
Logic of Scientific Discovery,Popper K.,Philosophy,pdf,,1,Libgen,,
Intensive Science and Virtual Philosophy,Manuel DeLanda,Philosophy,pdf,,1,Libgen,,
Kant and the Platypus: Essays on Language and Cognition,"Umberto Eco, Alastair McEwen",Philosophy,pdf,,1,Libgen,,
Turning Back the Clock,Umberto Eco,Philosophy,,,0,,,
Travels in hyper reality : essays,"Umberto Eco, William Weave",Philosophy,pdf,,1,Libgen,,
On revolution,Hannah Arendt,Philosophy,pdf,,1,Libgen,,
Introducing Kant,Christopher Want, Andrzej Klimowski,Philosophy,pdf,1,Libgen,,
The Perfect Crime,Jean Baudrillard,Philosophy,pdf,,1,Libgen,,
Introducing Baudrillard,"Chris Horrocks, Zoran Jevtic",Philosophy,pdf,,1,Libgen,,
The structure of scientific revolutions,Thomas S. Kuhn,Philosophy,pdf,,1,Libgen,,
The World Turned Upside Down: Radical Ideas During the English Revolution,Christopher Hill,Philosophy,pdf,,1,Libgen,,
On Wine and Hishish,Charles Baudelaire,Philosophy,,,0,,,
Lacan For Beginners,"Phillip Hill, David Leach",Philosophy,pdf,,1,Libgen,,
Late Marxism,Frederic Jameson,Philosophy,,,0,,,
Adorno,Martin Jay,Philosophy,,,0,,,
Dialectic of Enlightenment,"Max Horkheimer, Theodor Adorno, Gunzelin Noeri, Edmund Jephcott",Philosophy,pdf,,1,Libgen,,
Walter Benjamin: A Biography,Momme Brodersen,Philosophy,,,0,,,
A Thousand Years of Nonlinear History,Manuel De Landa,Philosophy,pdf,,1,Libgen,,
Barthes: Selected Writings,Roland Barthes,Philosophy,,,0,,,
Camera Lucida: Reflections on Photography,Roland Barthes,Philosophy,pdf,,1,Libgen,,
Derrida For Beginners,"Jim Powell, Van Howell",Philosophy,pdf,,1,Libgen,,
System and Writing in the Philosophy of Jacques Derrida,Christopher Johnson,Philosophy,pdf,,1,Libgen,,
Exploring Humans,"H. Dooremalen , H. de Regt , MP Schouten",Philosophy,,,0,,,
"Urheberrecht im Alltag: Kopieren, bearbeiten, selber machen",Valie Djordjevic / Robert A. Gehring / Volker Grassmuck / Till Kreutzer / Matthias Spielkamp (Hrsg.),Computer culture,,,,,,
DATA browser 02: Engineering Culture,"Joasia Krysa, Geoff Cox (editors)",Computer culture,pdf,1,1,Monoskop,,
DATA browser 01: Economising Culture,"Joasia Krysa, Geoff Cox (editors)",Computer culture,pdf,1,1,data browser site,,
"The Mag.net reader 3, Processual Publishing. Actual Gesture","Alessandro Ludovico, Nat Muller (editors)",Computer culture,pdf,1,1,post digital print,,
New Media Art,"Mark Tribe, Reena Jana",Computer culture,,,,,,
Digital Prohibition,Carolyn Guertin,Computer culture,pdf,1,1,academia.edu,,
The Cathedral & The Bazaar,Eric Raymond,Computer culture,pdf,1,1,Monoskop,,
The Code Book,Simon Singh,Computer culture,pdf,1,1,LibGen,,
DiY Survival // There is No Subculture Only Subversion,"Betti Marenko, Leon C6",Computer culture,pdf,1,1,academia.edu,,
Guide to Open Content Licenses,Lawrence Liang,Computer culture,pdf,1,1,,,
DATA browser 3: Curating Immateriality,Joasia Krysa (editor),Computer culture,pdf,1,1,Monoskop,,
Formen interaktiver Medienkunst,"Gendolla, Schmirz, Schneider, Spangenberg (Hg)",Computer culture,pdf,1,1,,,
Oulipo Compendium,"Harry Mathews, Alastair Brotchie",design / writing / publishing,,,,,,
Convergence: The International Journal of Research into New Media Technologies - Volume 12 Number 3 August 2004,,Computer culture,,,,,,
Perl for Web Site Management,,Computer culture,,,,,,
Seven Hundred Penguins,,design / writing / publishing,,,,,,
Mondotheque: a radiated book / un livre irradiant / een iradierend boek,"André Castro, Sînziana Păltineanu,Dennis Pohl,Dick Reckard,Natacha Roussel,Femke Snelting,Alexia de Visscher",Computer culture,pdf,1,1,Monoskop,,
An Atlas of Typeforms,"James Sutton, Alan Bartram",design / writing / publishing,,,,,,
Structure of the Visual Book,Keith Smith,design / writing / publishing,,,,,,
The Uses of Literacy,Richard Hoggart,design / writing / publishing,pdf,0,1,Monoskop,,
Control and Freedom: Power and Paranoia in the Age of Fiber Optics,Wendy Hui Kyong Chun,desk,pdf,1,1,LibGen,,
The New Media Reader,"Noah Wardrip-Fruin, Nick Montfort (editors)",desk,pdf,1,1,LibGen,,
Art and Electronic Media,Edward A. Shanken,Art,,,0,,,
The Situationist City,Simon Sadler,Art,pdf,1,1,Monoskop,,
The Absolute Report: Time Space Code Memory,,Art,,1,1,Monoskop,,
Ashes and Broken Brickwork of a Logical Theory,Susanne Kriemann,Art,,,0,,,
Surrealist Painters and Poets: An Anthology,Mary Ann Caws,Art,,,1,LibGen,,
Guy Debord and the Situationists International,Tom McDonough,Art,,1,1,MOTW,,
A Bed a Chair and a Table,"Natasha Berting, Angeliki Diakrousi, Joca van der Horst, Alexander Roidl, Alice Strete, Zalan Szakacs",Special Issue,,1,1,Special Issue,,Bed Chair Table
Software Studies \ a lexicon,Matthew Fuller,Desk,pdf,1,1,,,
"The Rise of the Network Society, With a New Preface: Volume I: The Information Age: Economy, Society, and Culture (Information Age Series)",Manuel Castells,Desk,"epub, pdf",1,1,Libgen,,
I Read Where I Am: Exploring New Information Cultures,"Andrew Blauvelt (Author), Mieke Gerritzen (Editor), Geert Lovink (Editor), Minke Kampman (Editor)",Desk,pdf,1,1,Libgen,,
"»Present Continuous Past(s)«: Media Art. Strategies of Presentation, Mediation and Dissemination","Ursula Frohne, Mona Schieren, Jean-François Guiton (eds.)",Desk,pdf,1,1,Libgen,,
exquisite_code,exquisite_code collective,Desk,book,,,Aymeric,,
Uncreative Writing,Kenneth Goldsmith,Digital (Steve Trim 2 reading),epub,1,1,Steve,,
The Electronic Revolution,William Burroughs,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
The Invisible Generation,William Burroughs,Digital (Steve Trim 2 reading),pdf,0,1,Steve,,
Cybernetics & Ghosts,Italo Calvino,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
Digital Culture,Charlie Gere,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
A Preface to Plato,Eric Havelock,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
Writing Machines,Katherine Hayles,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
"Gramophone, Film, Typewriter",Friedrich Kittler,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
Literature Media,Friedrich Kittler,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
"iSpace: Printed English after Joyce, Shannon, Derrida",Lydia Liu,Digital (Steve Trim 2 reading),pdf,1,1,Steve,,
Orality and Literacy,Walter Ong,Digital (Steve Trim 2 reading),epub,1,1,Steve,,
International Picture Language,Otto Neurath,Digital (Steve Trim 2 reading),pdf,0,1,Steve,,
Protocol,Alexander R. Galloway,Media studies,pdf,1,1,Timo Klok/Monoskop,,
A Prehistory of the Cloud,Tung-Hui Hu,Media Studies (Femke Trim 3),pdf,1,1,Libgen,,
Paratexts: Thresholds of Interpretation,Gerard Genette,"Literature, Culture, Theory ",pdf,1,1,Memory of the World,,

Can't render this file because it has a wrong number of fields in line 26.

168
xpublibrary_old.csv

@ -0,0 +1,168 @@
Title,Author,Shelf,Format,OCR,Downloaded,Origin,Filename
Mac OS X Leopard Edition,David Pogue,Technical,pdf,1,1,LibGen,
The Qmail Handbook,Dave Sill,Technical,pdf,1,1,LibGen,
Hardening Network Infrastructure: Bulletproof Your Systems Before You Are Hacked!,Wes Noonan,Technical,"chm, pdf",1,1,LibGen,
Cocoa Programming for Mac OS X Second Edition,Aaron Hillegaas,Technical,pdf,1,1,LibGen,
LDAP System Administration,Gerald Carter,Technical,pdf,1,1,LibGen,
Learning Unix for Mac OS X,"Dave Taylor, Jerry Peek",Technical,pdf,1,1,LibGen,
Mac OS X Panther for Unix Geeks,"Brian Jepson, Ernest E. Rothman",Technical,"chm, pdf",1,1,LibGen,
Linux System Administration,"Tom Adelstein, Bill Lubanovic",Technical,pdf,1,1,LibGen,
Managing and Using MYSQL,"Tim King, George Reese, Randy Yarger, Hugh E. Williams, Randy Jay Yarger",Technical,"chm, pdf",1,1,LibGen,
MYSQL In a Nutshell,Russell Dyer,Technical,pdf,1,1,LibGen,
Actionscript for Flash MX: The Definitive Guide,Colin Moock,Technical,pdf,1,1,LibGen,
Programming Firefox,Kenneth C Feldt,Technical,pdf,1,1,LibGen,
Learning PHP and MYSQL,Michele E Davis; Jon A Phillips,Technical,pdf,1,1,LibGen,
Learning the Bash Shell,"Cameron Newham, Bill Rosenblatt",Technical,pdf,1,1,LibGen,
GNU Emacs Pocket Reference,Debra Cameron,Technical,pdf,1,1,LibGen,
SQL Pocket Guide,Jonathan Gennick,Technical,pdf,1,1,LibGen,
HTML Pocket Reference,Jennifer Niederst Robbins,Technical,pdf,1,1,LibGen,
Regular Expression Pocket Reference,Tony Stubblebine,Technical,"chm, pdf",1,1,LibGen,
Apache 2 Pocket Reference,Andrew Ford,Technical,,,0,,
CSS Pocket Reference,Eric A. Meyer,Technical,pdf,1,1,LibGen,
vi Editor Pocket Reference,Arnold Robbins,Technical,"epub, pdf",1,1,LibGen,
The Book of Inkscape,Dmitry Kirsanov,Technical,pdf,1,1,MOTW,
Working with Mediawiki,Yaron Koren,Technical,pdf,1,1,LibGen,
Beginning Game Development with Python and Pygame,Will McGugan,Technical,pdf,1,1,LibGen,
"Game Programming with Python, Lua, and Ruby 1 edition",Gutschmidt T.,Technical,pdf,1,1,,
Data Modeling for Everyone,Sharon Allen,Technical,,,0,,
The Ultimate Guide to the Vi and Ex Text Editors,Hewlett-Packard,Technical,,,0,,
Getting Gread Sounds: The Microphone Book,Tom Lubin,Technical,,,0,,
How to Think Like a Computer Scientist,"Allen B. Downey, Jeffrey Elkner, Chris Meyers",Technical,pdf,1,1,LibGen,
Python Pocket Reference,Mark Lutz,Technical,pdf,,1,LibGen,
Instruments and the Imagination,Hankins & Silverman,Science/History,,,,,
"Mind, Machines and Human Consciousness",Robert Nadeau,Science/History,,,,,
The Psychopath Test,Jon Ronson,Science/History,pdf,1,1,LibGen,
The Selfish Gene,Richard Dawkins,Science/History,pdf,1,1,LibGen,
Pandora's Hope,Bruno Latour,Science/History,pdf,1,1,LibGen,
The New Spirit of Capitalism,Luc Boltanski & Eve Chiapello,Science/History,pdf,1,1,LibGen,
Distinction: A Social Critique of the Judgement of Taste,Pierre Bourdieu,Science/History,,,,,
"The Political Economy of Media: Enduring Issues, Emerging Dilemmas",Robert W. McChesney,Science/History,,,,,
The Dustbin of History,Greil Marcus,Science/History,,,,,
Inventing The Victorians,Matthew Sweet,Science/History,,,,,
Age of the Extremes: The Short Twentieth Century 1914-1991,Eric Hobsbawm,Science/History,pdf,1,1,LibGen,
Lipstick Traces,Greil Marcus,Science/History,,,,,
False Dawn: The Delusions of Global Capitalism,John Gray,Science/History,epub,1,1,LibGen,
Debt: The First 5000 Years,David Graeber,Science/History,,,,,
Georges Bataille: An Intellectual Biography,Michel Surya,Science/History,,,,,
The Enlightenment Reader,,Science/History,,,,,
The Century,Alain Badiou,Science/History,pdf,0,1,,
Rethinking Media Pluralism,Karppinen,Science/History,,,,,
The Philosophy of Symbolic Forms,Ernst Cassirer,Science/History,pdf,1,1,,
Archaeology,"Olsen, Shanks, Webmoor, Witmore",Science/History,,,,,
The Chomsky Reader,"Noam Chomsky, James Peck (Editor)",Science/History,epub,1,1,,
The Society of Mind,Marvin Minsky,Science/History,pdf,1,1,,
Interference: A Grand Scientific Musical Theory,Richard Merrick,Science/History,,,,,
Understanding media economics,Gillian Doyle,Media studies,pdf,,1,Libgen,
Convergence culture,Henry Jenkins,Media studies,pdf,,1,Libgen,
Digital Labor,Trebor Scholz,Media studies,pdf,,1,MOTW,
The culture of connectivity,Jose van Dijck,Media studies,pdf,,1,MOTW,
Anti-Media,Florian Cramer,Media studies,,,0,,
Holding On to Reality: The Nature of Information at the Turn of the Millennium,Albert Borgman,Media studies,pdf,,1,Libgen,
Organized Networks,Ned Rossiter,Media studies,pdf,,1,MOTW,
Over Mediatheorie,Arjen Mulder,Media studies,,,0,,
Post Truth,Matthew d'Ancona,Media studies,,,0,,
Weapons of Math Destruction,Cathy O'Neil,Media studies,EPUB,,1,Libgen,
Media Ecologies: Materialist Energies in Art and Technoculture,Matthew Fuller,Media studies,pdf,,1,MOTW,
The Internet Is Not The Answer,Andrew Keen,Media studies,pdf,,1,Libgen,
Wired for war - Robotics revolution and conflict in the 21st century,P. W. Singer,Media studies,EPUB,,1,Libgen,
Interface Culture,Steven Johnson,Media studies,pdf,,1,MOTW,
The Interface Effect,Alexander R. Galloway,Media studies,pdf,,1,Libgen,
Present Shock: When Everything Happens Now,Douglas Rushkoff,Media studies,EPUB,,1,MOTW,
Bastard Culture!: How User Participation Transforms Cultural Production,Mirko Tobias Schäfer,Media studies,pdf,,1,Libgen,
Media Virus! Hidden Agendas in Popular Culture,Douglas Rushkoff,Media studies,pdf,,1,Libgen,
Loving Big Brother: Surveillance Culture and Performance Space,John McGrath,Media studies,pdf,,1,Libgen,
Selections from Cultural Writings,Antonio Gramsci,Media studies,,,0,,
Dark Money: The Hidden History of the Billionairs behind the Rise of the Radical Right,Jane Mayer,Media studies,EPUB,,1,Libgen,
Walter Benjamin for beginners,"Howard Caygill, Alex Coles, Richard Appignanesi",Media studies,,,0,,
Cyburbia,James Harkin,Media studies,,,0,,
Mondothèque::a radiated book/un livre irradiant/een irradiërend boek,"Matthew Fuller +, Sînziana Păltineanu +, Michael Murtaugh +, Dennis Pohl +, ShinJoung Yeo +, Femke Snelting +, Natacha Roussel +, Dick Reckard +, Geraldine Juárez +, Tomislav Medak +, Marcell Mars +, Dušan Barok + and Alexia de Visscher +",Media studies,pdf,1,1,Monoskop,
Save and Forget,Thomas Walskaar,Media studies,pdf,1,1,Academia.edu,
The World Explained,Erick Beltran,Media studies,,,0,,
Information - Documents of Contemporary Art,Sarah Cook,Media studies,,,0,,
Postscript on the Societies of Control ,Gilles Deleuze,Media studies,pdf,1,1,Jstor,
Ethics Subjectivity and Truth,Michel Foucault,Media studies,pdf,,1,Monoskop,
The Infinite Conversation,Maurice Blanchot,Media studies,pdf,,1,MOTW,
Identity and Difference,Martin Heidegger,Media studies,pdf,,1,Someones personal blog that exposed an attachment link via Google,
Jean Paul A Reader,Timothy J. Casey (ed.),Media studies,,,0,,
The Ear of the Other,Jaques Derrida,Media studies,pdf,,1,Monoskop,
Statements on Appropriation (London Version),Michaelis Pichler,Media studies,,,0,,
An Introduction to Western Philosophy,Antony Flew,Philosophy,,,0,,
The Postmodern Turn,Best Kellner,Philosophy,,,0,,
Ideology,Terry Eagleton,Philosophy,pdf,,1,Libgen,
Ludwig Wittgenstein,Ray Monk,Philosophy,pdf,,1,Libgen,
The Human Condition,Hannah Arendt,Philosophy,pdf,,1,Libgen,
Introducing Foucault,"Chris Horrocks, Zoran Jevtic",Philosophy,pdf,,1,Libgen,
The Lives of Michel Foucault,David Mcey,Philosophy,pdf,,1,Libgen,
Discipline and Punish,Michel Foucault,Philosophy,pdf,,1,Libgen,
Logic of Scientific Discovery,Popper K.,Philosophy,pdf,,1,Libgen,
Intensive Science and Virtual Philosophy,Manuel DeLanda,Philosophy,pdf,,1,Libgen,
Kant and the Platypus: Essays on Language and Cognition,"Umberto Eco, Alastair McEwen",Philosophy,pdf,,1,Libgen,
Turning Back the Clock,Umberto Eco,Philosophy,,,0,,
Travels in hyper reality : essays,"Umberto Eco, William Weave",Philosophy,pdf,,1,Libgen,
On revolution,Hannah Arendt,Philosophy,pdf,,1,Libgen,
Introducing Kant,Christopher Want; Andrzej Klimowski,Philosophy,pdf,,1,Libgen,
The Perfect Crime,Jean Baudrillard,Philosophy,pdf,,1,Libgen,
Introducing Baudrillard,"Chris Horrocks, Zoran Jevtic",Philosophy,pdf,,1,Libgen,
The structure of scientific revolutions,Thomas S. Kuhn,Philosophy,pdf,,1,Libgen,
The World Turned Upside Down: Radical Ideas During the English Revolution,Christopher Hill,Philosophy,pdf,,1,Libgen,
On Wine and Hishish,Charles Baudelaire,Philosophy,,,0,,
Lacan For Beginners,"Phillip Hill, David Leach",Philosophy,pdf,,1,Libgen,
Late Marxism,Frederic Jameson,Philosophy,,,0,,
Adorno,Martin Jay,Philosophy,,,0,,
Dialectic of Enlightenment,"Max Horkheimer, Theodor Adorno, Gunzelin Noeri, Edmund Jephcott",Philosophy,pdf,,1,Libgen,
Walter Benjamin: A Biography,Momme Brodersen,Philosophy,,,0,,
A Thousand Years of Nonlinear History,Manuel De Landa,Philosophy,pdf,,1,Libgen,
Barthes: Selected Writings,Roland Barthes,Philosophy,,,0,,
Camera Lucida: Reflections on Photography,Roland Barthes,Philosophy,pdf,,1,Libgen,
Derrida For Beginners,"Jim Powell, Van Howell",Philosophy,pdf,,1,Libgen,
System and Writing in the Philosophy of Jacques Derrida,Christopher Johnson,Philosophy,pdf,,1,Libgen,
Exploring Humans,"H. Dooremalen , H. de Regt , MP Schouten",Philosophy,,,0,,
"Urheberrecht im Alltag: Kopieren, bearbeiten, selber machen",Valie Djordjevic / Robert A. Gehring / Volker Grassmuck / Till Kreutzer / Matthias Spielkamp (Hrsg.),Computer culture,,,,,
DATA browser 02: Engineering Culture,"Joasia Krysa, Geoff Cox (editors)",Computer culture,pdf,1,1,Monoskop,
DATA browser 01: Economising Culture,"Joasia Krysa, Geoff Cox (editors)",Computer culture,pdf,1,1,data browser site,
"The Mag.net reader 3, Processual Publishing. Actual Gesture","Alessandro Ludovico, Nat Muller (editors)",Computer culture,pdf,1,1,post digital print,
New Media Art,"Mark Tribe, Reena Jana",Computer culture,,,,,
Digital Prohibition,Carolyn Guertin,Computer culture,pdf,1,1,academia.edu,
The Cathedral & The Bazaar,Eric Raymond,Computer culture,pdf,1,1,Monoskop,
The Code Book,Simon Singh,Computer culture,pdf,1,1,LibGen,
DiY Survival // There is No Subculture Only Subversion,"Betti Marenko, Leon C6",Computer culture,pdf,1,1,academia.edu,
Guide to Open Content Licenses,Lawrence Liang,Computer culture,pdf,1,1,,
DATA browser 3: Curating Immateriality,Joasia Krysa (editor),Computer culture,pdf,1,1,Monoskop,
Formen interaktiver Medienkunst,"Gendolla, Schmirz, Schneider, Spangenberg (Hg)",Computer culture,pdf,1,1,http://theartgalleryofknoxville.com/ocl_v1.2.pdf,
Oulipo Compendium,"Harry Mathews, Alastair Brotchie",design / writing / publishing,,,,,
Convergence: The International Journal of Research into New Media Technologies - Volume 12 Number 3 August 2004,,Computer culture,,,,,
Perl for Web Site Management,,Computer culture,,,,,
Seven Hundred Penguins,,design / writing / publishing,,,,,
Mondotheque: a radiated book / un livre irradiant / een iradierend boek,"André Castro, Sînziana Păltineanu,Dennis Pohl,Dick Reckard,Natacha Roussel,Femke Snelting,Alexia de Visscher",Computer culture,pdf,1,1,Monoskop,
An Atlas of Typeforms,"James Sutton, Alan Bartram",design / writing / publishing,,,,,
Structure of the Visual Book,Keith Smith,design / writing / publishing,,,,,
The Uses of Literacy,Richard Hoggart,design / writing / publishing,pdf,0,1,Monoskop,
Control and Freedom: Power and Paranoia in the Age of Fiber Optics,Wendy Hui Kyong Chun,desk,pdf,1,1,LibGen,
The New Media Reader,"Noah Wardrip-Fruin, Nick Montfort (editors)",desk,pdf,1,1,LibGen,
Art and Electronic Media,Edward A. Shanken,Art,,,0,,
The Situationist City,Simon Sadler,Art,pdf,1,1,Monoskop,
The Absolute Report: Time Space Code Memory,,Art,,1,1,Monoskop,
Ashes and Broken Brickwork of a Logical Theory,Susanne Kriemann,Art,,,0,,
Surrealist Painters and Poets: An Anthology,Mary Ann Caws,Art,,,1,LibGen,
Guy Debord and the Situationists International,Tom McDonough,Art,,1,1,MOTW,
A Bed a Chair and a Table,"Natasha Berting, Angeliki Diakrousi, Joca van der Horst, Alexander Roidl, Alice Strete, Zalan Szakacs",Special Issue,,1,1,Special Issue,
Software Studies \ a lexicon,Matthew Fuller,Desk,pdf,1,1,dm.ncl.ac.uk/courseblog/files/2010/02/softwarestudies.pdf,
"The Rise of the Network Society, With a New Preface: Volume I: The Information Age: Economy, Society, and Culture (Information Age Series)",Manuel Castells,Desk,"epub, pdf",1,1,Libgen,
I Read Where I Am: Exploring New Information Cultures,"Andrew Blauvelt (Author), Mieke Gerritzen (Editor), Geert Lovink (Editor), Minke Kampman (Editor)",Desk,pdf,1,1,Libgen,
"»Present Continuous Past(s)«: Media Art. Strategies of Presentation, Mediation and Dissemination","Ursula Frohne, Mona Schieren, Jean-François Guiton (eds.)",Desk,pdf,1,1,Libgen,
exquisite_code,exquisite_code collective,Desk,book,,,Aymeric,
Uncreative Writing,Kenneth Goldsmith,Digital (Steve Trim 2 reading),epub,1,1,Steve,
The Electronic Revolution,William Burroughs,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
The Invisible Generation,William Burroughs,Digital (Steve Trim 2 reading),pdf,0,1,Steve,
Cybernetics & Ghosts,Italo Calvino,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Digital Culture,Charlie Gere,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
A Preface to Plato,Eric Havelock,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Writing Machines,Katherine Hayles,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
"Gramophone, Film, Typewriter",Friedrich Kittler,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Literature Media,Friedrich Kittler,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
"iSpace: Printed English after Joyce, Shannon, Derrida",Lydia Liu,Digital (Steve Trim 2 reading),pdf,1,1,Steve,
Orality and Literacy,Walter Ong,Digital (Steve Trim 2 reading),epub,1,1,Steve,
International Picture Language,Otto Neurath,Digital (Steve Trim 2 reading),pdf,0,1,Steve,
Protocol,Alexander R. Galloway,Media studies,pdf,1,1,Timo Klok/Monoskop,
A Prehistory of the Cloud,Tung-Hui Hu,Media Studies (Femke Trim 3),pdf,1,1,Libgen,
Paratexts: Thresholds of Interpretation,Gerard Genette,"Literature, Culture, Theory ",pdf,1,1,Memory of the World,
Can't render this file because it has a wrong number of fields in line 27.
Loading…
Cancel
Save