finishing touches

This commit is contained in:
Kyle Drake 2014-12-20 17:51:50 -08:00
parent 62d0fa36d7
commit a2c01e91dd
8 changed files with 102 additions and 161 deletions

View file

@ -60,3 +60,7 @@ get '/plan/thanks' do
require_login
erb :'plan/thanks'
end
get '/plan/alternate' do
erb :'/plan/alternate'
end

View file

@ -21,9 +21,9 @@ get '/stats/?' do
monthly_stats = []
now = Time.now
now = Date.today
until runner.year == now.year && runner.month == now.month+1
until runner.to_time > now.next_month.to_time
monthly_stats.push(
date: runner,
sites_created: Site.where(created_at: runner..runner.next_month).count,

View file

@ -79,46 +79,38 @@ class Site < Sequel::Model
IP_CREATE_LIMIT = 50
TOTAL_IP_CREATE_LIMIT = 300
PLAN_FEATURES = {
fatcat: {
name: 'Fat Cat',
space: Filesize.from('20GB').to_i,
bandwidth: Filesize.from('3TB').to_i,
price: 10,
unlimited_site_creation: true,
custom_ssl_certificates: true,
no_file_restrictions: true
}
}
PLAN_FEATURES = {}
PLAN_FEATURES[:catbus] = PLAN_FEATURES[:fatcat].merge(
name: 'Cat Bus',
PLAN_FEATURES[:supporter] = {
name: 'Supporter',
space: Filesize.from('5GB').to_i,
bandwidth: Filesize.from('1TB').to_i,
price: 5,
)
PLAN_FEATURES[:supporter] = PLAN_FEATURES[:catbus].merge(
name: 'Supporter',
space: Filesize.from('1GB').to_i,
bandwidth: Filesize.from('0.5TB').to_i,
price: 2,
custom_ssl_certificates: false,
no_file_restrictions: false
)
unlimited_site_creation: true,
custom_ssl_certificates: true,
no_file_restrictions: true,
custom_domains: true
}
PLAN_FEATURES[:free] = PLAN_FEATURES[:supporter].merge(
name: 'Free',
space: Filesize.from('30MB').to_i,
bandwidth: Filesize.from('100GB').to_i,
space: Filesize.from('50MB').to_i,
bandwidth: Filesize.from('50GB').to_i,
price: 0,
unlimited_site_creation: false
unlimited_site_creation: false,
custom_ssl_certificates: false,
no_file_restrictions: false,
custom_domains: false
)
def plan_feature(key)
PLAN_FEATURES[plan_type.to_sym][key.to_sym]
end
def custom_domain_available?
owner.plan_feature(:custom_domains) == true || !domain.nil?
end
LEGACY_SUPPORTER_PRICES = {
plan_one: 1,
plan_two: 2,
@ -464,7 +456,7 @@ class Site < Sequel::Model
end
def okay_to_upload?(uploaded_file)
return true if [:catbus, :fatcat].include?(plan_type.to_sym)
return true if [:supporter].include?(plan_type.to_sym)
self.class.valid_file_type?(uploaded_file)
end

View file

@ -27,7 +27,7 @@
For security reasons, we cannot reset your password if you did not enter an e-mail for your site. You will have to make a new site (don't worry, it's free!). If you didn't get an e-mail from the password reset form, you didn't enter an e-mail (or it's in your spam folder). Again you will have to make a new site, we cannot help you for security reasons.
</li>
<li>
We do not support FTP or GIT uploading, and have no plans to. SFTP possibly, if we can find the time.
We do not support SFTP or GIT uploading, though we may in the future. Instead, we currently support <a href="/site_files/mount_info">WebDAV</a>.
</li>
</ul>

View file

@ -13,6 +13,7 @@
<article>
<section>
<h2>How to Donate</h2>
<p>If you send a donation and want to become a supporter, send us an email and we'll take care of it. Thanks!</p>
<h3>Gratipay:</h3>
<script data-gratipay-username="neocities" src="//gttp.co/v1.js"></script>

View file

@ -7,11 +7,11 @@
elsif parent_site && parent_site.plan_type == plan_type
%{<div class="current-plan">Current Plan</div>}
else
if plan_type == 'supporter'
plan_price = "$#{Site::PLAN_FEATURES[plan_type.to_sym][:price]*12}, once per year"
else
#if plan_type == 'supporter'
# plan_price = "$#{Site::PLAN_FEATURES[plan_type.to_sym][:price]*12}, once per year"
#else
plan_price = "$#{Site::PLAN_FEATURES[plan_type.to_sym][:price]}, monthly"
end
#end
%{<a data-plan_name="#{Site::PLAN_FEATURES[plan_type.to_sym][:name]}" data-plan_type="#{plan_type}" data-plan_price="#{plan_price}" onclick="return false" class="btn-Action planPricingButton">#{parent_site.plan_type == 'free' ? 'Upgrade' : 'Change'}</a>}
end
end
@ -32,7 +32,7 @@
<div class="row" style="margin-top: 0px">
<div class="col-75" style="margin-left: auto; margin-right: auto;">
<h3 class="subtitle">
The Neocities Supporter Plans are a way to help sustain the site. When you join a Supporter Plan, you are directly helping our quest to bring back the creative, independent web, and to continue to improve Neocities for everyone.
The Neocities Supporter Plan is a way to help sustain the site. When you become a supporter, you are directly helping our quest to bring back the creative, independent web, and to continue to improve Neocities for everyone.
</h3>
</div>
</div>
@ -40,17 +40,17 @@
<div class="plan-overview">
<div class="header">
<div class="col col-25 personal">
<div class="col col-50 personal">
Free
</div>
<div class="col col-75 professional">
<div class="col col-50 professional">
Supporter
</div>
</div>
<div class="body">
<div class="col col-25 free">
<div class="plan-image free" data-original-title="Pick me!">
<div class="plan-image free">
</div>
<h3>Free</h3>
<div class="price">$<%= Site::PLAN_FEATURES[:free][:price] %></div>
@ -65,14 +65,14 @@
</div>
<div class="col col-25 supporter">
<div class="plan-image" data-original-title="No no, pick me!"></div>
<div class="plan-image" data-original-title="Pick me!"></div>
<h3>Supporter</h3>
<% if parent_site && parent_site.legacy_supporter? %>
<div class="price">$<%= Site::LEGACY_SUPPORTER_PRICES[parent_site[:plan_type].to_sym] %></div>
<div class="interval">per month, billed annually</div>
<% else %>
<div class="price">$<%= Site::PLAN_FEATURES[:supporter][:price] %></div>
<div class="interval">per month, billed annually</div>
<div class="interval">per month</div>
<% end %>
<% if parent_site && parent_site.legacy_supporter? %>
@ -82,55 +82,23 @@
<% end %>
<ul>
<li><strong><%= Site::PLAN_FEATURES[:supporter][:space].to_space_pretty %></strong> storage</li>
<li><strong><%= Site::PLAN_FEATURES[:supporter][:bandwidth].to_space_pretty %></strong> bandwidth</li>
<li><strong>1000 GB</strong> bandwidth</li>
</ul>
<ul>
<li>Unlimited Sites</li>
<li>More space</li>
<li>Lots of Web Space</li>
<li>No File Upload Type Restrictions</li>
<li>Unlimited Site Creation</li>
<li>Custom Domains (yoursite.com)</li>
<li>Remote Filesystem Support</li>
<li>Custom SSL Certs (coming soon!)</li>
</ul>
</div>
<div class="col col-25 catbus">
<div class="plan-image" data-original-title="いきましょう"></div>
<h3>Cat Bus</h3>
<div class="price">$<%= Site::PLAN_FEATURES[:catbus][:price] %></div>
<div class="interval">per month</div>
<%== plan_pricing_button :catbus %>
<ul>
<li><strong><%= Site::PLAN_FEATURES[:catbus][:space].to_space_pretty %></strong> storage</li>
<li><strong><%= Site::PLAN_FEATURES[:catbus][:bandwidth].to_space_pretty %></strong> bandwidth</li>
</ul>
<ul>
<li>Unlimited Sites</li>
<li>Custom SSL Certificates (coming soon)</li>
<li>No upload type restrictions</li>
<li>Even more space</li>
</ul>
</div>
<div class="col col-25 fatcat">
<div class="plan-image" data-original-title="Jolly good."></div>
<h3>Fat Cat</h3>
<div class="price">$<%= Site::PLAN_FEATURES[:fatcat][:price] %></div>
<div class="interval">per month</div>
<%== plan_pricing_button :fatcat %>
<ul>
<li><strong><%= Site::PLAN_FEATURES[:fatcat][:space].to_space_pretty %></strong> storage</li>
<li><strong><%= Site::PLAN_FEATURES[:fatcat][:bandwidth].to_space_pretty %></strong> bandwidth</li>
</ul>
<ul>
<li>Unlimited Sites</li>
<li>Custom SSL Certificates (coming soon)</li>
<li>No upload type restrictions</li>
<li>A lot more space!</li>
</ul>
</div>
</div>
</div>
<!-- <h2><a href="">Compare Plans <i class="fa fa-caret-down"></i></a></h2> -->
<h2 style="margin-top: 2em">Compare Plans</h2>
<h2 style="margin-top: 2em">Compare</h2>
<table class="plan-chart">
<tr>
<th class="feature-column"></th>
@ -149,16 +117,6 @@
<%== plan_pricing_button :supporter %>
<% end %>
</th>
<th class="professional">
<h3>Cat Bus</h3>
<p>$<%= Site::PLAN_FEATURES[:catbus][:price] %>/mo</p>
<%== plan_pricing_button :catbus %>
</th>
<th class="professional">
<h3>Fat Cat</h3>
<p>$<%= Site::PLAN_FEATURES[:fatcat][:price] %>/mo</p>
<%== plan_pricing_button :fatcat %>
</th>
</tr>
<tr>
<td class="feature-column">
@ -166,17 +124,13 @@
</td>
<td><%= Site::PLAN_FEATURES[:free][:space].to_bytes_pretty %></td>
<td><%= Site::PLAN_FEATURES[:supporter][:space].to_bytes_pretty %></td>
<td><%= Site::PLAN_FEATURES[:catbus][:space].to_bytes_pretty %></td>
<td><%= Site::PLAN_FEATURES[:fatcat][:space].to_bytes_pretty %></td>
</tr>
<tr>
<td class="feature-column">
<span data-original-title="How much content you can serve in one month. Dont worry—these are soft limits. Temporary surges are fine, we won't take your site down automatically, and we're very flexible.">Bandwidth</span>
</td>
<td><%= Site::PLAN_FEATURES[:free][:bandwidth].to_bytes_pretty %></td>
<td><%= Site::PLAN_FEATURES[:supporter][:bandwidth].to_bytes_pretty %></td>
<td><%= Site::PLAN_FEATURES[:catbus][:bandwidth].to_bytes_pretty %></td>
<td><%= Site::PLAN_FEATURES[:fatcat][:bandwidth].to_bytes_pretty %></td>
<td>1000 GB</td>
</tr>
<tr>
<td class="feature-column">
@ -184,8 +138,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -193,8 +145,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -202,26 +152,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
<span data-original-title="Add your domain name (yoursite.com) to your site!">Custom Domains</span>
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
<span data-original-title="You can mount your Neocities site to your computer as a hard drive, making it easy to update with your favorite HTML editor.">WebDAV Uploading</span>
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -229,8 +159,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -238,8 +166,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -247,8 +173,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -256,8 +180,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -265,8 +187,6 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
@ -274,34 +194,40 @@
</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<!--
<tr>
<td class="feature-column">Site Tipping (Coming Soon)</td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
-->
<tr>
<td class="feature-column">
<span data-original-title="You can mount your Neocities site to your computer as a hard drive, making it easy to update with your favorite HTML editor.">WebDAV Uploading</span>
</td>
<td></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
<span data-original-title="Add your domain name (yoursite.com) to your site!">Custom Domains</span>
</td>
<td></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
<span data-original-title="Make as many sites as you want with one account, and easily switch between them.">Unlimited Site Creation</span>
</td>
<td></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
<td class="feature-column">
<span data-original-title="Upload your SSL certificate for your custom domain name, preventing snoops from seeing your users traffic.">Custom SSL Certs (soon)</span>
</td>
<td></td>
<td></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
<tr>
@ -309,8 +235,6 @@
<span data-original-title="No whitelists—you can upload anything you want (no copyrighted content, trojans, or w4r3z, please).">No File Upload Type Restrictions</span>
</td>
<td></td>
<td></td>
<td><i class="fa fa-check"></i></td>
<td><i class="fa fa-check"></i></td>
</tr>
</table>
@ -318,7 +242,7 @@
<% if request.path.match /\/plan/ %>
<div class="row" style="margin-top: 50px; margin-bottom: 0px;">
<div class="col-50" style="margin-left: auto; margin-right: auto">
<h2>Why get a Supporter Plan?</h2>
<h2>Why become a Supporter?</h2>
</div>
</div>
@ -326,7 +250,7 @@
<div class="col-60" style="margin-left: auto; margin-right: auto">
<ul>
<li>
<strong>You get more space!</strong> Right now supporter plans get up to <strong><%= Site::PLAN_FEATURES[:fatcat][:space].to_space_pretty %></strong>.
<strong>You get more space!</strong> Right now supporter plans get up to <strong><%= Site::PLAN_FEATURES[:supporter][:space].to_space_pretty %></strong>.
</li>
<li>
<strong>It helps your site.</strong> Funding helps us make your site faster globally, and provide more features.
@ -335,10 +259,10 @@
<strong>It helps us build.</strong> It supports our goal to work on Neocities full-time, without worrying about bills.
</li>
<li>
<strong>It helps the web.</strong> The web needs more independent, creative sites. Neocities is leading the way.
<strong>It helps the web.</strong> The web needs more independent, creative sites.
</li>
<li>
<strong>It's Open Source.</strong> Neocities is <a href="https://github.com/neocities" target="_blank">completely open source</a>, and we share code with the community.
<strong>It's Open Source.</strong> Neocities is an <a href="http://www.opencompany.org">Open Company</a>, our site is <a href="https://github.com/neocities">completely open source</a>, and we share code with the community.
</li>
<li>
<strong>No lock-in.</strong> Redirecting your site is easy, free site downloads, and support for custom domains.
@ -436,7 +360,7 @@
<% unless params[:stripe_token] || (current_site && parent_site.stripe_customer_id) %>
<p>
<strong>Don't have a Credit Card?</strong> We support Bitcoin and Paypal! <a href="/donate" target="_blank">Click here</a> for more information.
<strong>Don't have a Credit/Debit Card?</strong> We support Bitcoin and Paypal! <a href="/plan/alternate">Click here</a> for more information.
</p>
<% end %>
</div>

View file

@ -40,6 +40,8 @@
<a href="/img/neocitiesbadge.svg" download="neocitiesbadge.svg"><img src="/img/neocitiesbadge.svg"></a>
<p>Download: <a href="/img/neocitiesbadge.svg" download="neocitiesbadge.svg">SVG</a></p>
</div>
<p>There are no creative restrictions on the use of these images. Go nuts.</p>
</div>
</div>
</div>

View file

@ -1,22 +1,37 @@
<h2>Custom Domain</h2>
<h3 class="subtitle">Add your own domain name to your Neocities site!</h3>
<h3 class="subtitle">Add your own domain name to your Neocities site</h3>
<p>
Adding a custom domain allows you to have a domain name attached to your web site. So if you had a domain like <strong>catsknitting.com</strong>, you could have it point to your Neocities site!
Adding a custom domain allows you to have a domain name attached to your web site. So if you had a domain like <strong>catsknitting.com</strong>, you could have it point to your Neocities site.
</p>
<p>
You will have to purchase a domain name from a registrar like <a href="https://www.namecheap.com/?aff=53678" target="_blank">Namecheap</a>, and then add an A record to point your domain (catsknitting.com) to the following IP address:
You will have to purchase a domain name from a registrar like <a href="https://www.namecheap.com/?aff=53678" target="_blank">Namecheap</a> first. We are working on providing domain purchasing from Neocities in the future, but in general it is best if you own the domain, because then you control your site.
</p>
<p><code>198.27.81.179</code></p>
<% if current_site.custom_domain_available? %>
<p>
If you want to add a <strong>www</strong> subdomain, or use a wildcard that will answer to everything (<strong>*</strong>), you will have to make a CNAME pointing to <strong>catsknitting.com</strong> for <strong>www</strong> and/or <strong>*</strong>.
We will be using <strong>catsknitting.com</strong> for the examples below.
</p>
<h3>Step 1</h3>
<p>
After that, you can add the domain to the box below (just the <strong>catsknitting.com</strong>, don't add any subdomains), and your domain should come online within 5 minutes:
First, you need to add an "A record" to point your root domain (catsknitting.com) to the following IP address:
</p>
<p><code>54.68.34.66</code></p>
<h3>Step 2</h3>
<p>
Next, you need to add a CNAME record which points <strong>www.catsknitting.com</strong> to <strong>proxy.neocitiesops.net</strong>.
</p>
<h3>Step 3</h3>
<p>
Add the domain name to the box below (just the <strong>catsknitting.com</strong>, don't add any subdomains), and your domain should come online within 5 minutes:
</p>
<form method="POST" action="/settings/<%= @site.username %>/custom_domain">
@ -25,6 +40,9 @@
<br>
<input class="btn-Action" type="submit" value="Update Domain">
</form>
<% else %>
<strong>Custom domains require a Supporter account. <a href="/plan">Upgrade now</a>.</strong>
<% end %>
<h2>Add SSL Certificate</h2>
<p>