diff --git a/inventory/group_vars/paste b/inventory/group_vars/paste index 3d8f2c30da..2d17ea62bc 100644 --- a/inventory/group_vars/paste +++ b/inventory/group_vars/paste @@ -1,2 +1,14 @@ --- +# Define resources for this group of hosts here. +lvm_size: 20000 +mem_size: 2048 +num_cpus: 2 + +# for systems that do not match the above - specify the same parameter in +# the host_vars/$hostname file + +tcp_ports: [ 80, 443, 8888 ] + +fas_client_groups: sysadmin-noc,sysadmin-paste,fi-apprentice +# This host doesn't freeze freezes: false diff --git a/inventory/group_vars/paste-stg b/inventory/group_vars/paste-stg new file mode 100644 index 0000000000..2d17ea62bc --- /dev/null +++ b/inventory/group_vars/paste-stg @@ -0,0 +1,14 @@ +--- +# Define resources for this group of hosts here. +lvm_size: 20000 +mem_size: 2048 +num_cpus: 2 + +# for systems that do not match the above - specify the same parameter in +# the host_vars/$hostname file + +tcp_ports: [ 80, 443, 8888 ] + +fas_client_groups: sysadmin-noc,sysadmin-paste,fi-apprentice +# This host doesn't freeze +freezes: false diff --git a/inventory/host_vars/paste01.phx2.fedoraproject.org b/inventory/host_vars/paste01.phx2.fedoraproject.org new file mode 100644 index 0000000000..f9dd1b403d --- /dev/null +++ b/inventory/host_vars/paste01.phx2.fedoraproject.org @@ -0,0 +1,10 @@ +--- +nm: 255.255.255.0 +gw: 10.5.126.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-rhel-6 +ks_repo: http://10.5.126.23/repo/rhel/RHEL6-x86_64/ +volgroup: /dev/vg_guests00 +eth0_ip: 10.5.126.59 +vmhost: virthost15.phx2.fedoraproject.org +datacenter: phx2 diff --git a/inventory/host_vars/paste01.stg.phx2.fedoraproject.org b/inventory/host_vars/paste01.stg.phx2.fedoraproject.org new file mode 100644 index 0000000000..04a9ecd349 --- /dev/null +++ b/inventory/host_vars/paste01.stg.phx2.fedoraproject.org @@ -0,0 +1,10 @@ +--- +nm: 255.255.255.0 +gw: 10.5.126.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-rhel-6 +ks_repo: http://10.5.126.23/repo/rhel/RHEL6-x86_64/ +volgroup: /dev/vg_virthost11 +eth0_ip: 10.5.126.61 +vmhost: virthost11.phx2.fedoraproject.org +datacenter: phx2 diff --git a/inventory/host_vars/paste02.phx2.fedoraproject.org b/inventory/host_vars/paste02.phx2.fedoraproject.org new file mode 100644 index 0000000000..f17d0b8208 --- /dev/null +++ b/inventory/host_vars/paste02.phx2.fedoraproject.org @@ -0,0 +1,10 @@ +--- +nm: 255.255.255.0 +gw: 10.5.126.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-rhel-6 +ks_repo: http://10.5.126.23/repo/rhel/RHEL6-x86_64/ +volgroup: /dev/vg_guests00 +eth0_ip: 10.5.126.17 +vmhost: virthost14.phx2.fedoraproject.org +datacenter: phx2 diff --git a/playbooks/groups/paste.yml b/playbooks/groups/paste.yml new file mode 100644 index 0000000000..a4ea52971e --- /dev/null +++ b/playbooks/groups/paste.yml @@ -0,0 +1,50 @@ +- name: make paste + hosts: paste-stg:paste + user: root + gather_facts: False + accelerate: True + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - "{{ private }}/vars.yml" + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + tasks: + - include: "{{ tasks }}/virt_instance_create.yml" + - include: "{{ tasks }}/accelerate_prep.yml" + + handlers: + - include: "{{ handlers }}/restart_services.yml" + +- name: make the box be real + hosts: paste-stg:paste + user: root + gather_facts: True + accelerate: True + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - "{{ private }}/vars.yml" + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + roles: + - base + - rkhunter + - denyhosts + - nagios_client + - fas_client + - paste + + + tasks: + - include: "{{ tasks }}/hosts.yml" + - include: "{{ tasks }}/yumrepos.yml" + - include: "{{ tasks }}/2fa_client.yml" + - include: "{{ tasks }}/motd.yml" + - include: "{{ tasks }}/sudo.yml" + - include: "{{ tasks }}/openvpn_client.yml" + when: env != "staging" + - include: "{{ tasks }}/apache.yml" + + handlers: + - include: "{{ handlers }}/restart_services.yml" diff --git a/roles/paste/files/class_urlshort.php b/roles/paste/files/class_urlshort.php new file mode 100644 index 0000000000..cb1601168e --- /dev/null +++ b/roles/paste/files/class_urlshort.php @@ -0,0 +1,37 @@ + +* Copyright (c) 2013 Athmane Madjoudj +* All rights reserved. Do not remove this copyright notice. +*/ + +/** + * URL shortener using ur1.ca from Indenti.ca + **/ +class URLShortener +{ + public function shorten($long_url) + { + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL,"http://ur1.ca/"); + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array('longurl' => $long_url))); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,2); + curl_setopt($ch, CURLOPT_TIMEOUT, 2); + $result = curl_exec($ch); + curl_close($ch); + preg_match( '/

Your ur1 is: (.+)<\/a><\/p>/', $result, $match ); + if (!empty($match)) + return $match[1]; + else + return false; + + } +} + +?> diff --git a/roles/paste/files/skins/fedora/css/fedora.css b/roles/paste/files/skins/fedora/css/fedora.css new file mode 100644 index 0000000000..b1b47f0b38 --- /dev/null +++ b/roles/paste/files/skins/fedora/css/fedora.css @@ -0,0 +1,561 @@ +/* + Fedora pastebin styling, based on Koji styling + Copyright (c) 2007,2008, 2009, 2012 Red Hat, Inc. + + Authors: + Athmane Madjoudj + + Original Authors: + Mike Bonnet + Mike McLean + Dennis Gilmore +*/ + +html { + min-width: 800px; +} + +body { + margin: 0px; + padding: 0px; + font-size: small; + font-family: "Liberation Sans","Lucida Grande", "Luxi Sans", "Bitstream Vera Sans", helvetica, verdana, arial, sans-serif; + color: #666; + background: #fff url(../images/header-bg.png) repeat-x; +} + +a, a:visited, a:hover { + color: #0066CC; + text-decoration: none; +} + +h4 +{ + font-size:19px; + margin-bottom:14px; +} + +#wrap { + min-width: 750px; + max-width:1100px; + margin-left:auto; + margin-right:auto; + padding: 0; + text-align: left; +} + +#innerwrap { +position:relative; +} + +#header { +height:87px +} + + +#fpasteLogo { + display:inline-block; + padding-top:8px; + +} + + + +div#content { + margin: 0 20px; + margin-top:30px; + clear: both; +} + +p#footer { + padding-top: 40px; + margin-left: 15px; + line-height: 1.5em; + color: #999; + font-size: xx-small; + clear: both; +} + +p#footer a { + text-decoration: none; +} + +.hide { + display: none; +} + +.disabled { + color: #808080; +} + +#mainNav { + font-size:16px; + font-weight:bold; + height: 30px; +} + +#mainNav ul { + padding: 0px; + margin: 0px; + list-style-type: none; +} + +#mainNav ul li { + + float: left; + +} + +#mainNav ul li a { + display: block; + color: rgba(255,255,255,0.8); + text-decoration: none; + padding: 0.5em 1.5em; + font-size: 0.77em; + height: 1.5em; +} + +#mainNav ul li:hover { + -webkit-border-top-left-radius: 5px; +-webkit-border-top-right-radius: 5px; +-moz-border-radius-topleft: 5px; +-moz-border-radius-topright: 5px; +border-top-left-radius: 5px; +border-top-right-radius: 5px; +background-color:rgba(255,255,255,0.1); +} + +body#summary #mainNav li#summaryTab a, +body#tasks #mainNav li#tasksTab a, +body#tags #mainNav li#tagsTab a, +body#builds #mainNav li#buildsTab a, +body#packages #mainNav li#packagesTab a, +body#users #mainNav li#usersTab a, +body#hosts #mainNav li#hostsTab a, +body#buildtargets #mainNav li#buildtargetsTab a, +body#reports #mainNav li#reportsTab a, +body#search #mainNav li#searchTab a { + background-color: #fff; + color: #444; + -webkit-border-top-left-radius: 5px; +-webkit-border-top-right-radius: 5px; +-moz-border-radius-topleft: 5px; +-moz-border-radius-topright: 5px; +border-top-left-radius: 5px; +border-top-right-radius: 5px; +} + +table { + border-spacing: 0px; +} + +th { + font-weight: bold; + vertical-align: text-top; + min-width: 100px; + text-align:right; +} + +td +{ + padding-left:15px; +} + +th, td { + line-height:19px; +} + +td.building { + color: #cc0; + width:45px; +} + +td.complete { + color: #0c0; + width:45px; +} + +td.deleted, +td.failed, +td.canceled { + color: #c00; + width:45px; +} + +td.false { + color: #c00; +} + +td.true { + color: #0c0; +} + +img.sort { + /* used for up/down sort arrows*/ + vertical-align: baseline; + width: 10px; + height: 9px; +} + +td.paginate { + text-align: center; +} + +form.pageJump { + float: right; + margin-left: 20px; +} + +form.pageJump select { + font-size: smaller; +} + +div.dataHeader { + font-weight: bold; + font-size:17px; + line-height:28px; + padding-bottom:4px; +} + +div.pageHeader { + margin-bottom: 10px; + font-weight: bold; + font-size: 19px; +} + +table.nested { + float: left; +} + +td.container { + /*padding: 4px 0px;*/ + width: 100%; +} + +table.nested th, +table.nested td { + padding: 2px 4px; +} + +div.toggle { + padding: 6px; +} + +td.tree { + +} + +.tree span.root { + font-weight: bold; + +} + +.tree ul { + padding-left: 2em; + list-style: none; + margin-top: 0em; + margin-bottom: 0em; +} + +.tree span.treeBranch { + border-bottom: 1px solid #000; + border-left: 1px solid #000; + font-size: 1.2em; +} + +.tree li.sibling > span.treeBranch { + border-left-width: 0em; +} + +.tree li.sibling { + border-left: 1px solid #000; +} + +.tree a { + text-decoration: none; +} + +.tree span.treeLabel { + position: relative; + top: 0.6em; + margin-left: 1.2em; + padding-left: 0.2em; + + font-size: 0.83em; +} + +.tree > ul { + padding-bottom: 0.6em; +} + +.hidden { + display: none; +} + +.tree span.treeToggle { + font-weight: bold; +} + +.tree span.treeLink { + font-size: smaller; +} + +.adminLink { + color: #000; +} + +img.stateimg { + margin-top: -6px; + margin-bottom: -6px; +} + +.charlist { + text-align: center; +} + +img.graphrow { + background-color: #00f; + vertical-align: bottom; +} + +table.data-list { + width: 100%; +} + +table.data-list td { + vertical-align: text-top; + padding-left:3px; +} + +tr.list-header { + background-color: #fff; +} + +tr.list-header th { + background-color: #eee; + box-shadow: 0 -1px 0 #ddd, 0 1px 0 #ddd; + text-align:left; + padding-left:4px; +} + +tr.list-header th { +min-width:1px; +} + +table.nested th +{ + min-width:1px; +} + +tr.row-even, +tr.row-odd +{ + box-shadow: 0 1px 0 #ddd; +} + +tr.row-even td, +tr.row-odd td +{ +padding-left:4px; +} + +tr.row-odd td:first-child, +tr.row-even td:first-child + { + box-shadow: -1px 0 0 #ddd; +} + +tr.row-odd td:last-child, +tr.row-even td:last-child { + box-shadow: 1px 0 0 #ddd; +} + +tr.list-header th:first-child +{ + box-shadow: -1px 0 0 #ddd,0 -1px 0 #ddd, 0 1px 0 #ddd; +} + +tr.list-header th:last-child +{ + box-shadow: 1px 0 0 #ddd,0 -1px 0 #ddd, 0 1px 0 #ddd; +} + +tr.row-even td.tree { + +} + +tr.row-even td.tree span.treeLabel { + +} + +.taskfree, .taskfree:visited, .taskfree:hover { + color: #3300CC; + background-color:#fff; +} +.taskopen, .taskopen:visited, .taskopen:hover { + color: #FF6600; + background-color:#fff; +} +.taskclosed, .taskclosed:visited, .taskclosed:hover { + color: #00CC00; + background-color:#fff; +} +.taskcanceled, .taskcanceled:visited, .taskcanceled:hover { + color: #CC9900; + background-color:#fff; +} +.taskassigned, .taskassigned:visited, .taskassigned:hover { + color: #CC00FF; + background-color:#fff; +} +.taskfailed, .taskfailed:visited, .taskfailed:hover { + color: #CC0000; + background-color:#fff; +} + +a.help { + text-decoration: underline; +} + +abbr { + cursor: help; +} + +.changelog { + font-family: monospace; + font-size: medium; + white-space: pre; +} + +#headerHelp { + float: right; + margin: 15px 10px 0 0; +} + +.filterlist { + font-size: smaller; +} + +span#loginInfo { + background-color: #ccc; + font-weight: bold; + padding: 3px 15px; + position: absolute; + right: 0; + top: 0; + -webkit-border-bottom-left-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-bottomleft: 3px; + -moz-border-radius-bottomright: 3px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + box-shadow: 0 10px 10px rgba(255, 255, 255, 0.5) inset, 0 1px 3px rgba(0, 0, 0, 0.5); + -mox-box-shadow: 0 10px 10px rgba(255, 255, 255, 0.5) inset, 0 1px 3px rgba(0, 0, 0, 0.5); + -webkit-box-shadow: 0 10px 10px rgba(255, 255, 255, 0.5) inset, 0 1px 3px rgba(0, 0, 0, 0.5); +} + +.smaller { + font-size: smaller; +} + +.rpmheader { + /*font-family: monospace; + font-size: medium; + white-space: pre;*/ +} + +.error { + color: red; +} + +hr { + border: 1px solid #ccc; + margin-top: 10px; +} + +#paste_data { + background: none repeat scroll 0 0 #FFFFFF; + border: 2px solid #CCCCCC; + min-height: 300px; + width: 1000px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.pre-cache { + display: none; +} + +.span6, .span6_2 { + width: 600px; + background-color: #dfe0e3; + font-weight: bold; + padding: 5px 15px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.span6_2 { + width: 730px; + padding: 10px; +} + +#paste_lang { + margin-left: 30px +} + +#paste_expire { + margin-left: 180px; +} + +#label_paste_private { + margin-left: 10px; +} + +#paste_button, .btn, .page_no { + margin-left: 60px; + background: #234f8c; + color: #fff; + border: 1px solid #234f8c; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + width: 100px; + padding: 7px; + text-transform: uppercase; + cursor: pointer; +} + +.btn, .page_no { + padding: 5px; + margin-left: 5px; + padding: 5px; + text-transform: none; +} + +.page_current { + font-weight: bold; +} + +a.btn:hover, a.btn:visited { + color: #fff; +} + +.pull-right { + float: right; +} + +.codewrap, .codewrap_small { + font-size: 12px; + color: #000; +} + +.codewrap li:hover { + background: #f0f0f0; +} + +.pasteinfo { + padding-bottom: 50px; +} diff --git a/roles/paste/files/skins/fedora/css/index.html b/roles/paste/files/skins/fedora/css/index.html new file mode 100644 index 0000000000..8d1c8b69c3 --- /dev/null +++ b/roles/paste/files/skins/fedora/css/index.html @@ -0,0 +1 @@ + diff --git a/roles/paste/files/skins/fedora/html/index.html b/roles/paste/files/skins/fedora/html/index.html new file mode 100644 index 0000000000..8d1c8b69c3 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/index.html @@ -0,0 +1 @@ + diff --git a/roles/paste/files/skins/fedora/html/tpl_create.html b/roles/paste/files/skins/fedora/html/tpl_create.html new file mode 100644 index 0000000000..5fccbd644d --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_create.html @@ -0,0 +1,46 @@ +

+
+ + +
{{author_numeric}}
+ + + + +
+
+
+ +
+
+ +
+
+
+ +
+
+ + + + + + +   + + +
+
diff --git a/roles/paste/files/skins/fedora/html/tpl_doc_about.html b/roles/paste/files/skins/fedora/html/tpl_doc_about.html new file mode 100644 index 0000000000..7e7fe70e44 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_doc_about.html @@ -0,0 +1,43 @@ +

+ + {{site_name}} • {{about}} +

+
+ +{{powered_by}} +

+
+ + +
+
    +
  • + {{build}} [[site_build]] +
  • +
  • + {{theme_name}} [[skin_name]] +
  • +
  • +
  • +
+
+
\ No newline at end of file diff --git a/roles/paste/files/skins/fedora/html/tpl_doc_api.html b/roles/paste/files/skins/fedora/html/tpl_doc_api.html new file mode 100644 index 0000000000..9170022fab --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_doc_api.html @@ -0,0 +1,145 @@ +

+ + {{site_name}} • {{api}} +

+
+ +
+
+
+ +
{{xml_caption}}
+
+
+
+
+ +
{{json_caption}}
+
+
+
+
+ +
+ {{doc_api_para1}} + + {{doc_api_para2}} +
+ {{doc_api_para3}} +
+ +

{{api}} → {{create}}

+ {{doc_api_para4}} +

+ +

{{mandatory_params}}

+ + +

{{optional_params}}

+ + {{language_list_exp}} +

+ +

{{return_success}}

+ + {{url_format_exp}} +

+ +

{{return_error}}

+ {{error_ret_exp}} + +
+ +

{{api}} → {{show}}

+ {{doc_api_para5}} +

+ + {{doc_api_para6}}
+ {{doc_api_para7}} +

+ +

{{mandatory_params}}

+ + +

{{optional_params}}

+ + +

{{return_success}}

+ + +

{{return_error}}

+ {{error_ret_exp}} + +
+ +

{{api}} → {{list}}

+ {{doc_api_para8}} +

+ +

{{mandatory_params}}

+ + +

{{optional_params}}

+ + +

{{return_success}}

+ + +

{{return_error}}

+ {{error_ret_exp}} + +
\ No newline at end of file diff --git a/roles/paste/files/skins/fedora/html/tpl_doc_help.html b/roles/paste/files/skins/fedora/html/tpl_doc_help.html new file mode 100644 index 0000000000..daee7643f3 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_doc_help.html @@ -0,0 +1,82 @@ +

+ + {{site_name}} • {{help}} +

+
+ +
+ +
+ +
+

{{create_new_paste}}

+
+ {{doc_help_para1}} +
+
+ +

{{marking_private}}

+
+ {{doc_help_para2}} +
+
+ +

{{password_protection}}

+
+ {{doc_help_para3}} +
+
+ +

{{view_a_paste}}

+
+ {{doc_help_para4}} +
+
+ +

{{copying_code}}

+
+ {{doc_help_para5}} +
+
+ +

{{paste_archive}}

+
+ {{doc_help_para6}} +
+
+ +

{{rss_feed}}

+
+ {{doc_help_para7}} +
+
+ +

{{pastebin_projects}}

+
+ {{doc_help_para8}} +
+
\ No newline at end of file diff --git a/roles/paste/files/skins/fedora/html/tpl_footer.html b/roles/paste/files/skins/fedora/html/tpl_footer.html new file mode 100644 index 0000000000..30255d606a --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_footer.html @@ -0,0 +1,10 @@ + + +

+ + +
+ +
+ + diff --git a/roles/paste/files/skins/fedora/html/tpl_header.html b/roles/paste/files/skins/fedora/html/tpl_header.html new file mode 100644 index 0000000000..36b518f2e9 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_header.html @@ -0,0 +1,83 @@ + + + + + + + + [[page_title]] + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
+ × + [[message_text]] +
+ + +
+
diff --git a/roles/paste/files/skins/fedora/html/tpl_languages.html b/roles/paste/files/skins/fedora/html/tpl_languages.html new file mode 100644 index 0000000000..5fd1faf0f3 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_languages.html @@ -0,0 +1,202 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/roles/paste/files/skins/fedora/html/tpl_list.html b/roles/paste/files/skins/fedora/html/tpl_list.html new file mode 100644 index 0000000000..8ffe3691f7 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_list.html @@ -0,0 +1,22 @@ + + +

+ + {{archives}} +

+ +
+ +
+ [[list_data]] +
+ +
+

[[error_text]]

+
+ + \ No newline at end of file diff --git a/roles/paste/files/skins/fedora/html/tpl_list_item.html b/roles/paste/files/skins/fedora/html/tpl_list_item.html new file mode 100644 index 0000000000..f40be96ad2 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_list_item.html @@ -0,0 +1,19 @@ +
+
+
+ + {{paste}} #[[paste_id]] + +
+
+ [[paste_data]] +
+
+ +
[[paste_info]]
+
{{language}}: [[paste_lang]]
+
+
+
\ No newline at end of file diff --git a/roles/paste/files/skins/fedora/html/tpl_show.html b/roles/paste/files/skins/fedora/html/tpl_show.html new file mode 100644 index 0000000000..aa1ff60687 --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_show.html @@ -0,0 +1,27 @@ +
+
+ + +
+ Shortened URL: [[short_url]] +
+ +
+
+ [[paste_data]] +
+
+ +
[[paste_info]]
+
{{language}}: [[paste_lang]]
+
+
+ +
+
+

[[error_text]]

+
+
diff --git a/roles/paste/files/skins/fedora/html/tpl_show_password.html b/roles/paste/files/skins/fedora/html/tpl_show_password.html new file mode 100644 index 0000000000..be78f8d2fa --- /dev/null +++ b/roles/paste/files/skins/fedora/html/tpl_show_password.html @@ -0,0 +1,14 @@ +
+

{{pass_protect}}

+
+
+ +
+ + + + +
+

+ +
diff --git a/roles/paste/files/skins/fedora/images/about.png b/roles/paste/files/skins/fedora/images/about.png new file mode 100644 index 0000000000..3b4cd6102b Binary files /dev/null and b/roles/paste/files/skins/fedora/images/about.png differ diff --git a/roles/paste/files/skins/fedora/images/api.png b/roles/paste/files/skins/fedora/images/api.png new file mode 100644 index 0000000000..090b2bf1d9 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/api.png differ diff --git a/roles/paste/files/skins/fedora/images/background.png b/roles/paste/files/skins/fedora/images/background.png new file mode 100644 index 0000000000..1bc82b03ab Binary files /dev/null and b/roles/paste/files/skins/fedora/images/background.png differ diff --git a/roles/paste/files/skins/fedora/images/checkmark.png b/roles/paste/files/skins/fedora/images/checkmark.png new file mode 100644 index 0000000000..7af1470ff2 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/checkmark.png differ diff --git a/roles/paste/files/skins/fedora/images/delicious.png b/roles/paste/files/skins/fedora/images/delicious.png new file mode 100644 index 0000000000..f6f2422e3c Binary files /dev/null and b/roles/paste/files/skins/fedora/images/delicious.png differ diff --git a/roles/paste/files/skins/fedora/images/digg.png b/roles/paste/files/skins/fedora/images/digg.png new file mode 100644 index 0000000000..044b1ae008 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/digg.png differ diff --git a/roles/paste/files/skins/fedora/images/facebook.png b/roles/paste/files/skins/fedora/images/facebook.png new file mode 100644 index 0000000000..a0181d640f Binary files /dev/null and b/roles/paste/files/skins/fedora/images/facebook.png differ diff --git a/roles/paste/files/skins/fedora/images/favicon.ico b/roles/paste/files/skins/fedora/images/favicon.ico new file mode 100644 index 0000000000..79d0ba93b6 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/favicon.ico differ diff --git a/roles/paste/files/skins/fedora/images/favicon.png b/roles/paste/files/skins/fedora/images/favicon.png new file mode 100644 index 0000000000..6ba84469c9 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/favicon.png differ diff --git a/roles/paste/files/skins/fedora/images/fpaste.png b/roles/paste/files/skins/fedora/images/fpaste.png new file mode 100644 index 0000000000..3c39cff134 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/fpaste.png differ diff --git a/roles/paste/files/skins/fedora/images/glyphicons-halflings-white.png b/roles/paste/files/skins/fedora/images/glyphicons-halflings-white.png new file mode 100644 index 0000000000..a20760bfde Binary files /dev/null and b/roles/paste/files/skins/fedora/images/glyphicons-halflings-white.png differ diff --git a/roles/paste/files/skins/fedora/images/glyphicons-halflings.png b/roles/paste/files/skins/fedora/images/glyphicons-halflings.png new file mode 100644 index 0000000000..92d4445dfd Binary files /dev/null and b/roles/paste/files/skins/fedora/images/glyphicons-halflings.png differ diff --git a/roles/paste/files/skins/fedora/images/header-bg.png b/roles/paste/files/skins/fedora/images/header-bg.png new file mode 100644 index 0000000000..f4c540a830 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/header-bg.png differ diff --git a/roles/paste/files/skins/fedora/images/help.png b/roles/paste/files/skins/fedora/images/help.png new file mode 100644 index 0000000000..7c545fba48 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/help.png differ diff --git a/roles/paste/files/skins/fedora/images/identi.png b/roles/paste/files/skins/fedora/images/identi.png new file mode 100644 index 0000000000..df91b2b0d8 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/identi.png differ diff --git a/roles/paste/files/skins/fedora/images/index.html b/roles/paste/files/skins/fedora/images/index.html new file mode 100644 index 0000000000..8d1c8b69c3 --- /dev/null +++ b/roles/paste/files/skins/fedora/images/index.html @@ -0,0 +1 @@ + diff --git a/roles/paste/files/skins/fedora/images/json.png b/roles/paste/files/skins/fedora/images/json.png new file mode 100644 index 0000000000..a16ead6289 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/json.png differ diff --git a/roles/paste/files/skins/fedora/images/list.png b/roles/paste/files/skins/fedora/images/list.png new file mode 100644 index 0000000000..8906921efe Binary files /dev/null and b/roles/paste/files/skins/fedora/images/list.png differ diff --git a/roles/paste/files/skins/fedora/images/reddit.png b/roles/paste/files/skins/fedora/images/reddit.png new file mode 100644 index 0000000000..2af2de9dda Binary files /dev/null and b/roles/paste/files/skins/fedora/images/reddit.png differ diff --git a/roles/paste/files/skins/fedora/images/stumbleupon.png b/roles/paste/files/skins/fedora/images/stumbleupon.png new file mode 100644 index 0000000000..0139c191aa Binary files /dev/null and b/roles/paste/files/skins/fedora/images/stumbleupon.png differ diff --git a/roles/paste/files/skins/fedora/images/technorati.png b/roles/paste/files/skins/fedora/images/technorati.png new file mode 100644 index 0000000000..7e25e96ff1 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/technorati.png differ diff --git a/roles/paste/files/skins/fedora/images/xml.png b/roles/paste/files/skins/fedora/images/xml.png new file mode 100644 index 0000000000..09279e0327 Binary files /dev/null and b/roles/paste/files/skins/fedora/images/xml.png differ diff --git a/roles/paste/files/skins/fedora/index.html b/roles/paste/files/skins/fedora/index.html new file mode 100644 index 0000000000..8d1c8b69c3 --- /dev/null +++ b/roles/paste/files/skins/fedora/index.html @@ -0,0 +1 @@ + diff --git a/roles/paste/files/skins/fedora/js/bootstrap.min.js b/roles/paste/files/skins/fedora/js/bootstrap.min.js new file mode 100644 index 0000000000..97dc88e10a --- /dev/null +++ b/roles/paste/files/skins/fedora/js/bootstrap.min.js @@ -0,0 +1 @@ +!function(a){a(function(){"use strict",a.support.transition=function(){var b=document.body||document.documentElement,c=b.style,d=c.transition!==undefined||c.WebkitTransition!==undefined||c.MozTransition!==undefined||c.MsTransition!==undefined||c.OTransition!==undefined;return d&&{end:function(){var b="TransitionEnd";return a.browser.webkit?b="webkitTransitionEnd":a.browser.mozilla?b="transitionend":a.browser.opera&&(b="oTransitionEnd"),b}()}}()})}(window.jQuery),!function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype={constructor:c,close:function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),e.trigger("close"),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger("close").removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()}},a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a(function(){a("body").on("click.alert.data-api",b,c.prototype.close)})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype={constructor:b,setState:function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},toggle:function(){var a=this.$element.parent('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")}},a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a(function(){a("body").on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.carousel.defaults,c),this.options.slide&&this.slide(this.options.slide)};b.prototype={cycle:function(){return this.interval=setInterval(a.proxy(this.next,this),this.options.interval),this},to:function(b){var c=this.$element.find(".active"),d=c.parent().children(),e=d.index(c),f=this;if(b>d.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){f.to(b)}):e==b?this.pause().cycle():this.slide(b>e?"next":"prev",a(d[b]))},pause:function(){return clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this;if(!e.length)return;return this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h](),!a.support.transition&&this.$element.hasClass("slide")?(this.$element.trigger("slide"),d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")):(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.trigger("slide"),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})),f&&this.cycle(),this}},a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=typeof c=="object"&&c;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):typeof c=="string"||(c=f.slide)?e[c]():e.cycle()})},a.fn.carousel.defaults={interval:5e3},a.fn.carousel.Constructor=b,a(function(){a("body").on("click.carousel.data-api","[data-slide]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=!e.data("modal")&&a.extend({},e.data(),c.data());e.carousel(f),b.preventDefault()})})}(window.jQuery),!function(a){"use strict";var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find(".in"),e;d&&d.length&&(e=d.data("collapse"),d.collapse("hide"),e||d.data("collapse",null)),this.$element[b](0),this.transition("addClass","show","shown"),this.$element[b](this.$element[0][c])},hide:function(){var a=this.dimension();this.reset(this.$element[a]()),this.transition("removeClass","hide","hidden"),this.$element[a](0)},reset:function(a){var b=this.dimension();this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element.addClass("collapse")},transition:function(b,c,d){var e=this,f=function(){c=="show"&&e.reset(),e.$element.trigger(d)};this.$element.trigger(c)[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}},a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=typeof c=="object"&&c;e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a(function(){a("body").on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();a(e).collapse(f)})})}(window.jQuery),!function(a){function d(){a(b).parent().removeClass("open")}"use strict";var b='[data-toggle="dropdown"]',c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),e=c.attr("data-target"),f,g;return e||(e=c.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,"")),f=a(e),f.length||(f=c.parent()),g=f.hasClass("open"),d(),!g&&f.toggleClass("open"),!1}},a.fn.dropdown=function(b){return this.each(function(){var d=a(this),e=d.data("dropdown");e||d.data("dropdown",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.dropdown.Constructor=c,a(function(){a("html").on("click.dropdown.data-api",d),a("body").on("click.dropdown.data-api",b,c.prototype.toggle)})}(window.jQuery),!function(a){function c(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),d.call(b)},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),d.call(b)})}function d(a){this.$element.hide().trigger("hidden"),e.call(this)}function e(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('