@@ -15,6 +15,7 @@ require File.expand_path('../gollum/blob_entry', __FILE__)
|
||||
require File.expand_path('../gollum/wiki', __FILE__)
|
||||
require File.expand_path('../gollum/page', __FILE__)
|
||||
require File.expand_path('../gollum/file', __FILE__)
|
||||
require File.expand_path('../gollum/file_view', __FILE__)
|
||||
require File.expand_path('../gollum/markup', __FILE__)
|
||||
require File.expand_path('../gollum/sanitization', __FILE__)
|
||||
require File.expand_path('../gollum/tex', __FILE__)
|
||||
|
||||
@@ -0,0 +1,154 @@
|
||||
module Gollum
|
||||
=begin
|
||||
FileView requires that:
|
||||
- All files in root dir are processed first
|
||||
- Then all the folders are sorted and processed
|
||||
=end
|
||||
class FileView
|
||||
def initialize pages
|
||||
@pages = pages
|
||||
end
|
||||
|
||||
def enclose_tree string
|
||||
%Q(<ol class="tree">\n) + string + %Q(\n</ol>)
|
||||
end
|
||||
|
||||
def new_page page
|
||||
name = page.name
|
||||
%Q( <li class="file"><a href="#{name}">#{name}</a></li>\n)
|
||||
end
|
||||
|
||||
def new_folder page
|
||||
new_sub_folder ::File.dirname(page.path), page.name
|
||||
end
|
||||
|
||||
def new_sub_folder path, name
|
||||
<<-HTML
|
||||
<li>
|
||||
<label>#{path}</label> <input type="checkbox" checked />
|
||||
<ol>
|
||||
<li class="file"><a href="#{name}">#{name}</a></li>
|
||||
HTML
|
||||
end
|
||||
|
||||
def end_folder
|
||||
<<-HTML
|
||||
</ol>
|
||||
</li>
|
||||
HTML
|
||||
end
|
||||
|
||||
def render_files
|
||||
html = ''
|
||||
count = @pages.size
|
||||
folder_start = -1
|
||||
|
||||
# Process all pages until folders start
|
||||
count.times do | index |
|
||||
page = @pages[ index ]
|
||||
path = page.path
|
||||
|
||||
unless path.include? '/'
|
||||
# Page processed (not contained in a folder)
|
||||
html += new_page page
|
||||
else
|
||||
# Folders start at the next index
|
||||
folder_start = index
|
||||
break # Pages finished, move on to folders
|
||||
end
|
||||
end
|
||||
|
||||
# If there are no folders, then we're done.
|
||||
return enclose_tree(html) if folder_start <= -1
|
||||
|
||||
# Handle special case of only one folder.
|
||||
if (count - folder_start == 1)
|
||||
path = @pages[ folder_start ]
|
||||
name = page.name
|
||||
html += <<-HTML
|
||||
<li>
|
||||
<label>#{::File.dirname(path)}</label> <input type="checkbox" checked />
|
||||
<ol>
|
||||
<li class="file"><a href="#{name}">#{name}</a></li>
|
||||
</ol>
|
||||
</li>
|
||||
HTML
|
||||
|
||||
return enclose_tree html
|
||||
end
|
||||
|
||||
sorted_folders = []
|
||||
(folder_start).upto count - 1 do | index |
|
||||
sorted_folders += [[ @pages[ index ].path, index ]]
|
||||
end
|
||||
|
||||
# http://stackoverflow.com/questions/3482814/sorting-list-of-string-paths-in-vb-net
|
||||
sorted_folders.sort! do |first,second|
|
||||
a = first[0]
|
||||
b = second[0]
|
||||
|
||||
# use :: operator because gollum defines its own conflicting File class
|
||||
dir_compare = ::File.dirname(a) <=> ::File.dirname(b)
|
||||
|
||||
# Sort based on directory name unless they're equal (0) in
|
||||
# which case sort based on file name.
|
||||
if dir_compare == 0
|
||||
::File.basename(a) <=> ::File.basename(b)
|
||||
else
|
||||
dir_compare
|
||||
end
|
||||
end
|
||||
|
||||
# Process first folder
|
||||
page = @pages[ sorted_folders[ 0 ][1] ]
|
||||
html += new_folder page
|
||||
|
||||
last_folder = ::File.dirname page.path # define last_folder
|
||||
|
||||
# keep track of folder depth, 0 = at root.
|
||||
depth = 0
|
||||
|
||||
# process rest of folders
|
||||
1.upto(sorted_folders.size - 1) do | index |
|
||||
page = @pages[ sorted_folders[ index ][1] ]
|
||||
path = page.path
|
||||
folder = ::File.dirname path
|
||||
|
||||
if last_folder == folder
|
||||
# same folder
|
||||
html += new_page page
|
||||
elsif folder.include?('/')
|
||||
# check if we're going up or down a depth level
|
||||
if last_folder.scan('/').size > folder.scan('/').size
|
||||
# end tag for 1 subfolder & 1 parent folder
|
||||
# so emit 2 end tags
|
||||
2.times { html += end_folder; }
|
||||
depth -= 1
|
||||
else
|
||||
depth += 1
|
||||
end
|
||||
|
||||
# subfolder
|
||||
html += new_sub_folder ::File.dirname(page.path).split('/').last, page.name
|
||||
else
|
||||
# depth+1 because we need an additional end_folder
|
||||
(depth+1).times { html += end_folder; }
|
||||
depth = 0
|
||||
# New root folder
|
||||
html += new_folder page
|
||||
end
|
||||
|
||||
last_folder = folder
|
||||
end
|
||||
|
||||
# Process last folder's ending tags.
|
||||
(depth+1).times {
|
||||
depth.times { html += end_folder; }
|
||||
depth = 0
|
||||
}
|
||||
|
||||
# return the completed html
|
||||
enclose_tree html
|
||||
end # end render_files
|
||||
end # end FileView class
|
||||
end # end Gollum module
|
||||
@@ -200,6 +200,17 @@ module Precious
|
||||
mustache :pages
|
||||
end
|
||||
|
||||
get '/fileview' do
|
||||
wiki = Gollum::Wiki.new(settings.gollum_path, settings.wiki_options)
|
||||
@results = Gollum::FileView.new(wiki.pages).render_files
|
||||
File.open('/tmp/log.txt', 'w') {|f|
|
||||
f.puts "log!"
|
||||
f.puts @results
|
||||
}
|
||||
@ref = wiki.ref
|
||||
mustache :file_view
|
||||
end
|
||||
|
||||
get '/*' do
|
||||
show_page_or_file(params[:splat].first)
|
||||
end
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
/* Just some base styles not needed for example to function */
|
||||
*, html { font-family: Verdana, Arial, Helvetica, sans-serif; }
|
||||
|
||||
|
||||
#results a:hover {
|
||||
background-color: #4c4c4c;
|
||||
}
|
||||
|
||||
#home_button {
|
||||
position: absolute;
|
||||
top: 10px;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
#home_button .minibutton {
|
||||
/* controls size of home btn */
|
||||
font-size: 1em;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#results {
|
||||
position: absolute;
|
||||
top: 60px;
|
||||
left: 10px;
|
||||
}
|
||||
|
||||
|
||||
body, form, ul, li, p, h1, h2, h3, h4, h5
|
||||
{
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
body { background-color: #606061; color: #ffffff; margin: 0; }
|
||||
img { border: none; }
|
||||
p
|
||||
{
|
||||
font-size: 1em;
|
||||
margin: 0 0 1em 0;
|
||||
}
|
||||
|
||||
html { font-size: 100%; /* IE hack */ }
|
||||
body { font-size: 1em; /* Sets base font size to 16px */ }
|
||||
table { font-size: 100%; /* IE hack */ }
|
||||
input, select, textarea, th, td { font-size: 1em; }
|
||||
|
||||
/* CSS Tree menu styles */
|
||||
ol.tree
|
||||
{
|
||||
padding: 0 0 0 30px;
|
||||
width: 300px;
|
||||
}
|
||||
li
|
||||
{
|
||||
position: relative;
|
||||
margin-left: -15px;
|
||||
list-style: none;
|
||||
}
|
||||
li.file
|
||||
{
|
||||
margin-left: -1px !important;
|
||||
height: 1.5em;
|
||||
}
|
||||
li.file a
|
||||
{
|
||||
background: url(/images/fileview/document.png) 0 0 no-repeat;
|
||||
color: #fff;
|
||||
padding-left: 21px;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
li.file a[href *= '.pdf'] { background: url(/images/fileview/document.png) 0 0 no-repeat; }
|
||||
li.file a[href *= '.html'] { background: url(/images/fileview/document.png) 0 0 no-repeat; }
|
||||
li.file a[href $= '.css'] { background: url(/images/fileview/document.png) 0 0 no-repeat; }
|
||||
li.file a[href $= '.js'] { background: url(/images/fileview/document.png) 0 0 no-repeat; }
|
||||
li input
|
||||
{
|
||||
position: absolute;
|
||||
left: 0;
|
||||
margin-left: 0;
|
||||
opacity: 0;
|
||||
z-index: 2;
|
||||
cursor: pointer;
|
||||
height: 1em;
|
||||
width: 1em;
|
||||
top: 0;
|
||||
}
|
||||
li input + ol
|
||||
{
|
||||
background: url(/images/fileview/toggle-small-expand.png) 40px 0 no-repeat;
|
||||
margin: -1.188em 0 0 -44px; /* 15px */
|
||||
height: 1.5em;
|
||||
}
|
||||
li input + ol > li { display: none; margin-left: -14px !important; padding-left: 1px; }
|
||||
li label
|
||||
{
|
||||
background: url(/images/fileview/folder-horizontal.png) 15px 1px no-repeat;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
padding-left: 37px;
|
||||
}
|
||||
|
||||
li input:checked + ol
|
||||
{
|
||||
background: url(/images/fileview/toggle-small.png) 40px 5px no-repeat;
|
||||
margin: -1.5em 0 0 -44px; /* 20px */
|
||||
padding: 1.563em 0 0 80px;
|
||||
height: auto;
|
||||
}
|
||||
li input:checked + ol > li { display: block; margin: 0 0 0.125em; /* 2px */}
|
||||
li input:checked + ol > li:last-child { margin: 0 0 0.063em; /* 1px */ }
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 177 B |
Binary file not shown.
|
After Width: | Height: | Size: 271 B |
Binary file not shown.
|
After Width: | Height: | Size: 433 B |
Binary file not shown.
|
After Width: | Height: | Size: 462 B |
@@ -0,0 +1,33 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-type" content="text/html;charset=utf-8">
|
||||
<link rel="stylesheet" type="text/css" href="/css/_styles.css" media="all">
|
||||
<title>File View</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="home_button">
|
||||
<ul class="actions">
|
||||
<li class="minibutton">
|
||||
<a href="/" class="action-edit-page">Home</a>
|
||||
</li>
|
||||
<li class="minibutton" class="jaws">
|
||||
<a href="#" id="minibutton-new-page">New Page</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{#has_results}}
|
||||
<div id="results">
|
||||
{{{results}}}
|
||||
</div>
|
||||
{{/has_results}}
|
||||
|
||||
{{#no_results}}
|
||||
<p id="no-results">
|
||||
There are no pages in <strong>{{ref}}</strong>.
|
||||
</p>
|
||||
{{/no_results}}
|
||||
</body>
|
||||
</html>
|
||||
@@ -7,6 +7,8 @@
|
||||
</li>
|
||||
<li class="minibutton"><a href="/pages"
|
||||
class="action-all-pages">All Pages</a></li>
|
||||
<li class="minibutton"><a href="/fileview"
|
||||
class="action-all-pages">File View</a></li>
|
||||
<li class="minibutton" class="jaws">
|
||||
<a href="#" id="minibutton-new-page">New Page</a></li>
|
||||
{{#editable}}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
module Precious
|
||||
module Views
|
||||
class FileView < Layout
|
||||
attr_reader :results, :ref
|
||||
|
||||
def title
|
||||
"All pages in #{@ref}"
|
||||
end
|
||||
|
||||
def has_results
|
||||
!@results.empty?
|
||||
end
|
||||
|
||||
def no_results
|
||||
@results.empty?
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,50 @@
|
||||
The MIT License
|
||||
|
||||
Copyright (c) 2010 Ryan Seddon
|
||||
|
||||
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.
|
||||
|
||||
=============================================================================
|
||||
|
||||
BSD License
|
||||
|
||||
Copyright (c) 2010, Ryan Seddon
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
1. Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
3. Neither the name of the organization nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -0,0 +1,23 @@
|
||||
The following PNGs are based on Ubuntu 11.10 SVG files located in /usr/share/icons/unity-icon-theme/places/svg/
|
||||
- group-folders.svg
|
||||
- group-files.svg
|
||||
- group-downloads.svg
|
||||
|
||||
lib/gollum/frontend/public/css/document.png
|
||||
lib/gollum/frontend/public/css/folder-horizontal.png
|
||||
lib/gollum/frontend/public/css/toggle-small-expand.png
|
||||
lib/gollum/frontend/public/css/toggle-small.png
|
||||
|
||||
Creative Commons - Attribution Share Alike
|
||||
https://launchpad.net/unity-asset-pool
|
||||
http://packages.ubuntu.com/oneiric/all/unity-asset-pool/filelist
|
||||
https://bazaar.launchpad.net/~unity-team/unity-asset-pool/trunk/view/head:/COPYRIGHT
|
||||
|
||||
---
|
||||
|
||||
The css-tree-menu code is used under the MIT license.
|
||||
|
||||
http://www.thecssninja.com/css/css-tree-menu
|
||||
http://www.thecssninja.com/demo/license.txt
|
||||
|
||||
lib/gollum/frontend/public/css/_styles.css
|
||||
@@ -0,0 +1,286 @@
|
||||
This package was debianized by Kenneth Wimer <kwwii@ubuntu.com> on
|
||||
Fri, 12 Dec 2010 9:08:32 +0200.
|
||||
|
||||
Upstream Author:
|
||||
Michael Forrest <michael.forrest@canonical.com>
|
||||
Otto Greenslade <otto.greenslade@canonical.com>
|
||||
|
||||
Copyright:
|
||||
|
||||
(c) Canonical Ltd 2004- 2009
|
||||
|
||||
Unless otherwise indicated, artwork is available under the Creative
|
||||
Commons Attribution Share-alike license v3.0 or any later version. To
|
||||
view a copy of this license, visit
|
||||
http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to
|
||||
Creative Commons, 171 Second Street, Suite 300, San Francisco,
|
||||
California, 94105, USA. See below for the full text of the license.
|
||||
|
||||
Some Rights Reserved:
|
||||
|
||||
The rights in the trademarks, logos, service marks of Canonical Ltd,
|
||||
as well as the look and feel of Ubuntu, are not licensed under the
|
||||
Creative Commons license and are subject to the Canonical Trademark
|
||||
Policy at http://www.ubuntu.com/ubuntu/TrademarkPolicy
|
||||
|
||||
License:
|
||||
|
||||
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
|
||||
LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
|
||||
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
|
||||
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
|
||||
REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
|
||||
DAMAGES RESULTING FROM ITS USE.
|
||||
|
||||
License
|
||||
|
||||
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
|
||||
CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS
|
||||
PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE
|
||||
WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW
|
||||
IS PROHIBITED.
|
||||
|
||||
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
|
||||
AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS YOU
|
||||
THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH
|
||||
TERMS AND CONDITIONS.
|
||||
|
||||
1. Definitions
|
||||
|
||||
1. "Collective Work" means a work, such as a periodical issue,
|
||||
anthology or encyclopedia, in which the Work in its entirety in
|
||||
unmodified form, along with a number of other contributions,
|
||||
constituting separate and independent works in themselves, are
|
||||
assembled into a collective whole. A work that constitutes a
|
||||
Collective Work will not be considered a Derivative Work
|
||||
(as defined below) for the purposes of this License.
|
||||
2. "Derivative Work" means a work based upon the Work or upon the
|
||||
Work and other pre-existing works, such as a translation, musical
|
||||
arrangement, dramatization, fictionalization, motion picture
|
||||
version, sound recording, art reproduction, abridgment,
|
||||
condensation, or any other form in which the Work may be recast,
|
||||
transformed, or adapted, except that a work that constitutes a
|
||||
Collective Work will not be considered a Derivative Work for the
|
||||
purpose of this License. For the avoidance of doubt, where the Work
|
||||
is a musical composition or sound recording, the synchronization of
|
||||
the Work in timed-relation with a moving image ("synching") will be
|
||||
considered a Derivative Work for the purpose of this License.
|
||||
3. "Licensor" means the individual or entity that offers the Work
|
||||
under the terms of this License.
|
||||
4. "Original Author" means the individual or entity who created the
|
||||
Work.
|
||||
5. "Work" means the copyrightable work of authorship offered under
|
||||
the terms of this License.
|
||||
6. "You" means an individual or entity exercising rights under this
|
||||
License who has not previously violated the terms of this License
|
||||
with respect to the Work, or who has received express permission
|
||||
from the Licensor to exercise rights under this License despite a
|
||||
previous violation.
|
||||
7. "License Elements" means the following high-level license
|
||||
attributes as selected by Licensor and indicated in the title of
|
||||
this License: Attribution, ShareAlike.
|
||||
|
||||
2. Fair Use Rights. Nothing in this license is intended to reduce,
|
||||
limit, or restrict any rights arising from fair use, first sale or
|
||||
other limitations on the exclusive rights of the copyright owner under
|
||||
copyright law or other applicable laws.
|
||||
|
||||
3. License Grant. Subject to the terms and conditions of this License,
|
||||
Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
|
||||
perpetual (for the duration of the applicable copyright) license to
|
||||
exercise the rights in the Work as stated below:
|
||||
|
||||
1. to reproduce the Work, to incorporate the Work into one or more
|
||||
Collective Works, and to reproduce the Work as incorporated in the
|
||||
Collective Works;
|
||||
2. to create and reproduce Derivative Works;
|
||||
3. to distribute copies or phonorecords of, display publicly,
|
||||
perform publicly, and perform publicly by means of a digital audio
|
||||
transmission the Work including as incorporated in Collective Works;
|
||||
4. to distribute copies or phonorecords of, display publicly,
|
||||
perform publicly, and perform publicly by means of a digital audio
|
||||
transmission Derivative Works.
|
||||
5.
|
||||
|
||||
For the avoidance of doubt, where the work is a musical
|
||||
composition:
|
||||
1. Performance Royalties Under Blanket Licenses. Licensor
|
||||
waives the exclusive right to collect, whether individually
|
||||
or via a performance rights society (e.g. ASCAP, BMI, SESAC),
|
||||
royalties for the public performance or public digital
|
||||
performance (e.g. webcast) of the Work.
|
||||
2. Mechanical Rights and Statutory Royalties. Licensor waives
|
||||
the exclusive right to collect, whether individually or via a
|
||||
music rights society or designated agent (e.g. Harry Fox
|
||||
Agency), royalties for any phonorecord You create from the
|
||||
Work ("cover version") and distribute, subject to the
|
||||
compulsory license created by 17 USC Section 115 of the US
|
||||
Copyright Act (or the equivalent in other jurisdictions).
|
||||
6. Webcasting Rights and Statutory Royalties. For the avoidance of
|
||||
doubt, where the Work is a sound recording, Licensor waives the
|
||||
exclusive right to collect, whether individually or via a
|
||||
performance-rights society (e.g. SoundExchange), royalties for the
|
||||
public digital performance (e.g. webcast) of the Work, subject to
|
||||
the compulsory license created by 17 USC Section 114 of the US
|
||||
Copyright Act (or the equivalent in other jurisdictions).
|
||||
|
||||
The above rights may be exercised in all media and formats whether now
|
||||
known or hereafter devised. The above rights include the right to make
|
||||
such modifications as are technically necessary to exercise the rights
|
||||
in other media and formats. All rights not expressly granted by
|
||||
Licensor are hereby reserved.
|
||||
|
||||
4. Restrictions.The license granted in Section 3 above is expressly
|
||||
made subject to and limited by the following restrictions:
|
||||
|
||||
1. You may distribute, publicly display, publicly perform, or
|
||||
publicly digitally perform the Work only under the terms of this
|
||||
License, and You must include a copy of, or the Uniform Resource
|
||||
Identifier for, this License with every copy or phonorecord of the
|
||||
Work You distribute, publicly display, publicly perform, or publicly
|
||||
digitally perform. You may not offer or impose any terms on the Work
|
||||
that alter or restrict the terms of this License or the recipients'
|
||||
exercise of the rights granted hereunder. You may not sublicense the
|
||||
Work. You must keep intact all notices that refer to this License
|
||||
and to the disclaimer of warranties. You may not distribute,
|
||||
publicly display, publicly perform, or publicly digitally perform
|
||||
the Work with any technological measures that control access or use
|
||||
of the Work in a manner inconsistent with the terms of this License
|
||||
Agreement. The above applies to the Work as incorporated in a
|
||||
Collective Work, but this does not require the Collective Work apart
|
||||
from the Work itself to be made subject to the terms of this
|
||||
License. If You create a Collective Work, upon notice from any
|
||||
Licensor You must, to the extent practicable, remove from the
|
||||
Collective Work any credit as required by clause 4(c), as requested.
|
||||
If You create a Derivative Work, upon notice from any Licensor You
|
||||
must, to the extent practicable, remove from the Derivative Work
|
||||
any credit as required by clause 4(c), as requested.
|
||||
2. You may distribute, publicly display, publicly perform, or
|
||||
publicly digitally perform a Derivative Work only under the terms
|
||||
of this License, a later version of this License with the same
|
||||
License Elements as this License, or a Creative Commons iCommons
|
||||
license that contains the same License Elements as this License
|
||||
(e.g. Attribution-ShareAlike 2.5 Japan). You must include a copy of,
|
||||
or the Uniform Resource Identifier for, this License or other
|
||||
license specified in the previous sentence with every copy or
|
||||
phonorecord of each Derivative Work You distribute, publicly
|
||||
display, publicly perform, or publicly digitally perform. You may
|
||||
not offer or impose any terms on the Derivative Works that alter or
|
||||
restrict the terms of this License or the recipients' exercise of
|
||||
the rights granted hereunder, and You must keep intact all notices
|
||||
that refer to this License and to the disclaimer of warranties.
|
||||
You may not distribute, publicly display, publicly perform, or
|
||||
publicly digitally perform the Derivative Work with any
|
||||
technological measures that control access or use of the Work in a
|
||||
manner inconsistent with the terms of this License Agreement.
|
||||
The above applies to the Derivative Work as incorporated in a
|
||||
Collective Work, but this does not require the Collective Work
|
||||
apart from the Derivative Work itself to be made subject to the
|
||||
terms of this License.
|
||||
3. If you distribute, publicly display, publicly perform, or
|
||||
publicly digitally perform the Work or any Derivative Works or
|
||||
Collective Works, You must keep intact all copyright notices for
|
||||
the Work and provide, reasonable to the medium or means You are
|
||||
utilizing: (i) the name of the Original Author (or pseudonym, if
|
||||
applicable) if supplied, and/or (ii) if the Original Author and/or
|
||||
Licensor designate another party or parties (e.g. a sponsor
|
||||
institute, publishing entity, journal) for attribution in Licensor's
|
||||
copyright notice, terms of service or by other reasonable means, the
|
||||
name of such party or parties; the title of the Work if supplied; to
|
||||
the extent reasonably practicable, the Uniform Resource Identifier,
|
||||
if any, that Licensor specifies to be associated with the Work,
|
||||
unless such URI does not refer to the copyright notice or licensing
|
||||
information for the Work; and in the case of a Derivative Work, a
|
||||
credit identifying the use of the Work in the Derivative Work (e.g.,
|
||||
"French translation of the Work by Original Author," or "Screenplay
|
||||
based on original Work by Original Author"). Such credit may be
|
||||
implemented in any reasonable manner; provided, however, that in the
|
||||
case of a Derivative Work or Collective Work, at a minimum such
|
||||
credit will appear where any other comparable authorship credit
|
||||
appears and in a manner at least as prominent as such other
|
||||
comparable authorship credit.
|
||||
|
||||
5. Representations, Warranties and Disclaimer
|
||||
|
||||
UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS
|
||||
THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
|
||||
CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
|
||||
INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
|
||||
LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF
|
||||
ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW
|
||||
THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY
|
||||
TO YOU.
|
||||
|
||||
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
|
||||
LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
|
||||
ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
|
||||
ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR
|
||||
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
7. Termination
|
||||
|
||||
1. This License and the rights granted hereunder will terminate
|
||||
automatically upon any breach by You of the terms of this License.
|
||||
Individuals or entities who have received Derivative Works or
|
||||
Collective Works from You under this License, however, will not have
|
||||
their licenses terminated provided such individuals or entities
|
||||
remain in full compliance with those licenses. Sections 1, 2, 5, 6,
|
||||
7, and 8 will survive any termination of this License.
|
||||
2. Subject to the above terms and conditions, the license granted
|
||||
here is perpetual (for the duration of the applicable copyright in
|
||||
the Work). Notwithstanding the above, Licensor reserves the right to
|
||||
release the Work under different license terms or to stop
|
||||
distributing the Work at any time; provided, however that any such
|
||||
election will not serve to withdraw this License (or any other
|
||||
license that has been, or is required to be, granted under the terms
|
||||
of this License), and this License will continue in full force and
|
||||
effect unless terminated as stated above.
|
||||
|
||||
8. Miscellaneous
|
||||
|
||||
1. Each time You distribute or publicly digitally perform the Work
|
||||
or a Collective Work, the Licensor offers to the recipient a license
|
||||
to the Work on the same terms and conditions as the license granted
|
||||
to You under this License.
|
||||
2. Each time You distribute or publicly digitally perform a
|
||||
Derivative Work, Licensor offers to the recipient a license to the
|
||||
original Work on the same terms and conditions as the license
|
||||
granted to You under this License.
|
||||
3. If any provision of this License is invalid or unenforceable under
|
||||
applicable law, it shall not affect the validity or enforceability of
|
||||
the remainder of the terms of this License, and without further
|
||||
action by the parties to this agreement, such provision shall be
|
||||
reformed to the minimum extent necessary to make such provision
|
||||
valid and enforceable.
|
||||
4. No term or provision of this License shall be deemed waived and
|
||||
no breach consented to unless such waiver or consent shall be in
|
||||
writing and signed by the party to be charged with such waiver or
|
||||
consent.
|
||||
5. This License constitutes the entire agreement between the parties
|
||||
with respect to the Work licensed here. There are no understandings,
|
||||
agreements or representations with respect to the Work not specified
|
||||
here. Licensor shall not be bound by any additional provisions that
|
||||
may appear in any communication from You. This License may not be
|
||||
modified without the mutual written agreement of the Licensor and
|
||||
You.
|
||||
|
||||
Creative Commons is not a party to this License, and makes no warranty
|
||||
whatsoever in connection with the Work. Creative Commons will not be
|
||||
liable to You or any party on any legal theory for any damages
|
||||
whatsoever, including without limitation any general, special,
|
||||
incidental or consequential damages arising in connection to this
|
||||
license. Notwithstanding the foregoing two (2) sentences, if Creative
|
||||
Commons has expressly identified itself as the Licensor hereunder,
|
||||
it shall have all rights and obligations of Licensor.
|
||||
|
||||
Except for the limited purpose of indicating to the public that the
|
||||
Work is licensed under the CCPL, neither party will use the trademark
|
||||
"Creative Commons" or any related trademark or logo of Creative Commons
|
||||
without the prior written consent of Creative Commons. Any permitted
|
||||
use will be in compliance with Creative Commons' then-current trademark
|
||||
usage guidelines, as may be published on its website or otherwise made
|
||||
available upon request from time to time.
|
||||
|
||||
Creative Commons may be contacted at http://creativecommons.org/
|
||||
|
||||
Reference in New Issue
Block a user