Getting the project working again

Replace Twitter Bootstrap by Zurb Foundation
Used @import in SCSS instad of require_tree for proper order and use of variables like $debian_color
Moved old files out of the way (renamed them to xx*)
Welcome controller (/) works
Moved templates from ERB to SLIM format
Fixed database settings
Reduced routes to working ones
Tidied up Gemfile
Checked in experimental lab files

Tried to find a good description for this massive commit :)
This commit is contained in:
Christoph Haas 2014-11-16 18:26:03 +01:00
parent a7e05b2b78
commit 87f545414f
38 changed files with 3341 additions and 156 deletions

18
Gemfile
View file

@ -4,7 +4,7 @@ source 'https://rubygems.org'
gem 'rails', '4.0.0'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# gem 'sqlite3'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'
@ -16,7 +16,7 @@ gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'therubyracer', platforms: :ruby
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
@ -59,8 +59,12 @@ end
# Twitter Bootstrap template
#gem 'bootstrap-sass'
#gem 'anjlab-bootstrap-rails', '>= 3.0.0.0'
gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',
:github => 'anjlab/bootstrap-rails'
# gem 'anjlab-bootstrap-rails', :require => 'bootstrap-rails',
# :github => 'anjlab/bootstrap-rails'
# Zurb Foundation
gem 'foundation-rails'
# Pagination
# Hint: rails generate kaminari:views bootstrap
gem 'kaminari'
@ -74,8 +78,8 @@ gem 'fancybox2-rails', '~> 0.2.4'
# Trying pg_search for full-text search… too slow with ranking… screw PostgreSQL
#gem 'pg_search'
# Let's use Elasticsearch… meh, tire is no longer supported
# Let's use Elasticsearch. "tire" has been retired but there is not yet a worthy alternative.
#gem 'tire'
# ElasticSearch access
gem 'elasticsearch-ruby'
# Use SLIM as our templating language
gem 'slim-rails'

View file

@ -1,11 +1,3 @@
GIT
remote: git://github.com/anjlab/bootstrap-rails.git
revision: 3707d98b1f27bec87b1dd6de7129e3f52a72e413
specs:
anjlab-bootstrap-rails (3.0.2.0)
railties (>= 3.0)
sass (>= 3.2)
GEM
remote: https://rubygems.org/
specs:
@ -33,6 +25,7 @@ GEM
multi_json (~> 1.3)
thread_safe (~> 0.1)
tzinfo (~> 0.3.37)
ansi (1.4.3)
arel (4.0.1)
atomic (1.1.14)
better_errors (1.0.1)
@ -51,13 +44,14 @@ GEM
execjs
coffee-script-source (1.6.3)
debug_inspector (0.0.2)
elasticsearch-ruby (0.0.4)
activesupport (>= 3.0.0)
thrift
erubis (2.7.0)
execjs (2.0.2)
fancybox2-rails (0.2.5)
railties (>= 3.1.0)
foundation-rails (5.4.5.0)
railties (>= 3.1.0)
sass (>= 3.2.0)
hashr (0.0.22)
hike (1.2.3)
i18n (0.6.5)
jbuilder (1.5.2)
@ -70,7 +64,6 @@ GEM
kaminari (0.14.1)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
libv8 (3.16.14.3)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
@ -104,7 +97,8 @@ GEM
rake (10.1.0)
rdoc (3.12.2)
json (~> 1.4)
ref (1.0.5)
rest-client (1.6.7)
mime-types (>= 1.16)
sass (3.2.12)
sass-rails (4.0.1)
railties (>= 4.0.0, < 5.0)
@ -113,6 +107,14 @@ GEM
sdoc (0.3.20)
json (>= 1.1.3)
rdoc (~> 3.10)
slim (2.0.2)
temple (~> 0.6.6)
tilt (>= 1.3.3, < 2.1)
slim-rails (2.0.3)
actionpack (>= 3.0, < 4.1)
activesupport (>= 3.0, < 4.1)
railties (>= 3.0, < 4.1)
slim (~> 2.0)
sprockets (2.10.0)
hike (~> 1.2)
multi_json (~> 1.0)
@ -122,15 +124,19 @@ GEM
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (~> 2.8)
sqlite3 (1.3.8)
therubyracer (0.12.0)
libv8 (~> 3.16.14.0)
ref
temple (0.6.7)
thor (0.18.1)
thread_safe (0.1.3)
atomic
thrift (0.9.1)
tilt (1.4.1)
tire (0.6.1)
activemodel (>= 3.0)
activesupport
ansi
hashr (~> 0.0.19)
multi_json (~> 1.3)
rake
rest-client (~> 1.6)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
@ -143,12 +149,11 @@ PLATFORMS
ruby
DEPENDENCIES
anjlab-bootstrap-rails!
better_errors
binding_of_caller
coffee-rails (~> 4.0.0)
elasticsearch-ruby
fancybox2-rails (~> 0.2.4)
foundation-rails
jbuilder (~> 1.2)
jquery-rails
kaminari
@ -157,6 +162,6 @@ DEPENDENCIES
rails (= 4.0.0)
sass-rails (~> 4.0.0)
sdoc
sqlite3
therubyracer
slim-rails
tire
uglifier (>= 1.3.0)

View file

@ -12,6 +12,12 @@
//
//= require jquery
//= require jquery_ujs
//=require 'foundation/foundation.topbar'
//=require 'foundation/foundation.slider'
//= require fancybox
//= require twitter/bootstrap
//= require jquery.cycle2
//= require_tree .
$(function(){
$(document).foundation(); }
);

View file

@ -2,19 +2,19 @@
# All this logic will automatically be available in application.js.
# You can use CoffeeScript in this file: http://coffeescript.org/
jQuery ->
# Enable fancybox zoom for thumbnail images
$("a.fancybox").fancybox({
openEffect : 'elastic',
closeEffect : 'elastic',
helpers : {
title : {
type : 'inside'
}
}
})
# Submit the form if the user changes the view (grid or list)
$("input[name='search[display]']").change ->
$(this).parents('form').submit()
#jQuery ->
# # Enable fancybox zoom for thumbnail images
# $("a.fancybox").fancybox({
# openEffect : 'elastic',
# closeEffect : 'elastic',
#
# helpers : {
# title : {
# type : 'inside'
# }
# }
# })
#
# # Submit the form if the user changes the view (grid or list)
# $("input[name='search[display]']").change ->
# $(this).parents('form').submit()

View file

@ -9,8 +9,7 @@
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
*= require_tree .
*= require fancybox
*/
@import "twitter/bootstrap";
@import "foundation_and_overrides.scss";
@import "my.css.scss";

File diff suppressed because it is too large Load diff

View file

@ -1,78 +1,288 @@
div.thumbnail
// -------------- debshots ---------------------------
$page-background: #f2f2f2;
$footer-background: #333333;
$footer-text-color: #b3b3b3;
body
{
/*width: 200px;*/
height: 210px;
margin-bottom: 5px;
background-color: $page-background;
}
/* Package name in thumbnails view */
.thumbnail h3
#teaser
{
font-size: 18px;
// Leave some space between topbar and teaser on the home page
padding-top: 20px;
h1
{
// Larger "We have screenshots!" teaser title
font-weight: 700;
}
}
.top-bar .name
{
// Display the site name in a larger font
font-size: 26px;
padding: 8px 5px 3px 0;
color: #babdb6;
// Extra space around the Linux distribution's logo
img
{
padding: 0 5px;
}
}
header
{
// Draw a colored line below the navigation topbar
border-bottom: 5px solid $debian_color;
}
// ------- Footer - format as table cell to allow vertical centering
/*@import "compass/layout/sticky-footer";*/
/*@include sticky-footer(40px, "#wholepage");*/
html, body {
height: 100%;
}
// Wrapper that makes the page 100% high so the start page looks entirely filled
#wholepage
{
height: 100%;
}
#footer
{
background-color: $footer-background;
display: table;
width: 100%;
p
{
display: table-cell;
padding: 0 20px;
color: $footer-text-color;
vertical-align: middle;
text-align: center;
white-space: nowrap;
overflow: hidden;
margin-top: 8px;
margin-bottom: 5px;
font-size: 80%;
}
a
{
color: $footer-text-color;
font-weight: bolder;
}
}
/* Package description in thumbnails view */
.thumbnail p
// Leave some room after the topbar
#content
{
text-align: center;
padding-top: 5px;
}
/* Pagination is shown in top bar. Reduce margin to avoid making the nav bar larger. */
ul.pagination
{
margin: 8px 16px;
}
/* Make paginator a bit narrower to save space */
ul.pagination li a
{
padding-left: 6px;
padding-right: 6px;
}
/* Top bar is fixed. Move main part down so the bar does not hide it. */
.container-main
{
margin-top: 60px;
}
/* Waste less space above and below pagers */
.pager
{
margin: 10px 0;
}
/* Waste less space between/below the navbar and the main container */
.navbar
{
margin-bottom: 10px;
}
/* Make sure that the description of a package does not flow outside of the thumbnail box */
// Screenshot thumbnail image with name and description
.thumbnail
{
overflow: hidden;
padding-bottom: 10px;
text-align: center;
line-height: 120%;
.pkgname
{
font-weight: 700;
}
.pkgdescription
{
font-size: 80%;
}
}
.pkgdescr
// Vertical icon bar in package view
#sidebar
{
text-overflow: ellipsis;
text-align: center;
// Text over a group of icons
.caption
{
padding-bottom: 5px;
color: black;
}
// An icon
.item
{
padding-bottom: 10px;
}
// Leave space after the last icon in a group
.space
{
padding-bottom: 20px;
}
}
a.fancybox.thumbnail
// List view
.row .listview
{
border: none;
// Leave vertical space and draw a line between package rows
border-bottom: 2px solid #d0d0d0;
padding-bottom: 20px;
margin-bottom: 20px;
img.screenshot
{
width: 100%;
}
}
/* Disable resonsiveness in Twitter Bootstrap CSS */
.container
.row .gridview
{
width: 1200px !important;
img.screenshot
{
width: 100%;
}
}
.pkgname
{
font-size: 150%;
font-weight: 700;
padding-bottom: 5px;
}
.pkgdetails
{
.description
{
font-size: 150%;
color: #808080;
padding-bottom: 10px;
}
.longdescription
{
font-size: 90%;
line-height: 120%;
padding-bottom: 5px;
}
.rating
{
padding-top: 5px;
vertical-align: bottom;
}
.commentcount
{
padding-left: 20px;
}
}
.grid-thumbnail
{
height: 125px;
}
// Avoid painting links to detail packages in the primary color
a.black
{
color: black;
}
.gray
{
color: #808080;
}
.detailpage
{
h1
{
margin-bottom: 0;
}
.subtitle
{
font-size: 120%;
color: #808080;
}
.imgcaption
{
text-align: center;
}
.longdescription
{
background-color: white;
border-radius: 10px;
padding: 1em 1em 0.1em 1em;
}
.comment
{
font-size: 90%;
.summary
{
font-weight: 700;
}
.author
{
text-align: right;
color: #808080;
font-style: italic;
}
}
form.comment
{
border: 2px solid #a0a0a0;
background-color: white;
border-radius: 10px;
padding: 10px;
margin-bottom: 10px;
.summary input,textarea
{
margin-bottom: 0;
}
// Hide most elements in a comment input form.
// They get shown once the summary field is typed into.
.content,.author,.submit
{
display: none;
}
}
}
.ratingbar
{
background-color: $progress-bar-color;
width: 10em;
display: inline-block;
padding: 2px;
text-align: left;
color: white;
text-transform: uppercase;
font-size: 0.8rem;
font-weight: bolder;
.meter
{
background-color: $primary-color;
padding: 2px;
padding-left: 0.4rem;
text-shadow: 0 0 2px black;
}
}

View file

@ -0,0 +1,78 @@
div.thumbnail
{
/*width: 200px;*/
height: 210px;
margin-bottom: 5px;
}
/* Package name in thumbnails view */
.thumbnail h3
{
font-size: 18px;
text-align: center;
white-space: nowrap;
overflow: hidden;
margin-top: 8px;
margin-bottom: 5px;
}
/* Package description in thumbnails view */
.thumbnail p
{
text-align: center;
}
/* Pagination is shown in top bar. Reduce margin to avoid making the nav bar larger. */
ul.pagination
{
margin: 8px 16px;
}
/* Make paginator a bit narrower to save space */
ul.pagination li a
{
padding-left: 6px;
padding-right: 6px;
}
/* Top bar is fixed. Move main part down so the bar does not hide it. */
.container-main
{
margin-top: 60px;
}
/* Waste less space above and below pagers */
.pager
{
margin: 10px 0;
}
/* Waste less space between/below the navbar and the main container */
.navbar
{
margin-bottom: 10px;
}
/* Make sure that the description of a package does not flow outside of the thumbnail box */
.thumbnail
{
overflow: hidden;
}
.pkgdescr
{
text-overflow: ellipsis;
}
a.fancybox.thumbnail
{
border: none;
}
/* Disable resonsiveness in Twitter Bootstrap CSS */
.container
{
width: 1200px !important;
}

View file

@ -15,6 +15,10 @@ class PackagesController < ApplicationController
@packages = @packages.page(params[:page]).per(12)
end
def details
@package = Package.find_by(name: params[:name])
end
def with_screenshots
end

View file

@ -1,4 +1,14 @@
class WelcomeController < ApplicationController
def index
def home
# TODO: show count depending on virtual host
#@package_count = cache_or_set("debian_pkgcount", :expires => 10 * 60) do
Package.count
#end
# TODO: Use the package with the actual newest uploaded screenshot
@newest_uploaded_package = Package.with_screenshots.first
# TODO: Use the actually most popular package and not just a random one
@most_popular_package = Package.with_screenshots.first
end
end

View file

@ -5,22 +5,38 @@ class Package < ActiveRecord::Base
order('name ASC')
}
# Use PostgreSQL's full-text search capability for the user search
def self.text_search(query)
if query.present?
# Add a rank column to each result
rank = <<-RANK
ts_rank(to_tsvector(packages.name), plainto_tsquery(#{sanitize(query)}))
+
ts_rank(to_tsvector(packages.description), plainto_tsquery(#{sanitize(query)}))
RANK
# Do the full-text search and return results by rank
where("to_tsvector('english', packages.name) @@ plainto_tsquery(:q) or
to_tsvector('english', packages.description) @@ plainto_tsquery(:q)
", q: query).order("#{rank} desc")
else
all
end
# Return a query of all packages that have screenshots
def self.with_screenshots
# Query for all packages who's ID appears in a screenshot's "package_id" field
subselect = Screenshot.select(:package_id)
where(id: subselect )
end
# Return a query of all packages that have screenshots
def self.without_screenshots
# Query for all packages who's ID does not appear in a screenshot's "package_id" field
subselect = Screenshot.select(:package_id)
where.not(id: subselect)
end
# Use PostgreSQL's full-text search capability for the user search
# TODO: check if pgSearch does this job for us
#def self.text_search(query)
# if query.present?
# # Add a rank column to each result
# rank = <<-RANK
# ts_rank(to_tsvector(packages.name), plainto_tsquery(#{sanitize(query)}))
# +
# ts_rank(to_tsvector(packages.description), plainto_tsquery(#{sanitize(query)}))
# RANK
#
# # Do the full-text search and return results by rank
# where("to_tsvector('english', packages.name) @@ plainto_tsquery(:q) or
# to_tsvector('english', packages.description) @@ plainto_tsquery(:q)
# ", q: query).order("#{rank} desc")
# else
# all
# end
#end
end

View file

@ -8,4 +8,27 @@ class Screenshot < ActiveRecord::Base
def image_url(size)
"#{Rails.configuration.images_path_prefix}/#{self.package.name[0]}/#{self.package.name}/#{self.id}_#{size}.png"
end
## Get the URL leading to a screenshot of this package
#def url(size)
# if self.approved
# # TODO: Make the path configurable
# basepath = "/screenshots/approved/"
# else
# basepath = "/screenshots/unapproved/"
# end
#
# File.join(basepath, self.package.name[0], self.package.name, "#{self.id}_#{size}.png")
#end
#
## Return caption for full-screen screenshots.
## Takes the description of a screenshot if available.
## Otherwise it falls back to the general description of its package.
#def caption
# if self.description != ''
# self.description
# else
# self.package.description
# end
#end
end

View file

@ -0,0 +1,13 @@
#footer
p
//| DEBUG RESPONSIVE:
//strong.show-for-small-only Small
//strong.show-for-medium-only Medium
//strong.show-for-large-only Large
//strong.show-for-xlarge-only X-Large
//strong.show-for-xxlarge-up XX-Large
// TODO: show feedback form in a modal and send the context (URL, user) along with email
' This site is operated by Christoph Haas and his debshots web application. Want to leave
a href="mailto:email@christoph-haas.de" feedback?
' | Kindly hosted by
a href="http://vexxhost.com/" VEXXHOST

View file

@ -0,0 +1,40 @@
header
div.contain-to-grid
nav.top-bar data-topbar=true role="navigation"
ul.title-area
// TODO: Make the logo depend on the virtual host
li.name
img src="/images/logos/debian.svg" width="35" alt="Debian logo"
// TODO: Use proper distribution name
'Debian Screenshots >
// Not enough space for the search… where do we put it?
//li.item
// = form_tag( url(:package, :index), :method=>'get')
// = search_field_tag :search, :placeholder=>'Search…', :autofocus=>true
li.toggle-topbar.menu-icon
a href="#"
span Menu
section.top-bar-section
ul.right
li class=('active' if controller_name=='welcome')
a href="/" Home
li class=('active' if controller_name=='package')
a href="/packages" Explore
li class=('active' if controller_name=='upload')
a href="/upload" Contribute
li.has-dropdown
a href="#" Distributions
ul.dropdown
// TODO: Use proper distribution list
li
a href="#" Debian
li
a href="#" Ubuntu
li class=('active' if controller_name=='about')
a href="/about" About
li.divider
// TODO: Show link for admin/moderation view if admin is logged in
li.has-form
// TODO: Show "My" when the user is logged in
a.button href="/profile" Login

View file

@ -1,15 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Debshots</title>
<%= stylesheet_link_tag "application", media: "all" %>
<%= javascript_include_tag "application", "data-turbolinks-track" => false %>
<meta charset='utf-8' />
<%= csrf_meta_tags %>
</head>
<body>
<%= yield %>
</body>
</html>

View file

@ -0,0 +1,56 @@
doctype html
html
head
title screenshots.debian.net
/ TODO: make title reflect the virtual host (e.g. Debian)
meta charset="utf-8"
meta name="keywords" content="debian screenshots packages applications linux"
meta name="viewport" content="width=device-width, initial-scale=1.0"
/ TODO: make the keywords reflect the virtual host (e.g. Debian)
= stylesheet_link_tag "application", media: "all"
= javascript_include_tag "vendor/modernizr"
= stylesheet_link_tag "jquery-fancybox/jquery.fancybox", media: "all"
= stylesheet_link_tag "jquery.raty", media: "all"
= javascript_include_tag 'jquery'
/ = javascript_include_tag 'jquery.raty'
= csrf_meta_tags
body
// TODO: move topbar somewhere else than packages
#wholepage
= render 'layouts/topbar'
#content
= yield
= render 'layouts/footer'
= javascript_include_tag "application"
// Load Javascript libraries
// Initialize Zurb Foundation
javascript:
//$(document).foundation();
$('.fancybox').fancybox({nextEffect: "none", prevEffect: "none"});
// See http://wbotelhos.com/raty
//$('.star-rating').raty({
// score: 3,
// cancelOff: '/images/raty/cancel-off.png',
// cancelOn: '/images/raty/cancel-on.png',
// starHalf: '/images/raty/star-half.png',
// starOff: '/images/raty/star-off.png',
// starOn: '/images/raty/star-on.png',
// half: true
//});
//
//$('.star-rating-readonly').raty({
// score: 3,
// cancelOff: '/images/raty/cancel-off.png',
// cancelOn: '/images/raty/cancel-on.png',
// starHalf: '/images/raty/star-half.png',
// starOff: '/images/raty/star-off.png',
// starOn: '/images/raty/star-on.png',
// readOnly: true,
// halfShow: true,
// score: function() { return $(this).attr('data-score'); }
//});

View file

@ -0,0 +1,61 @@
#teaser.row
div.large-4.medium-4.small-3.columns
#biglogo
// TODO: make the logo depending on the virtual host
img src="/images/logos/debian.svg" width="400" alt="Debian logo"
div.large-8.medium-8.small-9.columns
h1 We have screenshots!
p
' Have you ever wondered how a certain piece of software looks
' and works before spending time installing it?
p
' This website lets you browse screenshots of
=> number_with_delimiter(@package_count)
' software packages coming with
' Debian and other Linux distributions. And of course you are encouraged to upload
' your own screenshots for others to explore.
p
= form_tag(packages_path, method: 'GET')
div.row.collapse.postfix-round
div.small-9.columns
input type="text" name="search" placeholder="Looking for a special software?" autofocus="true"
div.small-3.columns
input.button.postfix type="submit" value="Search"
div.row
hr
div.row
div.large-4.medium-12.small-12.columns.text-center
h2 Newest upload
// TODO: load actual newest upload and cache it
// TODO: link to the package page
a.black href=package_path(@newest_uploaded_package.name)
img src=@newest_uploaded_package.screenshots[0].image_url('large')
p
strong
=@newest_uploaded_package.name
' :
'
=@newest_uploaded_package.description
div.large-4.medium-12.small-12.columns.text-center
h2 Most popular
// TODO: load actual most popular package and highest-rated screenshot and cache it
// TODO: link to the package page
a.black href=package_path(@most_popular_package.name)
img src=@most_popular_package.screenshots[0].image_url('large')
p
strong
=@most_popular_package.name
' :
'
=@most_popular_package.description
div.large-4.medium-12.small-12.columns.text-center
h2 Your help needed
// TODO: load actual most popular package without a screenshot and cache it
a href=upload_package_path('firefox')
img src="/images/dummy/no-screenshots-upload-one.svg" width="80%"
p
' We lack a screenshot for the Firefox package. Can you
a href=upload_package_path('firefox') provide one
' ?

View file

@ -18,13 +18,19 @@ development:
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: sqlite3
database: db/test.sqlite3
adapter: postgresql
database: debshots
username: debshots
password: shootme
host: torf
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
adapter: postgresql
database: debshots
username: debshots
password: shootme
host: torf
pool: 5
timeout: 5000

View file

@ -20,7 +20,8 @@ Debshots::Application.configure do
# config.action_dispatch.rack_cache = true
# Disable Rails's static asset server (Apache or nginx will already do this).
config.serve_static_assets = false
# config.serve_static_assets = false
config.serve_static_assets = true
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
@ -43,7 +44,8 @@ Debshots::Application.configure do
# config.force_ssl = true
# Set to :debug to see everything in the log.
config.log_level = :info
# config.log_level = :info
config.log_level = :warn
# Prepend all log lines with the following tags.
# config.log_tags = [ :subdomain, :uuid ]
@ -60,6 +62,7 @@ Debshots::Application.configure do
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# config.assets.precompile += %w( search.js )
config.assets.precompile += %w( vendor/modernizr.js )
# Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
@ -77,4 +80,7 @@ Debshots::Application.configure do
# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new
# URL prefix leading to the static images that should get delivered by the web server
config.images_path_prefix = '/screenshots'
end

View file

@ -0,0 +1,32 @@
Debshots::Application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false
# Do not eager load code on boot.
config.eager_load = false
# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false
# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false
# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log
# Raise an error on page load if there are pending migrations
config.active_record.migration_error = :page_load
# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true
# URL prefix leading to the static images that should get delivered by the web server
config.images_path_prefix = '/screenshots'
end

View file

@ -33,4 +33,7 @@ Debshots::Application.configure do
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr
# URL prefix leading to the static images that should get delivered by the web server
config.images_path_prefix = '/screenshots'
end

View file

@ -1,21 +1,26 @@
Debshots::Application.routes.draw do
#get "packages/index"
#get "packages" => "packages#index"
#get "packages/:page/:display" => "packages#index"
get 'packages' => 'packages#index', defaults: { display: 'grid' }, as: :package_list
#get "packages/list" => "packages#index", display: 'list', as: :package_list
get 'packages' => 'packages#index', display: 'grid', as: :package_grid
#get "packages(/:display)", to: "packages#index", defaults: { display: 'grid' }
get 'packages/with_screenshots'
get 'packages/without_screenshots'
get 'packages/moderate'
get 'welcome/index'
##get "packages/index"
##get "packages" => "packages#index"
##get "packages/:page/:display" => "packages#index"
#get 'packages' => 'packages#index', defaults: { display: 'grid' }, as: :package_list
##get "packages/list" => "packages#index", display: 'list', as: :package_list
#get 'packages' => 'packages#index', display: 'grid', as: :package_grid
##get "packages(/:display)", to: "packages#index", defaults: { display: 'grid' }
#get 'packages/with_screenshots'
#get 'packages/without_screenshots'
#get 'packages/moderate'
#get 'welcome/index'
get 'packages' => 'packages#index'
get 'package/:name' => 'packages#details', as: :package
get 'upload/:packagename' => 'packages#upload', as: :upload_package
# The priority is based upon order of creation: first created -> highest priority.
# See how all your routes lay out with "rake routes".
# You can have the root of your site routed with "root"
# root 'welcome#index'
root to: 'packages#index'
root 'welcome#home'
#root to: 'packages#home'
# Example of regular route:
# get 'products/:id' => 'catalog#view'

View file

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35.6875"
height="35.65625"
id="svg4626"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Neues Dokument 29">
<defs
id="defs4628" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="17.84374"
inkscape:cy="17.825327"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="682"
inkscape:window-height="464"
inkscape:window-x="932"
inkscape:window-y="415"
inkscape:window-maximized="0" />
<metadata
id="metadata4631">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-332.15625,-514.53125)">
<rect
ry="6.0037479"
style="fill:#ffffff;fill-opacity:1;stroke:#888a85;stroke-width:1.1509434;stroke-miterlimit:4;stroke-dasharray:none;display:inline"
y="515.09802"
x="332.73584"
height="34.528301"
width="34.528301"
id="rect4340"
rx="6.0037479" />
<text
xml:space="preserve"
style="font-size:34.30587006px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#888a85;fill-opacity:1;stroke:none;display:inline;font-family:OpenSans;-inkscape-font-specification:OpenSans"
x="313.56113"
y="594.98901"
id="text4908"
sodipodi:linespacing="125%"
transform="scale(1.0931631,0.91477658)"><tspan
sodipodi:role="line"
id="tspan4910"
x="313.56113"
y="594.98901"
style="font-weight:bold;fill:#888a85;font-family:DejaVu Serif;-inkscape-font-specification:DejaVu Serif Bold">i</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35.65625"
height="35.6875"
id="svg4274"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Neues Dokument 11">
<defs
id="defs4276" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="45.798124"
inkscape:cy="12.374154"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1018"
inkscape:window-height="806"
inkscape:window-x="938"
inkscape:window-y="455"
inkscape:window-maximized="0" />
<metadata
id="metadata4279">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-425.03125,-265.9375)">
<rect
ry="7.0043597"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#888a85;stroke-width:1.1509434;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
y="266.52661"
x="425.59299"
height="34.528301"
width="34.528301"
id="rect4224"
rx="7.0043597" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4244"
width="5.7547169"
height="5.7547169"
x="431.34769"
y="272.28131" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4246"
width="5.7547169"
height="5.7547169"
x="431.34769"
y="280.91339" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4248"
width="5.7547169"
height="5.7547169"
x="431.34769"
y="289.54547" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4250"
width="5.7547169"
height="5.7547169"
x="439.97977"
y="272.28131" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4252"
width="5.7547169"
height="5.7547169"
x="439.97977"
y="280.91339" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4254"
width="5.7547169"
height="5.7547169"
x="439.97977"
y="289.54547" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4256"
width="5.7547169"
height="5.7547169"
x="448.61185"
y="272.28131" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4258"
width="5.7547169"
height="5.7547169"
x="448.61185"
y="280.91339" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4260"
width="5.7547169"
height="5.7547169"
x="448.61185"
y="289.54547" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5 KiB

View file

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="37.5"
height="37.53125"
id="svg4346"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Neues Dokument 14">
<defs
id="defs4348" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6"
inkscape:cx="20.670908"
inkscape:cy="16.354455"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="682"
inkscape:window-height="464"
inkscape:window-x="938"
inkscape:window-y="455"
inkscape:window-maximized="0" />
<metadata
id="metadata4351">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-331.25,-513.59375)">
<rect
ry="7.0043597"
style="fill:#ffffff;fill-opacity:1;stroke:#cc0000;stroke-width:3;stroke-miterlimit:4;stroke-dasharray:none;display:inline"
y="515.09802"
x="332.73584"
height="34.528301"
width="34.528301"
id="rect4224"
rx="7.0043597" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4244"
width="5.7547169"
height="5.7547169"
x="338.49054"
y="520.85272" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4246"
width="5.7547169"
height="5.7547169"
x="338.49054"
y="529.4848" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4248"
width="5.7547169"
height="5.7547169"
x="338.49054"
y="538.11688" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4250"
width="5.7547169"
height="5.7547169"
x="347.12262"
y="520.85272" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4252"
width="5.7547169"
height="5.7547169"
x="347.12262"
y="529.4848" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4254"
width="5.7547169"
height="5.7547169"
x="347.12262"
y="538.11688" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4256"
width="5.7547169"
height="5.7547169"
x="355.7547"
y="520.85272" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4258"
width="5.7547169"
height="5.7547169"
x="355.7547"
y="529.4848" />
<rect
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect4260"
width="5.7547169"
height="5.7547169"
x="355.7547"
y="538.11688" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35.6875"
height="35.65625"
id="svg4426"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Neues Dokument 18">
<defs
id="defs4428" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="41.255529"
inkscape:cy="30.82684"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="682"
inkscape:window-height="464"
inkscape:window-x="935"
inkscape:window-y="462"
inkscape:window-maximized="0" />
<metadata
id="metadata4431">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-332.15625,-514.53125)">
<rect
rx="6.0037479"
id="rect4262"
width="34.528301"
height="34.528301"
x="332.73584"
y="515.09802"
style="fill:#ffffff;fill-opacity:1;stroke:#888a85;stroke-width:1.1509434;stroke-miterlimit:4;stroke-dasharray:none;display:inline"
ry="6.0037479" />
<rect
y="520.85272"
x="338.49054"
height="5.7547169"
width="23.221563"
id="rect4264"
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
y="529.4848"
x="338.49054"
height="5.7547169"
width="23.221563"
id="rect4266"
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
y="538.11688"
x="338.49054"
height="5.7547169"
width="23.221563"
id="rect4268"
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="37.528301"
height="37.528301"
id="svg4426"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="list0.svg">
<defs
id="defs4428" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="16.922125"
inkscape:cy="14.845608"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="682"
inkscape:window-height="464"
inkscape:window-x="1798"
inkscape:window-y="610"
inkscape:window-maximized="0" />
<metadata
id="metadata4431">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-331.23584,-513.59802)">
<rect
rx="6.0037479"
id="rect4262"
width="34.528301"
height="34.528301"
x="332.73584"
y="515.09802"
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#cc0000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
ry="6.0037479" />
<rect
y="520.85272"
x="338.49054"
height="5.7547169"
width="23.221563"
id="rect4264"
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
y="529.4848"
x="338.49054"
height="5.7547169"
width="23.221563"
id="rect4266"
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
<rect
y="538.11688"
x="338.49054"
height="5.7547169"
width="23.221563"
id="rect4268"
style="color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35.65625"
height="35.6875"
id="svg3219"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="show-any0.svg">
<defs
id="defs3221" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="20.878555"
inkscape:cy="14.408961"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1211"
inkscape:window-height="769"
inkscape:window-x="1145"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false">
<inkscape:grid
type="xygrid"
id="grid3758" />
</sodipodi:namedview>
<metadata
id="metadata3224">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-299.3125,-591.65625)">
<rect
ry="6.0037479"
style="fill:none;fill-opacity:1;stroke:#888a85;stroke-width:1.15094340000000006;stroke-miterlimit:4;stroke-dasharray:none;display:inline;stroke-opacity:1"
y="592.24091"
x="299.87869"
height="34.528301"
width="34.528301"
id="rect4025"
rx="6.0037479" />
<text
sodipodi:linespacing="87%"
id="text4033"
y="613.11267"
x="316.75534"
style="font-size:13.07201481px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:87.00000048%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#888a85;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
y="613.11267"
x="316.75534"
sodipodi:role="line"
id="tspan3802">any</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="37.528301"
height="37.528301"
id="svg3219"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="show-any1.svg">
<defs
id="defs3221" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="-16.890547"
inkscape:cy="14.427319"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1211"
inkscape:window-height="769"
inkscape:window-x="1145"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false">
<inkscape:grid
type="xygrid"
id="grid3758"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="0.93380737px"
originy="0.925457px" />
</sodipodi:namedview>
<metadata
id="metadata3224">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-298.37869,-590.74091)">
<rect
ry="6.0037479"
style="fill:none;stroke:#cc0000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
y="592.24091"
x="299.87869"
height="34.528301"
width="34.528301"
id="rect4025"
rx="6.0037479" />
<text
sodipodi:linespacing="87%"
id="text4033"
y="613.11267"
x="316.75534"
style="font-size:13.07201481px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:87.00000048%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#888a85;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
y="613.11267"
x="316.75534"
sodipodi:role="line"
id="tspan3802">any</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35.65625"
height="35.6875"
id="svg3219"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="show-with0.svg">
<defs
id="defs3221" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="8.3303456"
inkscape:cy="16.979077"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1211"
inkscape:window-height="769"
inkscape:window-x="1145"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false">
<inkscape:grid
type="xygrid"
id="grid3758" />
</sodipodi:namedview>
<metadata
id="metadata3224">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-299.3125,-591.65625)">
<rect
ry="6.0037479"
style="fill:none;fill-opacity:1;stroke:#888a85;stroke-width:1.15094340000000006;stroke-miterlimit:4;stroke-dasharray:none;display:inline;stroke-opacity:1"
y="592.24091"
x="299.87869"
height="34.528301"
width="34.528301"
id="rect4025"
rx="6.0037479" />
<text
sodipodi:linespacing="125%"
id="text4033"
y="613.86859"
x="304.23502"
style="font-size:13.07201481px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#888a85;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
y="613.86859"
x="304.23502"
id="tspan4035"
sodipodi:role="line">with</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="37.528301"
height="37.528301"
id="svg3219"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="show-with1.svg">
<defs
id="defs3221" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="-16.890547"
inkscape:cy="14.427319"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1211"
inkscape:window-height="769"
inkscape:window-x="1145"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false">
<inkscape:grid
type="xygrid"
id="grid3758"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="0.93380737px"
originy="0.925457px" />
</sodipodi:namedview>
<metadata
id="metadata3224">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-298.37869,-590.74091)">
<rect
ry="6.0037479"
style="fill:none;stroke:#cc0000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
y="592.24091"
x="299.87869"
height="34.528301"
width="34.528301"
id="rect4025"
rx="6.0037479" />
<text
sodipodi:linespacing="125%"
id="text4033"
y="613.86859"
x="304.23502"
style="font-size:13.07201481px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#888a85;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
y="613.86859"
x="304.23502"
id="tspan4035"
sodipodi:role="line">with</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35.65625"
height="35.6875"
id="svg3219"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="show-without0.svg">
<defs
id="defs3221" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="-18.126721"
inkscape:cy="13.501862"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1211"
inkscape:window-height="769"
inkscape:window-x="1145"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false">
<inkscape:grid
type="xygrid"
id="grid3758" />
</sodipodi:namedview>
<metadata
id="metadata3224">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-299.3125,-591.65625)">
<rect
ry="6.0037479"
style="fill:none;fill-opacity:1;stroke:#888a85;stroke-width:1.15094340000000006;stroke-miterlimit:4;stroke-dasharray:none;display:inline;stroke-opacity:1"
y="592.24091"
x="299.87869"
height="34.528301"
width="34.528301"
id="rect4025"
rx="6.0037479" />
<text
sodipodi:linespacing="87%"
id="text4033"
y="609.11267"
x="316.75534"
style="font-size:13.07201481px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:87.00000048%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#888a85;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
y="609.11267"
x="316.75534"
id="tspan4035"
sodipodi:role="line">with</tspan><tspan
y="620.48535"
x="316.75534"
sodipodi:role="line"
id="tspan3802">out</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.9 KiB

View file

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="37.528301"
height="37.528301"
id="svg3219"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="show-without1.svg">
<defs
id="defs3221" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="-16.890547"
inkscape:cy="14.427319"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1211"
inkscape:window-height="769"
inkscape:window-x="1145"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:snap-grids="false"
inkscape:snap-to-guides="false">
<inkscape:grid
type="xygrid"
id="grid3758"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
originx="0.93380737px"
originy="0.925457px" />
</sodipodi:namedview>
<metadata
id="metadata3224">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-298.37869,-590.74091)">
<rect
ry="6.0037479"
style="fill:none;stroke:#cc0000;stroke-width:3;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
y="592.24091"
x="299.87869"
height="34.528301"
width="34.528301"
id="rect4025"
rx="6.0037479" />
<text
sodipodi:linespacing="87%"
id="text4033"
y="609.11267"
x="316.75534"
style="font-size:13.07201481px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:87.00000048%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#888a85;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
xml:space="preserve"><tspan
y="609.11267"
x="316.75534"
id="tspan4035"
sodipodi:role="line">with</tspan><tspan
y="620.48535"
x="316.75534"
sodipodi:role="line"
id="tspan3802">out</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="35.65625"
height="35.65625"
id="svg4529"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Neues Dokument 23">
<defs
id="defs4531" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="6.6144898"
inkscape:cx="17.825888"
inkscape:cy="17.825327"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="682"
inkscape:window-height="464"
inkscape:window-x="938"
inkscape:window-y="455"
inkscape:window-maximized="0" />
<metadata
id="metadata4534">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-465.03125,-494.53125)">
<rect
rx="6.0037479"
id="rect4443"
width="34.528301"
height="34.528301"
x="465.59299"
y="495.09802"
style="fill:#ffffff;fill-opacity:1;stroke:#888a85;stroke-width:1.1509434;stroke-miterlimit:4;stroke-dasharray:none;display:inline"
ry="6.0037479" />
<path
style="fill:#888a85;stroke:none;display:inline"
d="m 483.50415,525.62391 2.63483,-9.83331 8.07204,2.16289 -8.15587,-17.99429 -16.06029,11.50559 8.07206,2.16291 -2.63483,9.8333 c -11.16869,-2.99264 5.89895,1.58062 8.07206,2.16291 z"
id="path4906"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB