Browse Source

kikstart redesign

pull/1/head
Nicolae Claudius 13 years ago
parent
commit
7f0babe277
  1. 4
      Gemfile
  2. 34
      Gemfile.lock
  3. 3
      app/assets/javascripts/application.js.coffee
  4. 24
      app/assets/stylesheets/application.css.scss
  5. 386
      app/assets/stylesheets/normalize.css
  6. 68
      app/assets/stylesheets/overrides.css.scss
  7. 4
      app/assets/stylesheets/pages/contact.css.scss
  8. 35
      app/assets/stylesheets/pages/domains.css.scss
  9. 6
      app/assets/stylesheets/pages/donate.css.scss
  10. 3
      app/assets/stylesheets/pages/edit_account.css.scss
  11. 5
      app/assets/stylesheets/pages/help.css.scss
  12. 112
      app/assets/stylesheets/pages/home.css.scss
  13. 10
      app/assets/stylesheets/pages/team.css.scss
  14. 8
      app/assets/stylesheets/theme/application.css.scss
  15. 427
      app/assets/stylesheets/theme/base.css.scss
  16. 2
      app/assets/stylesheets/theme/error_explanation.css.scss
  17. 6
      app/assets/stylesheets/theme/public.css.scss
  18. 413
      app/assets/stylesheets/theme/theme.css.scss
  19. 33
      app/assets/stylesheets/ui/buttons.css.scss
  20. 8
      app/helpers/application_helper.rb
  21. 6
      app/models/ability.rb
  22. 17
      app/views/active_scaffold_overrides/list.html.erb
  23. 2
      app/views/devise/confirmations/new.html.erb
  24. 2
      app/views/devise/passwords/edit.html.erb
  25. 2
      app/views/devise/passwords/new.html.erb
  26. 14
      app/views/devise/registrations/edit.html.erb
  27. 2
      app/views/devise/registrations/new.html.erb
  28. 2
      app/views/devise/sessions/new.html.erb
  29. 2
      app/views/devise/unlocks/new.html.erb
  30. 6
      app/views/fragments/_bottom.html.erb
  31. 23
      app/views/fragments/_navigation.html.erb
  32. 85
      app/views/fragments/_top.html.erb
  33. 43
      app/views/fragments/navigation/_application.html.erb
  34. 32
      app/views/fragments/navigation/_public.html.erb
  35. 12
      app/views/layouts/application.html.erb
  36. 18
      app/views/layouts/errors.html.erb
  37. 11
      app/views/layouts/public.html.erb
  38. 13
      app/views/pages/about.html.erb
  39. 9
      app/views/pages/contact.html.erb
  40. 11
      app/views/pages/contact/_form.html.erb
  41. 43
      app/views/pages/donate.html.erb
  42. 4
      app/views/pages/fragments/_action.html.erb
  43. 29
      app/views/pages/help.html.erb
  44. 74
      app/views/pages/home.html.erb
  45. 10
      app/views/pages/home/_headlines.html.erb
  46. 9
      app/views/pages/privacy.html.erb
  47. 20
      app/views/pages/team.html.erb
  48. 2
      app/views/pages/team/_clyfe.html.erb
  49. 2
      app/views/pages/team/_zooz.html.erb
  50. 9
      app/views/pages/terms.html.erb

4
Gemfile

@ -13,8 +13,8 @@ gem 'squeel', '~> 0.9.3'
gem 'sentient_user', '~> 0.3.2'
gem 'userstamp_basic', '~> 0.1.0'
gem 'active_scaffold', :git => 'https://github.com/activescaffold/active_scaffold.git'
# '~> 3.2.0'
# :path => '/home/clyfe/dev/active_scaffold'
# '~> 3.2.0'
gem 'pjax_rails', '~> 0.1.10'
gem 'validates_hostname', '~> 1.0.0', :git => 'https://github.com/KimNorgaard/validates_hostname.git'
gem 'nilify_blanks', '~> 1.0.0'
@ -23,7 +23,6 @@ gem 'rails_config', '~> 0.2.4'
gem 'active-model-email-validator', '~> 1.0.2'
gem 'mail_form', '~> 1.3.0'
gem 'switch_user', '~> 0.6.0'
gem 'bootstrap-sass-rails', '~> 2.0.0.2'
# Gems used only for assets and not required
# in production environments by default.
@ -33,6 +32,7 @@ group :assets do
gem 'coffee-rails', "~> 3.2.1"
gem 'uglifier', '>= 1.0.3'
gem 'therubyracer'
gem 'bootstrap-sass-rails', '~> 2.0.0.2'
end
gem 'jquery-rails'

34
Gemfile.lock

@ -6,7 +6,7 @@ GIT
GIT
remote: https://github.com/activescaffold/active_scaffold.git
revision: d7ca8758e270d225f6b7f634e2e79d750d530297
revision: 987fdf05f4e5bf3e2e749e8de7bcc467c9c6c642
specs:
active_scaffold (3.2.0)
rails (>= 3.1.3)
@ -80,7 +80,7 @@ GEM
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)
compass-rails (1.0.0.rc.2)
compass-rails (1.0.0.rc.3)
compass (~> 0.12.rc.0)
daemons (1.0.10)
dalli (1.1.4)
@ -93,8 +93,8 @@ GEM
erubis (2.7.0)
execjs (1.3.0)
multi_json (~> 1.0)
factory_girl (2.5.1)
activesupport
factory_girl (2.5.2)
activesupport (>= 2.3.9)
factory_girl_rails (1.6.0)
factory_girl (~> 2.5.0)
railties (>= 3.0.0)
@ -119,6 +119,7 @@ GEM
railties (>= 3.2.0.beta, < 5.0)
thor (~> 0.14)
json (1.6.5)
json_pure (1.6.5)
libnotify (0.7.2)
libv8 (3.3.10.4)
mail (2.4.1)
@ -130,7 +131,7 @@ GEM
mongrel (1.2.0.pre2)
daemons (~> 1.0.10)
gem_plugin (~> 0.2.3)
multi_json (1.0.4)
multi_json (1.1.0)
mysql2 (0.3.11)
net-scp (1.0.4)
net-ssh (>= 1.99.1)
@ -191,23 +192,22 @@ GEM
activesupport (>= 3.0)
railties (>= 3.0)
rspec (~> 2.8.0)
rubyzip (0.9.5)
sass (3.1.14)
rubyzip (0.9.6.1)
sass (3.1.15)
sass-rails (3.2.4)
railties (~> 3.2.0)
sass (>= 3.1.10)
tilt (~> 1.3)
selenium-webdriver (2.18.0)
childprocess (>= 0.2.5)
selenium-webdriver (2.13.0)
childprocess (>= 0.2.1)
ffi (~> 1.0.9)
multi_json (~> 1.0.4)
json_pure
rubyzip
sentient_user (0.3.2)
simplecov (0.5.4)
multi_json (~> 1.0.3)
simplecov-html (~> 0.5.3)
simplecov-html (0.5.3)
spork (1.0.0rc1)
simplecov (0.4.2)
simplecov-html (~> 0.4.4)
simplecov-html (0.4.5)
spork (1.0.0rc2)
sprockets (2.1.2)
hike (~> 1.2)
rack (~> 1.0)
@ -217,7 +217,7 @@ GEM
activesupport (~> 3.0)
polyamorous (~> 0.5.0)
switch_user (0.6.0)
therubyracer (0.9.9)
therubyracer (0.9.10)
libv8 (~> 3.3.10)
thor (0.14.6)
tilt (1.3.3)
@ -230,7 +230,7 @@ GEM
multi_json (>= 1.0.2)
userstamp_basic (0.1.0)
sentient_user (>= 0.1.0)
warden (1.1.0)
warden (1.1.1)
rack (>= 1.0)
xpath (0.1.4)
nokogiri (~> 1.3)

3
app/assets/javascripts/application.js.coffee

@ -10,8 +10,7 @@
#= require pjax
#= require active_scaffold
#= require slides
#= require twitter/bootstrap/tooltip
#= require twitter/bootstrap/popover
#= require twitter/bootstrap
#= require_self
$ ->

24
app/assets/stylesheets/application.css.scss

@ -4,23 +4,23 @@
* the top of the compiled file, but it's generally better to create a new file per style scope.
*= require_self
*= require theme/base
*= require theme/theme
*= require theme/error_explanation
*= require theme/public
*= require theme/application
*= require pages/home
*= require pages/team
*= require pages/help
*= require pages/edit_account
*= require pages/contact
*= require pages/donate
*= require pages/domains
*= require slides
*/
@import "twitter/bootstrap";
@import "twitter/bootstrap/responsive";
@import "active_scaffold";
@import "overrides";
#main {
margin-top: 40px;
}
.footer {
margin-top: 25px;
padding: 15px 0 15px;
border-top: 1px solid #E5E5E5;
}

386
app/assets/stylesheets/normalize.css vendored

@ -1,386 +0,0 @@
/* =============================================================================
normalize.css
2011-07-06T20:20 UTC
//github.com/jonathantneal/normalize.css
Normalize.css is a customisable CSS file that makes browsers render all
elements more consistently and in line with modern standards. We researched
the differences between default browser styles in order to precisely target
only the styles that need normalizing.
How comment documentation is written:
Comments: (anchor) (type of change) (summary of issue) in (affected browsers)
Url: (url related to above comment)
To be concise, comments are restricted to a length of 77 characters or less.
What 'types of change' mean:
Addresses: Changes involving downgrades for greater cross-browser consistency
Corrects: Bug fixes and corrections to unexpected visual quirks
Improves: Improvements based on popular usage and html5 recommendation
========================================================================== */
/* =============================================================================
Base
========================================================================== */
/*
* Corrects block display not defined in IE6/7/8/9 & FF3
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
display: block;
}
/*
* 1. Improves visual focus of mouse in all browsers
* 2. Corrects text resizing oddly when font size is set using ems in IE6/7
* http://clagnut.com/blog/348/#c790
* 3. Corrects page centering in all browsers regardless of content height
* 4. Improves visual appearance of containers during a delegated click in mSaf
* www.yuiblog.com/blog/2010/10/01/quick-tip-customizing-the-mobile-safari-tap-highlight-color/
* 5. Corrects text resizing oddly after orientation change in all handhelds
* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/
*/
html {
cursor: default; /* 1 */
font-size: 100%; /* 2 */
overflow-y: scroll; /* 3 */
-webkit-tap-highlight-color: transparent; /* 4 */
-ms-text-size-adjust: 100%; /* 5 */
-webkit-text-size-adjust: 100%; /* 5 */
}
/*
* 1. Addresses text resizing limitations in IE6/7
* Improves text sizing inconsistency in all browsers
* Known issue: text sizing unnecessary for 'form'
* 2. Improves margins set oddly in IE6/7 FF3/4 S5 C10
*/
body,
form,
input,
button,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
}
/* =============================================================================
Links
========================================================================== */
/*
* Improves appearance when active or hovered in all browsers
* people.opera.com/patrickl/experiments/keyboard/test
*/
a,
a:active,
a:hover {
outline: none;
}
/*
* Addresses outline set oddly in C10
*/
a:focus {
outline: thin dotted;
}
/* =============================================================================
Typography
========================================================================== */
/*
* Corrects styling not present in IE6/7/8/9 S5 C10
*/
abbr {
_border-bottom: expression(this.title ? '1px dotted' : 'none');
}
abbr[title] {
border-bottom: 1px dotted;
}
/*
* Corrects style set incorrectly as 'bolder' in FF3/4 S4/5 C10
*/
b,
strong {
font-weight: bold;
}
/*
* Corrects styling not present in S5 C10
*/
dfn {
font-style: italic;
}
/*
* Corrects styling not present in IE6/7/8/9
*/
mark {
background: #FF0;
color: #000;
}
/*
* Corrects font family displayed oddly in IE6 S5 C10
* en.wikipedia.org/wiki/User:Davidgothberg/Test59
*/
pre,
code,
kbd,
samp {
font-family: monospace, monospace;
_font-family: 'courier new', monospace;
font-size: 1em;
}
/*
* Improves readability of pre-formatted text in all browsers
*/
pre {
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}
/*
* Addresses CSS quotes not supported in IE6/7
*/
q {
quotes: none;
}
/*
* Addresses quote property not supported in S4
*/
q:before,
q:after {
content: '';
content: none;
}
/*
* Improves appearance in all browsers
*/
small,
sub,
sup {
font-size: 75%;
}
/*
* Improves appearance in all browsers
* gist.github.com/413930
*/
sub,
sup {
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* =============================================================================
Lists
========================================================================== */
/*
* Improves appearance of navigation-specific lists
*/
nav ul {
list-style: none;
}
/* =============================================================================
Embedded content
========================================================================== */
/*
* Corrects display not defined in IE6/7/8/9 & FF3
*/
audio[controls],
canvas,
video {
display: inline-block;
*display: inline;
}
audio {
display: none;
_display: expression(this.controls ? 'inline' : 'none');
*zoom: 1;
}
audio[controls] {
display: inline-block;
}
/*
* 1. Improves readability when inside 'a' in all browsers
* 2. Improves visual appearance when scaled in IE7
* code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/*
* Corrects overflow displayed oddly in IE9
*/
svg:not(:root) {
overflow: hidden;
}
/* =============================================================================
Forms
========================================================================== */
/*
* Corrects alignment displayed oddly in IE6/7
*/
legend {
*margin-left: -7px;
}
/*
* Improves appearance in all browsers
*/
button,
input,
select,
textarea {
/* -webkit-appearance: none; wtf this hides content */
border-radius: 0;
vertical-align: baseline;
*vertical-align: middle;
}
/*
* 1. Corrects FF3/4 setting it using !important in the UA stylesheet
* 2. Corrects spacing displayed oddly in IE6/7
* 3. Corrects inability to style clickable 'input' types in iOS
*/
button,
input {
line-height: normal; /* 1 */
_overflow: expression(this.type == 'button|reset|submit' ? 'visible' : ''); /* 2 */
}
/* 3 */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
overflow: visible;
}
/*
* Addresses box sizing forced to border-box in IE6/7
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box;
}
/*
* Addresses sizing set oddly to searchfield in S5 iOS C10
* Known issue: -moz included to future-proof
*/
input[type="search"] {
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
/*
* Addresses inner padding displayed oddly in S5 C10 on OSX
*/
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/*
* Corrects appearance displayed oddly in FF3/4
* www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/*
* 1. Corrects scrollbar displayed oddly in IE6/7/8/9
* 2. Improves readability and alignment in all browsers
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* =============================================================================
Tables
========================================================================== */
/*
* Improves visual appearance in all browsers
*/
table {
border-collapse: collapse;
border-spacing: 0;
}

68
app/assets/stylesheets/overrides.css.scss

@ -1,71 +1,3 @@
#main .block {
.content p {
font-size: 16px;
}
.content h2 {
margin-left: 0 !important;
}
.content .active-scaffold-header h2 {
font-size: 160%;
}
.content .active-scaffold th a {
text-shadow: none;
}
.content .active-scaffold th p {
font: bold 11px arial, sans-serif;
text-shadow: none;
}
}
body.errors #main .inner {
margin-top: 15px;
}
#as_domains-active-scaffold .name-column,
#as_hosts-active-scaffold .name-column {
font-weight: bold;
text-shadow: none;
}
#as_domains-active-scaffold tr.shared-domain {
&.record {
background-color: mix(#E6F2FF, lighten(yellow, 30%));
}
&.record td {
border-bottom: solid 1px #C5DBF7;
border-left: solid 1px #C5DBF7;
}
&.even-record {
background-color: mix(#fff, lighten(yellow, 40%));
}
&.even-record td {
border-left-color: #ddd;
}
&.record td.sorted {
background-color: mix(#B9DCFF, lighten(yellow, 30%));
border-bottom-color: #AFD0F5;
}
&.even-record td.sorted {
background-color: mix(#E6F2FF, lighten(yellow, 40%));
border-bottom-color: #AFD0F5;
}
&.record td.actions table td {
border: none;
}
}
.flash .alert {
border: 1px solid #bb9004;
background: #f9c006 url(image-path("messages/warning.png")) no-repeat 10px center;
}
.active-scaffold {
input[type="submit"], input[type="reset"], button {
@extend .btn;

4
app/assets/stylesheets/pages/contact.css.scss

@ -1,4 +0,0 @@
.send-contact-form {
font-size: 1.2em;
font-weight: bold;
}

35
app/assets/stylesheets/pages/domains.css.scss

@ -0,0 +1,35 @@
#as_domains-active-scaffold .name-column,
#as_hosts-active-scaffold .name-column {
font-weight: bold;
text-shadow: none;
}
#as_domains-active-scaffold tr.shared-domain {
&.record {
background-color: mix(#E6F2FF, lighten(yellow, 30%));
}
&.record td {
border-bottom: solid 1px #C5DBF7;
border-left: solid 1px #C5DBF7;
}
&.even-record {
background-color: mix(#fff, lighten(yellow, 40%));
}
&.even-record td {
border-left-color: #ddd;
}
&.record td.sorted {
background-color: mix(#B9DCFF, lighten(yellow, 30%));
border-bottom-color: #AFD0F5;
}
&.even-record td.sorted {
background-color: mix(#E6F2FF, lighten(yellow, 40%));
border-bottom-color: #AFD0F5;
}
&.record td.actions table td {
border: none;
}
}

6
app/assets/stylesheets/pages/donate.css.scss

@ -1,6 +0,0 @@
.donate-table {
width: 100%;
td {
text-align: center;
}
}

3
app/assets/stylesheets/pages/edit_account.css.scss

@ -2,9 +2,6 @@
h3 {
color: #cc4831;
}
form input {
color: #cc4831;
}
p {
color: #cc4831;
}

5
app/assets/stylesheets/pages/help.css.scss

@ -1,5 +0,0 @@
.help-page {
p, ul, div {
color: #555;
}
}

112
app/assets/stylesheets/pages/home.css.scss

@ -1,112 +0,0 @@
@import "compass/css3/text-shadow";
@import "ui/buttons";
#main .home-page-block {
background-color: #333333;
.content h1 {
//text-align: center;
font-size: 32px;
//font-weight: bold;
padding-left: 30px;
padding-right: 30px;
background-color: #333333;
color: white;
small {
font-size: 26px;
color: #3e3d4c;
font-style: normal;
font-weight: normal;
color: white;
@include text-shadow(none, 0, 0, 0, 0);
}
}
}
.home-page-duo td {
vertical-align: top;
width: 50%;
blockquote {
font-style: italic;
font-family: Cambria, Georgia, serif;
color: #333;
margin-top: 0;
strong {
font-style: normal;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
font-weight: normal;
}
}
}
#main.home-page-main {
margin-left: auto;
margin-right: auto;
float: none;
.block .content .home-page-inner {
background-color: #e5ecf3;
padding: 20px 30px 30px;
@include border-bottom-radius(6px);
h2 {
font-size: 25px;
margin-top: 0;
}
p {
font-size: 18px;
line-height: 1.2em;
color: #555;
}
.home-page-text li {
list-style-image: url(image_path('theme/check.png'));
font-size: 20px;
color: #555;
}
}
.home-page-text {
padding-right: 20px;
}
.home-page-images {
padding-left: 20px;
}
em.mk-point {
font-style: normal;
color: darken(#6b35a6, 30);
//@include text-shadow(0 0 6px rgba(143, 181, 200, 1),0 0 30px rgba(143, 181, 200, .7));
}
.action {
padding: 0 20px 20px 20px;
text-align: center;
a {
@include button(#7a43b6, #fff, 0 -1px 1px rgba(0,0,0,.4));
border-right: 2px solid darken(#7a43b6, 20);
border-bottom: 2px solid darken(#7a43b6, 20);
width: 250px;
height: 40px;
margin: auto;
text-align: center;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
strong {
font-size: 18px;
font-weight: bold;
}
em {
font-size: 13px;
font-weight: normal;
}
}
}
}
.home-page-second {
h2 {
text-align: center;
border-bottom: 1px solid #eee;
}
}

10
app/assets/stylesheets/pages/team.css.scss

@ -1,10 +0,0 @@
.team .bio {
vertical-align: top;
width: 50%;
padding-right: 50px;
h2 em {
font-size: 0.8em;
color: grey;
}
}

8
app/assets/stylesheets/theme/application.css.scss

@ -1,8 +0,0 @@
.application #main {
width: 100%;
}
.application #main .article {
width: 77%;
margin: auto;
}

427
app/assets/stylesheets/theme/base.css.scss

@ -1,427 +0,0 @@
/*
Override base to remove zero-reset.
*/
.clear { clear: both; height: 0; }
.wat-cf:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.wat-cf {display: inline-block;}
/* Hides from IE-mac \*/
* html .wat-cf {height: 1%;}
.wat-cf {display: block;}
/* End hide from IE-mac */
h1 { font-size: 30px; margin: 15px 0; font-weight: normal; }
h2 { font-size: 24px; margin: 15px 0; font-weight: normal;}
h3 { font-size: 20px; margin: 10px 0; font-weight: normal;}
h4 { font-size: 18px; margin: 10px 0; font-weight: normal;}
hr {height: 1px; border: 0; }
p { margin: 15px 0;}
a img { border: none; }
body {
font-size: 16px;
font-family: sans-serif;
}
#container {
min-width: 960px;
}
#header, #wrapper {
padding: 0 20px;
}
#header {
position: relative;
padding-top: 1px;
}
#header h1 {
margin: 0;
padding: 10px 0;
font-size: 26px;
}
#header h1 a {
&:link, &:active, &:hover, &:visited {
text-decoration: none;
}
}
#main {
width: 70%;
float: left;
}
.actions-bar {
padding: 10px 1px;
}
.actions-bar .actions {
float: left;
}
.actions-bar .pagination {
float: right;
padding: 1px 0;
}
#sidebar {
width: 25%;
float: right;
}
#sidebar h3 {
padding: 10px 15px;
margin: 0;
font-size: 13px;
}
#sidebar .block {
margin-bottom: 20px;
padding-bottom: 10px;
}
#sidebar .block .content {
padding: 0 15px;
}
#sidebar ul.navigation li a {
&:link, &:visited {
display: block;
padding: 10px 15px;
}
}
#sidebar {
.block .sidebar-block, .notice {
padding:10px;
}
}
#wrapper {
padding-top: 20px;
}
#main .block {
margin-bottom: 20px;
padding-top: 1px;
}
#main .block .content .inner {
padding: 0 15px 15px;
}
#main .main p.first {
margin-top: 0;
}
#user-navigation {
position: absolute;
top: 0px;
right: 20px;
}
#main-navigation {
width: 100%;
}
#user-navigation ul,
#main-navigation ul,
.secondary-navigation ul,
#sidebar ul.navigation {
margin: 0;
padding: 0;
list-style-type: none;
}
#user-navigation ul li,
#main-navigation ul li,
.secondary-navigation ul li {
float: left;
}
#main-navigation ul li {
margin-right: 5px;
}
#user-navigation ul li {
padding: 5px 10px;
}
#main-navigation ul li a,
.secondary-navigation,
#user-navigation {
ul li a {
&:link, &:visited, &:hover, &:active {
text-decoration: none;
}
}
}
#main-navigation ul li a {
font-size: 14px;
line-height: 14px;
display: block;
padding: 8px 15px;
}
.secondary-navigation {
font-size: 13px;
border-bottom-width: 10px;
border-bottom-style: solid;
}
.secondary-navigation ul li a {
display: block;
padding: 10px 15px;
}
#footer {
padding-bottom: 20px;
}
/* pagination */
.pagination a, .pagination span, .pagination em {
padding: 2px 5px;
margin-right: 5px;
display: block;
float: left;
border-style: solid;
border-width: 1px;
}
.pagination em {
font-weight: bold;
}
.pagination a {
text-decoration: none;
}
/* tables */
.table {
width: 100%;
border-collapse: collapse;
margin-bottom: 15px;
}
.table th {
padding: 10px;
font-weight: bold;
text-align: left;
}
.table th.first {
width: 30px;
}
.table th.last {
width: 200px;
}
.table .checkbox {
margin-left: 10px;
}
.table td {
padding: 10px;
}
.table td.last {
text-align: right;
}
/* forms */
input.checkbox {
margin: 0;
padding: 0;
}
.form .group {
margin-bottom: 15px;
}
.form div.left {
width: 20%;
float: left;
}
.form div.right {
width: 75%;
float: right;
}
.form .columns .column {
width: 48%;
}
.form .columns .left {
float: left;
}
.form .columns .right {
float: right;
}
.form label.label, .form input.text_field, .form textarea.text_area {
font-size: 1.2em;
padding: 1px 0;
margin: 0;
}
.form label.right {
text-align: right;
}
.form input.checkbox, .form input.radio {
margin-right: 5px;
}
.form label.checkbox, .form label.radio {
line-height: 1.5em;
}
.form label.label {
display: block;
padding-bottom: 2px;
font-weight: bold;
}
.form div.fieldWithErrors label.label {
display: inline;
}
.form .fieldWithErrors .error {
color: red;
}
.form input.text_field, .form textarea.text_area {
width: 100%;
border-width: 1px;
border-style: solid;
}
/* lists */
ul.list {
margin: 0;
padding: 0;
list-style-type: none;
}
ul.list li {
clear: left;
padding-bottom: 5px;
}
ul.list li .left {
float: left;
}
ul.list li .left .avatar {
width: 50px;
height: 50px;
}
ul.list li .item {
margin-left: 80px;
}
ul.list li .item .avatar {
float: left;
margin: 0 5px 5px 0;
width: 30px;
height: 30px;
}
/* box */
#box {
width: 500px;
margin: 50px auto;
}
#box .block {
margin-bottom: 20px;
}
#box .block h2 {
padding: 10px 15px;
margin: 0;
}
#box .block .content {
padding: 10px 20px;
}
/* Inspired by http://particletree.com/features/rediscovering-the-button-element */
a.button:link, a.button:visited, a.button:hover, a.button:active, button.button {
color: #222;
display:block;
float:left;
margin:0 7px 0 0;
background-color: #eee;
border:1px solid #bfbfbf;
font-size: 1em;
line-height: 1.3em;
font-weight:bold;
cursor:pointer;
padding:5px 10px 6px 7px;
text-decoration: none;
}
button.button {
width:auto;
overflow:visible;
padding:4px 10px 3px 7px; /* IE6 */
}
button.button[type] {
padding:5px 10px 5px 7px; /* Firefox */
line-height:17px; /* Safari */
}
/**:first-child+html button.button[type] {
padding:4px 10px 3px 7px; IE7
}*/
button.button img, a.button img {
margin:0 3px -3px 0 !important;
padding:0;
border:none;
width:16px;
height:16px;
}
button.button:hover, a.button:hover {
background-color:#dedede;
}
button.button:active, a.button:active {
background-color:#e5e5e5;
}
.text_button_padding{
color: #222222;
display: block;
float: left;
font-size: 1em;
line-height: 2em;
margin: 0 7px 0 0;
padding: 5px 0 6px 7px;
text-decoration: none;
}
.link_button{
cursor: pointer;
}

2
app/assets/stylesheets/theme/error_explanation.css.scss

@ -1,7 +1,7 @@
@import 'compass/css3/border-radius';
@import 'compass/css3/text-shadow';
#main .block .content {
.content {
#error_explanation {
@include border-top-radius(6px);
border-left: 1px solid #993624;

6
app/assets/stylesheets/theme/public.css.scss

@ -1,6 +0,0 @@
.public .header-inner {
width: 77%;
min-width: 950px;
margin: auto;
position: relative;
}

413
app/assets/stylesheets/theme/theme.css.scss

@ -1,413 +0,0 @@
@import "compass/css3/border-radius";
@import "compass/css3/box-shadow";
@import "compass/css3/text-shadow";
@import "compass/css3/images";
body {
color: #111111;
background: #c4c4c4 url(image-path("theme/bgd.jpg"));
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
h1, h2, h3 {
color: #111111;
font-weight: normal;
}
a {
color: #111111;
-moz-outline: none;
}
hr {
background: #dddddd;
color: #dddddd;
}
#header {
height: 80px;
background-color: #333333;
@include text-shadow(0 1px 1px rgba(0, 0, 0, 0.25));
@include box-shadow(inset 0 -5px 10px rgba(0, 0, 0, 0.25), 0 1px 1px rgba(255, 255, 255, 0.3));
}
#header h1 {
padding: 15px 5px;
float: left;
font-size: 38px;
font-style: normal;
font-weight: bold;
text-transform: normal;
letter-spacing: -1px;
color: #53d4ff;
}
#header h1 a {
&:link, &:active, &:hover, &:visited {
color: #53d4ff;
border: 6px solid #53d4ff;
padding: 0 10px;
outline: none;
@include border-radius(15px);
@include text-shadow(0 1px 0 rgba(0, 0, 0, 0.6),0 0 6px rgba(143, 181, 200, 1),0 0 30px rgba(143, 181, 200, .7));
@include box-shadow(0 1px 0 rgba(0, 0, 0, 0.6),0 0 6px rgba(143, 181, 200, 1),0 0 30px rgba(143, 181, 200, .7));
}
}
#main {
width: 77%;
min-width: 950px;
float: left;
}
#main .block {
padding-top: 0px;
background-color: white;
@include text-shadow(0 1px 0 white);
@include border-radius(6px);
@include box-shadow(0 0 1px rgba(0, 0, 0, 0.3), 0 1px 1px rgba(0, 0, 0, 0.3));
}
#main .block .content {
padding-top: 1px;
}
#main .block .content .inner {
padding: 0 15px 15px;
}
#main .block .content h2 {
margin-left: 15px;
font-size: 22px;
text-transform: normal;
letter-spacing: -1px;
line-height: 1.2em;
}
#main .block .content p {
font-size: 13px;
font-style: normal;
font-weight: normal;
text-transform: normal;
letter-spacing: normal;
line-height: 1.45em;
}
#main-navigation {
padding-top: 30px;
width: auto;
}
#main-navigation ul li {
padding-left: 20px;
margin-right: 0;
a {
text-decoration: none;
padding: 8px 0;
color: #53d4ff;
&:hover {
text-decoration: underline;
}
}
/*
&.active {
a {
color: #a4a4a4;
}
}
*/
}
.secondary-navigation {
background: #e0e0e0 url(image-path("theme/boxbar-background.png")) top;
border-bottom-width: 0px;
@include border-top-radius(6px);
}
.secondary-navigation li.first a, .secondary-navigation ul li.first {
@include border-top-left-radius(6px);
}
.secondary-navigation ul li a:link, .secondary-navigation ul li a:visited, .secondary-navigation ul li a:hover, .secondary-navigation ul li a:active {
text-decoration: none;
color: #111111;
}
.secondary-navigation ul li.text {
padding: 10px 15px;
color: #818171;
}
.secondary-navigation ul li.active {
background-color: white;
}
.secondary-navigation ul li.active a:hover {
background-color: white;
}
#user-navigation {
top: 33px;
right: 10px;
color: #eeeeee;
font-size: 14px;
}
#user-navigation ul li {
a {
color: #53d4ff;
&:hover {
text-decoration: underline;
}
&.highlight {
color: yellow;
}
}
}
#user-navigation ul li a:active img {
margin-top: 1px;
}
#user-navigation ul li, .secondary-navigation ul li {
float: left;
}
#footer {
color: #261f1f;
text-shadow: none;
}
#footer .block {
@include box-shadow(none);
background: none;
}
#footer p {
margin: 0;
padding: 0;
text-align: center;
}
#sidebar {
width: 20%;
float: right;
}
#sidebar .block {
padding-top: 2px;
padding-bottom: 2px;
@include border-radius(6px);
@include text-shadow(0 1px 0 rgba(255, 255, 255, 0.6));
}
#sidebar .block h4 {
font-weight: normal;
font-family: helvetica, arial, sans-serif;
}
#sidebar .notice {
color: white;
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);
background-color: rgba(0, 0, 0, 0.3);
@include background-image(linear-gradient(rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0)));
@include border-radius(6px);
@include box-shadow(inset 0 1px 3px rgba(0, 0, 0, 0.25), 0 1px 1px rgba(255, 255, 255, 0.3));
}
#sidebar .warning {
padding-left: 10px;
padding-right: 10px;
color: #222222;
background: #ffef4e;
@include border-radius(6px);
@include box-shadow(0 0 1px rgba(0, 0, 0, 0.3), 0 1px 1px rgba(0, 0, 0, 0.1));
border: 1px solid rgba(0, 0, 0, 0.3);
}
#sidebar h3 {
padding-left: 25px;
color: #111111;
border-bottom: 1px solid #261f1f;
}
#sidebar ul li {
background-position: 0 11px;
background-repeat: no-repeat;
background-image: url(image-path("theme/arrow.png"));
border-bottom: 1px dashed #777777;
list-style-type: none;
}
#sidebar ul li a {
margin-left: 10px;
text-decoration: none;
text-shadow: 0 1px 0 white;
}
#sidebar ul li.active a {
color: #a4a4a4;
}
.control {
float: right;
margin-right: 9px;
margin-top: 11px;
}
.pagination a, .pagination span {
border: 1px solid #c3c4ba;
@include border-radius(2px);
margin-right: 5px;
padding: 6px;
min-width: 15px;
text-align: center;
background: #dddddd;
background-image: url(image-path("theme/button-background.png"));
color: #111111;
}
.pagination a:hover {
border: 1px solid #818171;
@include box-shadow(0 0 4px rgba(0, 0, 0, 0.3));
}
.pagination span.current {
background: #261f1f;
color: white;
border: 1px solid #261f1f;
}
.pagination a:active {
background-image: url(image-path("theme/button-background-active.png"));
outline: none;
}
.table th {
background: #eaeaea;
color: #222222;
font-weight: normal;
}
.table th.last {
min-width: 90px;
}
.table td {
border-bottom: 1px solid #eaeaea;
}
.table td.last {
padding-top: 0px;
padding-bottom: 0px;
}
.table tr.even {
background: #f8f8f8;
}
.form label.label {
font-family: helvetica, arial, sans-serif;
font-weight: normal;
color: #666666;
}
.form input.text_field, .form textarea.text_area {
width: 100%;
border: 1px solid #dddddd;
@include box-shadow(inset 0 1px 3px rgba(0, 0, 0, 0.1));
}
.form input.button {
background: #dddddd;
@include border-radius(5px);
border: 1px solid #c1c1c1;
padding: 2px 5px;
cursor: pointer;
color: #111111;
font-weight: bold;
font-size: 11px;
}
.form input.button:hover {
border: 1px solid #666666;
}
.form .description {
font-style: italic;
color: #8c8c8c;
font-size: 0.9em;
}
.form .navform a {
color: #cc0000;
}
.flash .message {
@include border-radius(3px);
text-align: center;
margin: 0 auto 15px;
color: white;
@include text-shadow(0 1px 0 rgba(0, 0, 0, 0.3));
}
.flash .message p {
margin: 8px;
}
.flash .error, .flash .error-list {
border: 1px solid #993624;
background: #cc4831 url(image-path("messages/error.png")) no-repeat 10px center;
}
.flash .warning {
border: 1px solid #bb9004;
background: #f9c006 url(image-path("messages/warning.png")) no-repeat 10px center;
}
.flash .notice {
color: #28485e;
@include text-shadow(0 1px 0 rgba(255, 255, 255, 0.7));
border: 1px solid #8a9daa;
background: #b8d1e2 url(image-path("messages/notice.png")) no-repeat 10px center;
}
.flash .error-list {
text-align: left;
}
.flash .error-list h2 {
font-size: 16px;
text-align: center;
}
.flash .error-list ul {
padding-left: 22px;
line-height: 18px;
list-style-type: square;
margin-bottom: 15px;
}
ul.list li {
border-bottom-color: #dddddd;
border-bottom-width: 1px;
border-bottom-style: solid;
}
ul.list li .item .avatar {
border-color: #dddddd;
border-width: 1px;
border-style: solid;
padding: 2px;
}
#box {
width: 480px;
}
#box .block {
background: white;
text-shadow: 0 1px 0 white;
@include box-shadow(0 0 1px rgba(0, 0, 0, 0.3), 0 1px 1px rgba(0, 0, 0, 0.3));
@include border-radius(6px);
}
#box .block h2 {
background: #261f1f;
color: white;
@include text-shadow(none);
@include border-top-radius(6px);
}
a.button, button.button {
background: #edeeed url(image-path("theme/button-background.png")) top;
border: 1px solid #c3c4ba;
font-family: helvetica, arial, sans-serif;
font-weight: normal;
@include border-radius(3px);
@include box-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
}
a.button:link, a.button:visited, a.button:hover, a.button:active, button.button:link, button.button:visited, button.button:hover, button.button:active {
font-weight: normal;
background: #edeeed url(image-path("theme/button-background.png")) top;
}
a.button:active, button.button:active {
background: #eaeaea url(image-path("theme/button-background-active.png")) top;
outline: none;
margin-top: 1px;
margin-bottom: -1px;
}
.form div.left {
width: 10%;
float: left;
}
.form div.right {
width: 85%;
float: right;
}
.login div.left, .signup div div.left {
width: 21%;
float: left;
}
.login div.right, .signup div div.right {
width: 74%;
float: right;
}

33
app/assets/stylesheets/ui/buttons.css.scss

@ -1,33 +0,0 @@
@import "compass/css3/gradient";
@import "compass/css3/border-radius";
@import "compass/css3/box-shadow";
@import "compass/css3/text-shadow";
@mixin button(
$color: #f5f5f5,
$textColor: #333,
$textShadow: 0 1px 1px rgba(255,255,255,.75),
$padding: 9px 15px 10px,
$borderRadius: 6px
){
display: inline-block;
background-color: darken(saturate($color, 10), 10);
background-repeat: repeat-x;
@include background-image(linear-gradient($color, darken(saturate($color, 10), 10)));
padding: $padding;
text-shadow: $textShadow;
color: $textColor;
line-height: 20px;
@include border-radius($borderRadius);
@include box-shadow(
inset 0 1px 0 rgba(255,255,255,.2),
inset 0 -1px 0 rgba(0,0,0,.2),
0 1px 2px rgba(0,0,0,.25),
0 2px 10px rgba(0,0,0,0.5)
);
&:hover {
background-position: 0 -15px;
color: $textColor;
text-decoration: none;
}
}

8
app/helpers/application_helper.rb

@ -5,13 +5,9 @@ module ApplicationHelper
# and displays it
def flash_display(clazz = '')
flashes = flash.select{|key, msg| msg.present?}.collect { |key, msg|
content_tag :div, (content_tag :p, msg), :class => "message #{key}"
content_tag :div, msg, :class => "message #{key}"
}.join
if flashes.present?
content_tag :div, flashes.html_safe, :class => clazz
else
nil
end
flashes.present? ? content_tag(:div, flashes.html_safe, :class => clazz) : nil
end
def active_scaffold_column_timestamp(column, record)

6
app/models/ability.rb

@ -10,6 +10,7 @@ class Ability
@user = user || User.new
@context = options[:context] || :application
as_action_aliases
action_aliases
if @user.persisted?
owner_abilities
@ -46,10 +47,7 @@ class Ability
end
def action_aliases
alias_action :list, :row, :show_search, :render_field, :to => :read
alias_action :update_column, :add_association, :edit_associated,
:edit_associated, :new_existing, :add_existing, :new_token, :to => :update
alias_action :delete, :destroy_existing, :to => :destroy
alias_action :new_token, :to => :update
end
end

17
app/views/active_scaffold_overrides/list.html.erb

@ -1,17 +0,0 @@
<% respond_to do |format| %>
<% format.html do %>
<div class="block">
<div class="content">
<div class="inner">
<%= render :super %>
</div>
</div>
</div>
<% end %>
<% format.js do %>
<%= render :super %>
<% end %>
<% end %>

2
app/views/devise/confirmations/new.html.erb

@ -6,7 +6,7 @@
<div><%= f.label :email %>
<%= f.email_field :email %></div>
<div><%= f.submit "Resend confirmation instructions" %></div>
<div><%= f.submit "Resend confirmation instructions", class: 'btn-primary' %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>

2
app/views/devise/passwords/edit.html.erb

@ -10,7 +10,7 @@
<div><%= f.label :password_confirmation, "Confirm new password" %>
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Change my password" %></div>
<div><%= f.submit "Change my password", class: 'btn-primary' %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>

2
app/views/devise/passwords/new.html.erb

@ -6,7 +6,7 @@
<div><%= f.label :email %>
<%= f.email_field :email %></div>
<div><%= f.submit "Send me reset password instructions" %></div>
<div><%= f.submit "Send me reset password instructions", class: 'btn-primary' %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>

14
app/views/devise/registrations/edit.html.erb

@ -4,7 +4,8 @@
<h2>Edit <%= resource_name.to_s.humanize %></h2>
<div class="content login">
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name),
:html => { :method => :put }) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :first_name %>
@ -25,13 +26,10 @@
<div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password %></div>
<div><%= f.submit "Update" %></div>
<div><%= f.submit "Update", class: 'btn-primary' %>
<%= link_to "Back", :back %></div>
<% end %>
<br />
<%= link_to "Back", :back %>
<br />
<hr />
<div class="danger-zone">
@ -39,7 +37,9 @@
<p>
If you cancel your account all your data will be deleted!
<%= button_to "Cancel account", registration_path(resource_name),
:confirm => "All your data will be deleted! Are you sure?", :method => :delete %>
class: 'btn-danger',
confirm: "All your data will be deleted! Are you sure?",
method: :delete %>
</p>
</div>

2
app/views/devise/registrations/new.html.erb

@ -23,7 +23,7 @@
<div><%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %></div>
<div><%= f.submit "Sign up" %></div>
<div><%= f.submit "Sign up", class: 'btn-primary' %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>

2
app/views/devise/sessions/new.html.erb

@ -14,7 +14,7 @@
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<div><%= f.submit "Sign in", class: 'btn-primary' %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>

2
app/views/devise/unlocks/new.html.erb

@ -6,7 +6,7 @@
<div><%= f.label :email %>
<%= f.email_field :email %></div>
<div><%= f.submit "Resend unlock instructions" %></div>
<div><%= f.submit "Resend unlock instructions", class: 'btn-primary' %></div>
<% end %>
<%= render :partial => "devise/shared/links" %>

6
app/views/fragments/_bottom.html.erb

@ -1,6 +1,8 @@
<div id="footer">
<div class="footer">
<div class="block">
<br />
<p class="pull-right">
<a href="#">Back to top</a>
</p>
<p>
<%= link_to('Terms & Conditions', page_path('terms'), :data => {:pjax => '#main'}) %> &bull;
<%= link_to('Privacy Policy', page_path('privacy'), :data => {:pjax => '#main'}) %> &bull;

23
app/views/fragments/_navigation.html.erb

@ -0,0 +1,23 @@
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<%= link_to('EntryDNS', root_path, class: 'brand', data: {pjax: '#main'}) %>
<div class="nav-collapse">
<% if user_signed_in? %>
<%= render 'fragments/navigation/application' %>
<% else %>
<%= render 'fragments/navigation/public' %>
<% end %>
</div>
</div>
</div>
</div>

85
app/views/fragments/_top.html.erb

@ -1,85 +0,0 @@
<div id="header">
<div class="header-inner">
<h1><a href="/">EntryDNS</a></h1>
<div id="main-navigation">
<ul class="wat-cf">
<% if user_signed_in? %>
<li><%#= link_to('Dashboard', dashboard_path, :data => {:pjax => '#main'}) %></li>
<li>
<%= link_to domains_path, :data => {:pjax => '#main'} do %>
<i class="icon-white icon-th-list"></i> My Domains
<% end %>
</li>
<li>
<%= link_to hosts_path, :data => {:pjax => '#main'} do %>
<i class="icon-white icon-th"></i> Dynamic Hosts
<% end %>
</li>
<% else %>
<li><%= link_to('Home', root_path, :data => {:pjax => '#main'}) %></li>
<li><%= link_to('About', page_path('about'), :data => {:pjax => '#main'}) %></li>
<li><%= link_to('Team', page_path('team'), :data => {:pjax => '#main'}) %></li>
<li><%= link_to('Contact', page_path('contact'), :data => {:pjax => '#main'}) %></li>
<li><%= link_to('Help & Support', page_path('help'), :data => {:pjax => '#main'}) %></li>
<% end %>
</ul>
</div>
<div id="user-navigation">
<ul class="wat-cf">
<li>
<%= link_to 'Tweet', "https://twitter.com/share", :class => "twitter-share-button",
:data => {
:url => root_url,
:text => "EntryDNS a nice free DNS service",
:count => "horizontal",
:via => "entrydns",
:related => "_clyfe:vaijab"
} %>
</li>
<li>
<%= link_to(Settings.news_link, :rel => 'tooltip', :title => Settings.news_link) do %>
<i class="icon-white icon-share-alt"></i> News
<% end %>
</li>
<li>
<%= link_to(page_path('donate'), :rel => 'tooltip', :title => 'PayPal',
:class => 'highlight', :data => {:pjax => '#main'}) do %>
<i class="icon-white icon-heart"></i> Donate
<% end %>
</li>
<% if user_signed_in? %>
<li>
<%= link_to(page_path('help'), :data => {:pjax => '#main'}) do %>
<i class="icon-white icon-question-sign"></i> Help & Support
<% end %>
</li>
<li>
<%= link_to(edit_user_registration_path, :rel => 'tooltip',
:title => "IP: #{client_remote_ip}",:data => {:pjax => '#main'}) do %>
<i class="icon-white icon-user"></i> <%= current_user.email %>
<% end %>
</li>
<li>
<%= link_to(destroy_user_session_path, :method => :delete) do %>
<i class="icon-white icon-off"></i> Sign out
<% end %>
</li>
<% else %>
<li>
<%= link_to(new_user_registration_path, :data => {:pjax => '#main'}) do %>
<i class="icon-white icon-arrow-up"></i> Sign up
<% end %>
</li>
<li>
<%= link_to(new_user_session_path, :data => {:pjax => '#main'}) do %>
<i class="icon-white icon-arrow-right"></i> Sign in
<% end %>
</li>
<% end %>
</ul>
</div>
<div id="main-navigation">
<ul class="wat-cf"></ul>
</div>
</div>
</div>

43
app/views/fragments/navigation/_application.html.erb

@ -0,0 +1,43 @@
<ul class="nav">
<li><%#= link_to('Dashboard', dashboard_path, :data => {:pjax => '#main'}) %></li>
<li>
<%= link_to domains_path, data: {pjax: '#main'} do %>
<i class="icon-white icon-th-list"></i> My Domains
<% end %>
</li>
<li>
<%= link_to hosts_path, data: {pjax: '#main'} do %>
<i class="icon-white icon-th"></i> Dynamic Hosts
<% end %>
</li>
<li>
<%= link_to(page_path('help'), data: {pjax: '#main'}) do %>
<i class="icon-white icon-question-sign"></i> Help & Support
<% end %>
</li>
</ul>
<ul class="nav pull-right">
<li>
<%= link_to(Settings.news_link, rel: 'tooltip', title: Settings.news_link) do %>
<i class="icon-white icon-share-alt"></i> News
<% end %>
</li>
<li>
<%= link_to(page_path('donate'), rel: 'tooltip', title: 'PayPal',
class: 'highlight', data: {pjax: '#main'}) do %>
<i class="icon-white icon-heart"></i> Donate
<% end %>
</li>
<li>
<%= link_to(edit_user_registration_path, rel: 'tooltip',
:title => "IP: #{client_remote_ip}", data: {pjax: '#main'}) do %>
<i class="icon-white icon-user"></i> <%= current_user.email %>
<% end %>
</li>
<li>
<%= link_to(destroy_user_session_path, method: :delete) do %>
<i class="icon-white icon-off"></i> Sign out
<% end %>
</li>
</ul>

32
app/views/fragments/navigation/_public.html.erb

@ -0,0 +1,32 @@
<ul class="nav">
<li><%= link_to('About', page_path('about'), data: {pjax: '#main'}) %></li>
<li><%= link_to('Team', page_path('team'), data: {pjax: '#main'}) %></li>
<li><%= link_to('Contact', page_path('contact'), data: {pjax: '#main'}) %></li>
<li><%= link_to('Help & Support', page_path('help'), data: {pjax: '#main'}) %></li>
</ul>
<ul class="nav pull-right">
<li>
<%= link_to(Settings.news_link, rel: 'tooltip', title: Settings.news_link) do %>
<i class="icon-white icon-share-alt"></i> News
<% end %>
</li>
<li>
<%= link_to(page_path('donate'), rel: 'tooltip', title: 'PayPal',
class: 'highlight', data: {pjax: '#main'}) do %>
<i class="icon-white icon-heart"></i> Donate
<% end %>
</li>
<li>
<%= link_to(new_user_registration_path, data: {pjax: '#main'}) do %>
<i class="icon-white icon-arrow-up"></i> Sign up
<% end %>
</li>
<li>
<%= link_to(new_user_session_path, data: {pjax: '#main'}) do %>
<i class="icon-white icon-arrow-right"></i> Sign in
<% end %>
</li>
</ul>

12
app/views/layouts/application.html.erb

@ -1,22 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EntryDNS</title>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tag %>
</head>
<body class="application">
<%= render :partial => 'fragments/navigation' %>
<div id="container">
<%= render :partial => 'fragments/top' %>
<div id="wrapper" class="wat-cf">
<div id="main" data-pjax-container="true">
<div class="container" id="main">
<div data-pjax-container="true">
<%= flash_display 'flash' %>
<%= yield %>
</div>
</div>
<%= render :partial => 'fragments/bottom' %>
</div>

18
app/views/layouts/errors.html.erb

@ -1,28 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EntryDNS</title>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tag %>
</head>
<body class="errors">
<div id="container">
<%= render :partial => 'fragments/top' %>
<div id="wrapper" class="wat-cf">
<div id="main" style="width: 100%;">
<div class="block">
<div class="content">
<div class="inner" data-pjax-container="true">
<div class="container" id="main">
<div data-pjax-container="true">
<%= flash_display 'flash' %>
<%= yield %>
</div>
</div>
</div>
</div>
</div>
<%= render :partial => 'fragments/bottom' %>
</div>

11
app/views/layouts/public.html.erb

@ -1,7 +1,10 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>EntryDNS free DNS service and dynamic DNS</title>
<meta name="description" content="EntryDNS free DNS service and dynamic DNS" />
@ -13,15 +16,13 @@
<%= csrf_meta_tag %>
</head>
<body class="public">
<%= render :partial => 'fragments/navigation' %>
<div id="container">
<%= render :partial => 'fragments/top' %>
<div id="wrapper" class="wat-cf">
<div id="main" class="home-page-main" data-pjax-container="true">
<div class="container" id="main">
<div data-pjax-container="true">
<%= flash_display 'flash' %>
<%= yield %>
</div>
</div>
<%= render :partial => 'fragments/bottom' %>
</div>

13
app/views/pages/about.html.erb

@ -1,8 +1,6 @@
<div class="block article">
<div class="content">
<div class="inner">
<div class="page-header">
<h1>About EntryDNS</h1>
</div>
<p>
EntryDNS delivers a totally free DNS management service for your enjoyment.
@ -10,7 +8,7 @@
Our aim is to provide a friendly and caring, yet powerful service for your DNS needs.
</p>
<h2>What you can use it for</h2>
<h4>What you can use it for</h4>
<p>
With our service you can create hosts or host your own domains,
@ -20,7 +18,7 @@
The service gives you a total control of your DNS records without any restrictions.
</p>
<h2>How can you benefit from this</h2>
<h4>How can you benefit from this</h4>
<%= render 'pages/fragments/benefits' %>
@ -30,6 +28,3 @@
We are interested to hear from people who would like to contribute in any way.
</p>
</div>
</div>
</div>

9
app/views/pages/contact.html.erb

@ -1,8 +1,6 @@
<div class="block article">
<div class="content">
<div class="inner">
<div class="page-header">
<h1>Contact us</h1>
</div>
<p>
Our email address is <%= mail_to Settings.support_mail %> ,
@ -11,6 +9,3 @@
<%= render :partial => 'pages/contact/form' %>
</div>
</div>
</div>

11
app/views/pages/contact/_form.html.erb

@ -6,25 +6,26 @@
</div>
<p>
<%= f.label :name, 'Your name' %><br />
<%= f.label :name, 'Your name' %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :email, 'Your email' %><br />
<%= f.label :email, 'Your email' %>
<%= f.text_field :email %>
</p>
<p>
<%= f.label :file %> <i>can be attached optionally</i><br />
<%= f.label :file %>
<%= f.file_field :file %>
<i>can be attached optionally</i>
</p>
<p>
<%= f.label :message %><br />
<%= f.label :message %>
<%= f.text_area :message, :rows => 10 %>
</p>
<p><%= f.submit 'Send', :class => 'send-contact-form' %></p>
<p><%= f.submit 'Send', :class => 'btn-primary' %></p>
<% end %>

43
app/views/pages/donate.html.erb

@ -1,10 +1,7 @@
<div class="block article">
<div class="content">
<div class="inner">
<div class="page-header">
<h1>Donate</h1>
<p>How do I contribute?</p>
<small>How do I contribute?</small>
</div>
<p>
EntryDNS is a free service for everyone, but contribution is more than welcome.
@ -17,47 +14,33 @@
the world for better response times and availability.
</p>
<table class="donate-table">
<tr class="curency">
<td>&euro; EUR</td>
<td>$ USD</td>
<td>&pound; GBP</td>
</tr>
<tr>
<td>
<div class="row">
<div class="span4">
<h3>&euro; EUR</h3>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="7FQMY358VCKA6">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
</td>
<td>
</div>
<div class="span4">
<h3>$ USD</h3>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="5U3JLJAAKRGPJ">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
</td>
<td>
</div>
<div class="span4">
<h3>&pound; GBP</h3>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="WJJWPYZBBBKUG">
<input type="image" src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal — The safer, easier way to pay online.">
<img alt="" border="0" src="https://www.paypalobjects.com/en_GB/i/scr/pixel.gif" width="1" height="1">
</form>
</td>
</tr>
</table>
</div>
</div>
</div>

4
app/views/pages/fragments/_action.html.erb

@ -1,7 +1,7 @@
<div class="action">
<%= image_tag 'marketing/arrow_left.png' %>
<%= link_to new_user_registration_path, :style => 'text-decoration: none' do %>
<%= link_to new_user_registration_path, :class => 'btn btn-primary btn-large' do %>
<strong>Create an Account Now</strong><br>
<em>It's free, sign up in 60 seconds.</em>
<small>It's free, sign up in 60 seconds.</small>
<% end %>
</div>

29
app/views/pages/help.html.erb

@ -1,38 +1,36 @@
<div class="block article">
<div class="content">
<div class="inner help-page">
<div class="page-header">
<h1>Help & Support</h1>
<small>We are working hard on creating a support system. In the mean time please bear with us!</small>
</div>
<em>We are working hard on creating a support system. In the mean time please bear with us!</em>
<h3>I have an idea for an EntryDNS feature, who can I tell about it?</h3>
<h4>I have an idea for an EntryDNS feature, who can I tell about it?</h4>
<p>
We’d love to hear your idea. Please send an email to <%= mail_to Settings.support_mail %>
or use our <%= link_to 'contact form', page_path('contact') %>.
</p>
<h3>What support can I expect?</h3>
<h4>What support can I expect?</h4>
<p>
Since the service is totally free and we both have full time jobs,
we do our best to answer your questions and address your suggestions.
</p>
<h3>How can I contact you if I have a question?</h3>
<h4>How can I contact you if I have a question?</h4>
<ul>
<li>Email: <%= mail_to Settings.support_mail %></li>
<li>Web: <%= link_to 'contact form', page_path('contact') %></li>
<li>IRC: #entrydns on irc.freenode.net</li>
</ul>
<h3>What are your name servers?</h3>
<h4>What are your name servers?</h4>
<ul>
<li>ns1.entrydns.net</li>
<li>ns2.entrydns.net</li>
<li>ns3.entrydns.net</li>
</ul>
<h3>How can I update my domain record dynamically?</h3>
<h4>How can I update my domain record dynamically?</h4>
<div>
We offer two API's: Complete REST API and Simple API.<br />
Using the simple API you can update your records using the following shell commands:<br />
@ -45,21 +43,18 @@
<pre style="margin-top: 0;">curl -k -X PUT -d "" https://entrydns.net/records/modify/TOKEN</pre>
</div>
<h3>What domain record types do you currently support?</h3>
<h4>What domain record types do you currently support?</h4>
<p>SOA, NS, A, CNAME, AAAA, MX, TXT, SRV (more coming soon)</p>
<h3>Can I set individual TTL for each record?</h3>
<h4>Can I set individual TTL for each record?</h4>
<p>Yes, you certainly can.</p>
<h3>What is a minimum TTL for a domain record?</h3>
<h4>What is a minimum TTL for a domain record?</h4>
<p>60 seconds</p>
<h3>Do you offer domain names?</h3>
<h4>Do you offer domain names?</h4>
<p>
We offer free subdomains on our <strong>entrydns.org</strong> domain
in the form <strong>yourname.entrydns.org</strong>
</p>
</div>
</div>
</div>

74
app/views/pages/home.html.erb

@ -1,61 +1,57 @@
<div class="block home-page-block article">
<div class="content">
<h1>Totally Free DNS service for everyone <small>created by Geeks</small></h1>
<div class="inner home-page-inner">
<div class="page-header">
<h1>
Totally Free DNS service for everyone
<small>created by Geeks</small>
<span class="pull-right">
<%= link_to 'Tweet', "https://twitter.com/share", :class => "twitter-share-button", :data => {
:url => root_url,
:text => "EntryDNS a nice free DNS service",
:count => "horizontal",
:via => "entrydns",
:related => "_clyfe:vaijab"
} %>
</span>
</h1>
</div>
<table class="home-page-duo">
<tr>
<td class="home-page-text">
<div class="row">
<div class="span6">
<%= render :partial => 'pages/home/headlines' %>
<br />
<%= render :partial => 'pages/fragments/action' %>
</td>
<td class="home-page-images">
<%= render :partial => 'pages/home/slides' %>
</td>
</tr>
</table>
</div>
<div class="span6">
<%= render :partial => 'pages/home/slides' %>
</div>
</div>
<table class="home-page-duo">
<tr>
<td>
<hr />
<div class="row">
<div class="span6">
<blockquote>
We are two geeks who built a free DNS service to fill a void in this space.
The service is free and we hope to support it on either a freemium model or some sort of affiliate sales.
</blockquote>
</td>
<td>
</div>
<div class="span6">
<blockquote>
Note that we just started it, and there are still things to be done, it's still a work in progress.
Nevertheless the service is at this point functional and there are people already using it.
</blockquote>
</td>
</tr>
</table>
</div>
</div>
<div class="block">
<div class="content">
<div class="inner home-page-second">
<hr />
<table class="home-page-duo">
<tr>
<td class="home-page-text">
<h2>Benefits</h2>
<div class="row">
<div class="span6">
<h3>Benefits</h3>
<%= render 'pages/fragments/benefits' %>
<br /><br />
<%= render :partial => 'pages/fragments/action' %>
</td>
<td class="home-page-images">
<h2>Features</h2>
<%= render 'pages/fragments/features' %>
</td>
</tr>
</table>
</div>
<div class="span6">
<h3>Features</h3>
<%= render 'pages/fragments/features' %>
</div>
</div>

10
app/views/pages/home/_headlines.html.erb

@ -1,4 +1,4 @@
<h2>A friendly service you can use right away</h2>
<h3>A friendly service you can use right away</h3>
<p>
We're people passionate about technology and we built to fill our own needs,
@ -19,11 +19,11 @@
<li>
Complete developers API's
</li>
</ul>
<p style="text-align: center;">
<li>
Now serving:
<em class="mk-point"><%= User.count %></em> users,
<em class="mk-point"><%= Domain.count %></em> domains and
<em class="mk-point"><%= Record.count %></em> records!
</p>
</li>
</ul>

9
app/views/pages/privacy.html.erb

@ -1,10 +1,8 @@
<div class="block article">
<div class="content">
<div class="inner">
<div class="page-header">
<h1>
Privacy Policy
</h1>
</div>
<p>
Your privacy is very important to us. Accordingly, we have developed this Policy in order for you to understand how we collect, use, communicate and disclose and make use of personal information. The following outlines our privacy policy.
@ -38,6 +36,3 @@
We are committed to conducting our business in accordance with these principles in order to ensure that the confidentiality of personal information is protected and maintained.
</p>
</div>
</div>
</div>

20
app/views/pages/team.html.erb

@ -1,20 +1,12 @@
<div class="block article">
<div class="content">
<div class="inner team">
<div class="page-header">
<h1>Meet the founders</h1>
</div>
<table>
<tr>
<td class="bio">
<div class="row">
<div class="span6">
<%= render :partial => 'pages/team/zooz' %>
</td>
<td class="bio">
<%= render :partial => 'pages/team/clyfe' %>
</td>
</tr>
</table>
</div>
<div class="span6">
<%= render :partial => 'pages/team/clyfe' %>
</div>
</div>

2
app/views/pages/team/_clyfe.html.erb

@ -1,4 +1,4 @@
<h2>Claudius Nicolae <em>Programmer</em></h2>
<h4>Claudius Nicolae <small>Programmer</small></h4>
<p>
He is a software developer from Romania. He has a

2
app/views/pages/team/_zooz.html.erb

@ -1,4 +1,4 @@
<h2>Vaidas Jablonskis <em>System Administrator</em></h2>
<h4>Vaidas Jablonskis <small>System Administrator</small></h4>
<p>
He began his career as a Linux systems user and quickly became involved with

9
app/views/pages/terms.html.erb

@ -1,10 +1,8 @@
<div class="block article">
<div class="content">
<div class="inner">
<div class="page-header">
<h1>
Terms and Conditions of Use
</h1>
</div>
<h3>
1. Terms
@ -124,6 +122,3 @@
without regard to its conflict of law provisions.
</p>
</div>
</div>
</div>

Loading…
Cancel
Save