work on converting slim to erb

This commit is contained in:
Kyle Drake 2014-04-17 14:12:12 -07:00
parent cff94803a9
commit a96f16fded
35 changed files with 322 additions and 333 deletions

1
.gitignore vendored
View file

@ -18,3 +18,4 @@ doc/
tests/coverage
config.yml
.DS_Store
public/assets/css/.sass-cache/

View file

@ -17,6 +17,7 @@ gem 'ago'
gem 'mail'
gem 'google-api-client', require: 'google/api_client'
gem 'tilt'
gem 'erubis'
platform :mri do
gem 'magic' # sudo apt-get install file, For OSX: brew install libmagic

View file

@ -36,6 +36,7 @@ GEM
debugger-linecache (1.2.0)
debugger-ruby_core_source (1.3.2)
docile (1.1.3)
erubis (2.7.0)
extlib (0.9.16)
fabrication (2.11.0)
faker (1.3.0)
@ -190,6 +191,7 @@ DEPENDENCIES
bcrypt
capybara
capybara_minitest_spec
erubis
fabrication
faker
google-api-client

13
app.rb
View file

@ -396,11 +396,11 @@ post '/site_files/save/:filename' do |filename|
end
get '/terms' do
slim :'terms'
erb :'terms'
end
get '/privacy' do
slim :'privacy'
erb :'privacy'
end
get '/admin' do
@ -557,7 +557,7 @@ post '/custom_domain' do
end
get '/contact' do
slim :'contact'
erb :'contact'
end
post '/contact' do
@ -720,6 +720,13 @@ def current_site
@site ||= Site[id: session[:id]]
end
def title
out = "NeoCities"
return out if request.path == '/'
return "#{out} - #{@title}" if @title
"#{out} - #{request.path.gsub('/', '').capitalize}"
end
def encoding_fix(file)
begin
Rack::Utils.escape_html file

View file

@ -35,6 +35,8 @@ if defined?(Pry)
Pry.commands.alias_command 'f', 'finish'
end
Sidekiq::Logging.logger = nil unless ENV['RACK_ENV'] == 'production'
Sidekiq.configure_server do |config|
config.redis = { namespace: 'neocitiesworker' }
end
@ -59,10 +61,11 @@ Sequel::Migrator.apply DB, './migrations'
Dir.glob('models/*.rb').each {|m| require File.join(DIR_ROOT, "#{m}") }
DB.loggers << Logger.new(STDOUT) if ENV['RACK_ENV'] == 'development'
# If new, throw up a random Server for development.
if ENV['RACK_ENV'] == 'development' && Server.count == 0
Server.create ip: '127.0.0.1', slots_available: 999999
if ENV['RACK_ENV'] == 'development'
# If new, throw up a random Server for development.
if Server.count == 0
Server.create ip: '127.0.0.1', slots_available: 999999
end
end
Mail.defaults do
@ -78,6 +81,8 @@ Mail.defaults do
delivery_method :sendmail, options
end
Sinatra::Application.set :erb, escape_html: true
class Sinatra::Base
alias_method :render_original, :render
def render(engine, data, options = {}, locals = {}, &block)

View file

@ -121,8 +121,10 @@ class Site < Sequel::Model
FileUtils.mkdir_p files_path
%w{index not_found}.each do |name|
File.write file_path("#{name}.html"), render_template("#{name}.slim")
File.write file_path("#{name}.html"), render_template("#{name}.erb")
end
FileUtils.cp template_file_path('cat.png'), file_path('cat.png')
end
def get_file(filename)
@ -205,7 +207,7 @@ class Site < Sequel::Model
end
def install_new_html_file(name)
File.write file_path(name), render_template('index.slim')
File.write file_path(name), render_template('index.erb')
end
def file_exists?(filename)
@ -273,7 +275,11 @@ class Site < Sequel::Model
end
def render_template(name)
Tilt.new(File.join(TEMPLATE_ROOT, name), pretty: true).render self
Tilt.new(template_file_path(name), pretty: true).render self
end
def template_file_path(name)
File.join TEMPLATE_ROOT, name
end
def files_path(name=nil)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View file

@ -34,3 +34,17 @@ line-height:inherit; height:auto!important}
max-height:400px;
overflow:auto;
}
textarea {
margin-bottom: 10px
}
input[type=submit] {
margin-top: 10px;
}
.recaptcha {
background: #fff;
width: 440px;
overflow: auto;
}

View file

@ -7,50 +7,20 @@
*
**************************************************************************** */
Kyle Drake:
Kyle Drake:
Creator, Lead Developer
Website: http://kyledrake.net/
Twitter: @kyledrake
Location: Portland, OR
Scott O'Hara:
Scott O'Hara:
Front-End Developer, Design, Ground Floor
Website: http://scottohara.me/
Twitter: @scottohara
Location: Boston, MA
Victoria Wang:
Design, Tutorial Lead
Victoria Wang:
UX, Design
Website: http://www.violasong.com/
Twitter: @violasong
Location: Chicago,IL
/* ****************************************************************************
*
* Website Info:
*
**************************************************************************** */
Last update: 2013/12/13
SCSS
http://sass-lang.com/
jQuery
http://jquery.com/
Ground Floor
https://github.com/scottaohara/Ground-Floor
Location: Chicago, IL

View file

@ -18,7 +18,8 @@ Bundler.require :test
#require 'minitest/pride'
require 'minitest/autorun'
require 'sidekiq/testing/inline'
require 'sidekiq/testing'
Site.bcrypt_cost = BCrypt::Engine::MIN_COST

View file

@ -3,7 +3,7 @@
<div class="row">
<p class="tiny col col-60 credits">
<a href="http://neocities.org" title="NeoCities.org">Neocities.org</a> is a <a href="https://github.com/neocities" title="Neocities on GitHub" style="text-decoration: underline">completely open source</a> startup. <a href="https://twitter.com/neocitiesweb" style="text-decoration: underline">Follow us on twitter</a>.
<a href="http://neocities.org" title="Neocities.org">Neocities.org</a> is a <a href="https://github.com/neocities" title="Neocities on GitHub" style="text-decoration: underline">completely open source</a> startup. <a href="https://twitter.com/neocitiesweb" style="text-decoration: underline">Follow us on twitter</a>.
</p>
<nav class="footer-Nav col col-40">

View file

@ -8,19 +8,19 @@
<ul class="h-Nav constant-Nav">
<li>
<a href="/" title="Back to the Start">NeoCities</a>
<a href="/" title="Back to the Start">Neocities</a>
</li>
<li>
<a href="/browse" title="Browse NeoCities member websites">Websites</a>
<a href="/browse" title="Browse Neocities member websites">Websites</a>
</li>
<li>
<a href="/tutorials" title="Learn to code with these tutorials">Tutorials</a>
</li>
<li>
<a href="/api" title="NeoCities Developers API">API</a>
<a href="/api" title="Neocities Developers API">API</a>
</li>
<li>
<a href="/about" title="About NeoCities">About</a>
<a href="/about" title="About Neocities">About</a>
</li>
</ul>
@ -46,7 +46,7 @@
<h1 class="logo int-Logo">
<a href="/" title="back to home">
<span class="hidden">NeoCities.org</span>
<span class="hidden">Neocities.org</span>
<img src="/assets/img/cat.png" alt="Neocities.org" />
</a>
</h1>

View file

@ -11,7 +11,7 @@
Help me keep the creative,<br />independent Internet alive!
</h2>
<hr />
<h3>My goal with NeoCities is to help bring back the creativity and free expression to the world wide web that made it great. I need your help.</h3>
<h3>My goal with Neocities is to help bring back the creativity and free expression to the world wide web that made it great. I need your help.</h3>
<p>
I am tired of living in an online world where people are isolated from each other in
@ -21,7 +21,7 @@
</p>
<p>
That's where NeoCities comes in. I want to provide a canvas for people to make any web site they want.
That's where Neocities comes in. I want to provide a canvas for people to make any web site they want.
Whether it be a web site about something they're good at, something they love, something they hate, or
their own custom "Profile" where they can introduce themselves in a way that actually matters to them.
</p>
@ -33,7 +33,7 @@
The technology has become affordable enough where we can provide this creative space without requiring a business
plan that involves selling people out to the marketing industry. But it still costs money, especially since server
demand is so high right now. And there are some possible surprise costs I haven't figured out yet (bandwidth estimates are difficult).
<b>But if NeoCities can get enough donations, NeoCities can survive!</b>
<b>But if Neocities can get enough donations, Neocities can survive!</b>
Together, we can prevent
<a target="_blank" href="http://www.business-standard.com/article/technology/yahoo-writes-geocities-obituary-109042500035_1.html" title="What did happen to GeoCities?">what happened to GeoCities</a> from happening again.
</p>

View file

@ -1,57 +0,0 @@
<center><blockquote class="twitter-tweet"><p>I want to make another Geocities. Free web hosting, static HTML only, 10MB limit, anonymous, uncensored.</p>&mdash; Kyle Drake (@kyledrake) <a href="https://twitter.com/kyledrake/statuses/337706291801763841">May 23, 2013</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></center>
.row
.span12.text-center
h1 style="line-height: 40pt" Help me keep the creative,<br>independent internet alive.
.row
.span8.offset2
h3 My goal with NeoCities is to help bring back the creativity and free expression to the world wide web that made it great. I need your help.
.row
.span8.offset2
div style="font-size: 16pt; line-height: 30px; margin-top: 20px"
p I am tired of living in an online world where people are isolated from each other in <b>boring, spied-on gated communities</b>, and are given generic templates which define what people are supposed to know about eachother. It's time we took back our personalities from these sterilized, lifeless, monetized, monitored entities and let our creativity flourish again.
p That's where NeoCities comes in. I want to provide a canvas for people to make any web site they want. Whether it be a web site about something they're good at, something they love, something they hate, or their own custom "Profile" where they can introduce themselves in a way that actually matters to them.
p It's a big project (to make small sites), and I have a lot of work to do. <b>But I can't do it without your help</b>.
p The technology has become affordable enough where we can provide this creative space without requiring a business plan that involves selling people out to the marketing industry. But it still costs money, especially since server demand is so high right now. And there are some possible surprise costs I haven't figured out yet (bandwidth estimates are difficult). <b>But if NeoCities can get enough donations, NeoCities can survive!</b> Together, we can prevent <a href="http://www.business-standard.com/article/technology/yahoo-writes-geocities-obituary-109042500035_1.html" target="_blank">what happened to GeoCities</a> from happening again.
p Our creativity is too important to be commercialized. <a href="/donate">Help keep this idea alive by donating!</a> $100, $20, $5, a free round of beers at your pub, speaking invites <small><a href="http://slideshare.net/kyledrake" target="_blank">(I put on a pretty good show)</a></small> so I can spread the word, free server hosting, anything helps. Thank you!
.row
.span12
h2.text-center Where your Money Goes
.row
.span8.offset2
h4 <b>$150</b> provides hosting for <b>2 million</b> NeoCities sites for 1 month.
h4 <b>$1900</b> buys a fast server that can handle over <b>2 million</b> NeoCities sites <small>(AWS is too costly and doesn't provide the 9+TB of fast disk space we need for this).</small>
h4 <b>$1000</b> buys a backup server for that machine.
.row
.span12.text-center
h2 How to Donate
div
h3 Gittip:
script data-gittip-username="kyledrake" src="https://www.gittip.com/assets/widgets/0002.js"
div
h3 Bitcoin:
h4: b 1MPYyfoWK8CkAzhLzLLtZGa9dwEGT5dm2T
div style="margin-top: 30px"
h3 PayPal:
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="RBASFDBGMTPME">
<input type="image" src="https://www.paypalobjects.com/en_US/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_US/i/scr/pixel.gif" width="1" height="1">
</form>
h3 Sponsorships, press, speaking invites, general inquiries:
h3: a href="/contact" Contact Me Directly
h4 style="margin-top: 30px; margin-bottom: 30px" Thanks. You are great! Now go and make an awesome web site!

View file

@ -1,6 +1,6 @@
<div class="content single-Col">
<h2 class="alpha">NeoCities Developers API</h2>
<h2 class="alpha">Neocities Developers API</h2>
<p><img src="/assets/img/cat-larger.png"></p>
@ -38,7 +38,7 @@
</p>
<h2>API Documentation</h2>
<p>
The NeoCities API is a <a href="http://en.wikipedia.org/wiki/Representational_state_transfer" target="_blank">REST</a> API, which uses query parameters for input, and returns data in the <a href="http://en.wikipedia.org/wiki/JSON" target="_blank">JSON</a> format (except for file downloads). It uses client-side <a href="http://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank">HTTP AUTH</a> to authenticate, using your user/site name and password as the credentials. It is designed to play nicely with the most common HTTP libraries available in programming languages, and can be easily used with <strong>cURL</strong> (a command-line tool for making HTTP requests you can use by opening a terminal on your computer).
The Neocities API is a <a href="http://en.wikipedia.org/wiki/Representational_state_transfer" target="_blank">REST</a> API, which uses query parameters for input, and returns data in the <a href="http://en.wikipedia.org/wiki/JSON" target="_blank">JSON</a> format (except for file downloads). It uses client-side <a href="http://en.wikipedia.org/wiki/Basic_access_authentication" target="_blank">HTTP AUTH</a> to authenticate, using your user/site name and password as the credentials. It is designed to play nicely with the most common HTTP libraries available in programming languages, and can be easily used with <strong>cURL</strong> (a command-line tool for making HTTP requests you can use by opening a terminal on your computer).
</p>
<p>
<strong>That's a lot of buzz words if you're new to programming.</strong> Don't worry, it's easier than it sounds! We'll walk you through some working examples you can get started with.

View file

@ -6,23 +6,23 @@
<div class="row content">
<h2 class="col">Websites on NeoCities</h2>
<h2 class="col">Websites on Neocities</h2>
<div class="col col-50">
<form id="search_criteria" action="/browse" method="GET">
<fieldset class="grouping">
<label class="text-Label" for="sort_by">Sort By:</label>
<div class="select-Container">
<select name="sort_by" id="sort_by" class="input-Select">
<option value="last_updated" <%= 'selected' if params[:sort_by] == 'last_updated' %>>Last Updated</option>
<option value="hits" <%= 'selected' if params[:sort_by] == 'hits' %>>Most Hits</option>
<option value="newest" <%= 'selected' if params[:sort_by] == 'newest' %>>Newest</option>
<option value="oldest" <%= 'selected' if params[:sort_by] == 'oldest' %>>Oldest</option>
<option value="random" <%= 'selected' if params[:sort_by] == 'random' %>>Random</option>
<option value="last_updated" <%= params[:sort_by] == 'last_updated' ? 'selected' : '' %>>Last Updated</option>
<option value="hits" <%= params[:sort_by] == 'hits' ? 'selected' : '' %>>Most Hits</option>
<option value="newest" <%= params[:sort_by] == 'newest' ? 'selected' : '' %>>Newest</option>
<option value="oldest" <%= params[:sort_by] == 'oldest' ? 'selected' : '' %>>Oldest</option>
<option value="random" <%= params[:sort_by] == 'random' ? 'selected' : '' %>>Random</option>
</select>
</div>
<!--
<div>
<input name="is_nsfw" type="checkbox" value="true" <%= 'checked' if params[:is_nsfw].to_s == 'true' %>> Show 18+ content
<input name="is_nsfw" type="checkbox" value="true" <%= params[:is_nsfw].to_s == 'true' ? 'checked' : '' %>> Show 18+ content
</div>
-->
<div style="margin-top: 10px">
@ -35,7 +35,7 @@
<div class="col col-50">
<p>If you like a site, don't forget to bookmark it!<br>Visitor counts are updated hourly.</p>
<a class="btn-Action" href="/new" title="create a NeoCities.org site today!">Create your NeoCities site now</a>
<a class="btn-Action" href="/new" title="create a Neocities.org site today!">Create your Neocities site now</a>
</div>
</div> <!-- end .row.content -->
@ -60,7 +60,7 @@
<% end %>
<% 1.upto(@page_count) do |num| %>
<a href="#" onclick="getPage(<%= num %>); return false" style="<%= "text-decoration: none" if num == @current_page %>"><%= num %></a>&nbsp;
<a href="#" onclick="getPage(<%= num %>); return false" style="<%= num == @current_page ? 'text-decoration: none' : '' %>"><%= num %></a>&nbsp;
<% end %>
<% if @current_page != @page_count %>

58
views/contact.erb Normal file
View file

@ -0,0 +1,58 @@
<script>
var RecaptchaOptions = {
theme : 'clean'
};
</script>
<% if !@errors.nil? && !@errors.empty? %>
<div class="row">
<div class="col col-100">
<div class="alert alert-block alert-error">
<% @errors.each do |error| %>
<p><%= error%></p>
<% end %>
</div>
</div>
</div>
<% end %>
<div class="row content">
<div class="col col-80">
<h2>Contact Us</h2>
<h6>Please Note Before Contacting:</h6>
<ul>
<li>
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.
</li>
</ul>
<form action="/contact" method="POST" class="content">
<input name="csrf_token" type="hidden" value="<%= csrf_token %>">
<fieldset class="col col-80">
<label>Email address</label>
<input type="email" name="email" placeholder="Your Email" style="width: 300px" value="<%= params[:email] %>">
<label>Subject</label>
<input type="text" name="subject" placeholder="Subject" style="width: 400px" value="<%= params[:subject] %>">
<label>Comments</label>
<textarea name="body" style="width: 600px" rows="10"><%= params[:body] %></textarea>
<label>Fill out captcha so we know you're not a robot:</label>
<div class="recaptcha">
<%== recaptcha_tag :challenge, ssl: request.ssl? %>
</div>
<input class="btn-Action" type="submit" value="Send">
</fieldset>
</form>
</div>
</div>

View file

@ -14,7 +14,7 @@
.col.col-66
.content
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!
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!
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:
p <code>198.27.81.179</code>
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>.

View file

@ -11,7 +11,7 @@
<section>
<h2>Where your Money Goes</h2>
<p><b>$150</b> provides hosting for <b>2 million</b> NeoCities sites for 1 month, and helps cover unplanned costs.</p>
<p><b>$150</b> provides hosting for <b>2 million</b> Neocities sites for 1 month, and helps cover unplanned costs.</p>
<p><b>$100</b> buys a backup server for that machine for one month.</p>

View file

@ -5,20 +5,20 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Neocities.org: Create a Free website today</title>
<meta itemprop="name" content="NeoCities.org" />
<title>Neocities.org: Social websites</title>
<meta itemprop="name" content="Neocities.org" />
<meta itemprop="description" content="Create your own free home page, and do whatever you want with it." />
<meta name="description" content="NeoCities is the new Geocities. Create your own free home page, and do whatever you want with it." />
<meta name="description" content="Neocities is the new Geocities. Create your own free home page, and do whatever you want with it." />
<meta name="keywords" content="free website, html, css, learn to code, free hosting, build a website, create a web page" />
<link rel="canonical" href="//neocities.org" />
<meta property="og:title" content="NeoCities"/>
<meta property="og:site_name" content="NeoCities | neocities.org"/>
<meta property="og:title" content="Neocities"/>
<meta property="og:site_name" content="Neocities | neocities.org"/>
<meta property="og:type" content="website"/>
<meta property="og:image" content=""/>
<meta property="og:url" content="//www.neocities.org"/>
<meta property="og:description" content="NeoCities is the new Geocities. Create your own free home page, and do whatever you want with it."/>
<meta property="og:description" content="Neocities is the new Geocities. Create your own free home page, and do whatever you want with it."/>
<meta content="pBkqwF1U/KpuF2+f0ZhSf8BnpxYgeU0boCTdnB3joGc=" name="csrf-token" />
<!-- Styles -->
@ -54,19 +54,19 @@
</a>
<ul class="h-Nav constant-Nav">
<li>
<a href="/" title="back to the start">NeoCities</a>
<a href="/" title="back to the start">Neocities</a>
</li>
<li>
<a href="/browse" title="Browse NeoCities member websites">Websites</a>
<a href="/browse" title="Browse Neocities member websites">Websites</a>
</li>
<li>
<a href="/tutorials" title="Learn to code with these tutorials">Tutorials</a>
</li>
<li>
<a href="/api" title="NeoCities Developers API">API</a>
<a href="/api" title="Neocities Developers API">API</a>
</li>
<li>
<a href="/about" title="About NeoCities">About</a>
<a href="/about" title="About Neocities">About</a>
</li>
</ul>
@ -105,14 +105,14 @@
<div class="int-Logo hp-Logo">
<a href="/" title="back to home">
<span class="hidden">NeoCities.org</span>
<span class="hidden">Neocities.org</span>
<img src="assets/img/cat.png" alt="Neocities.org" />
</a>
</div>
<section class="header-Intro">
<h1 class="logo header-Content content">
<span class="hidden">NeoCities.org</span>
<span class="hidden">Neocities.org</span>
<img src="assets/img/neocities-Logo.png" alt="Neocities.org" />
</h1>
</section>
@ -264,7 +264,7 @@
<ul class="quote-Slider kill-List">
<li class="quote">
<blockquote>
Designed as a 21st century reincarnation of GeoCities, NeoCities lets you make your own site for free. And it just might spark a renaissance of creativity online.
Designed as a 21st century reincarnation of GeoCities, Neocities lets you make your own site for free. And it just might spark a renaissance of creativity online.
</blockquote>
<a href="http://web.appstorm.net/reviews/web-dev/neocities-the-free-place-to-code-your-own-site-from-scratch/" title="App Storm" class="action-Link">Source link</a>
</li>
@ -288,10 +288,10 @@
<span class="footer-icon"></span>
<h2 class="delta">Support Us</h2>
<p class="tiny">
NeoCities is funded by donations. If youd like to contribute, you can help us
Neocities is funded by donations. If youd like to contribute, you can help us
pay our server costs using Bitcoin or PayPal.
</p>
<a href="/donate" title="Donate to NeoCities" class="action-Link">Donate Today</a>
<a href="/donate" title="Donate to Neocities" class="action-Link">Donate Today</a>
</div>
</div>
<div class="col col-33">
@ -299,10 +299,10 @@
<span class="footer-icon"></span>
<h2 class="delta">About Us</h2>
<p class="tiny">
NeoCities is here to bring back the creativity and
Neocities is here to bring back the creativity and
free expression to the world wide web that made it great.
</p>
<a href="/about" title="More about NeoCities" class="action-Link">More About Us</a>
<a href="/about" title="More about Neocities" class="action-Link">More About Us</a>
</div>
</div>
<div class="col col-33">
@ -310,16 +310,16 @@
<span class="footer-icon"></span>
<h2 class="delta">Latest News</h2>
<p class="tiny">
The latest news on NeoCities can be found on our blog.
The latest news on Neocities can be found on our blog.
</p>
<a href="/blog" title="Read about NeoCities news and updates" class="action-Link">Read More</a>
<a href="/blog" title="Read about Neocities news and updates" class="action-Link">Read More</a>
</div>
</div>
</div>
</div>
</section>
<%= erb :'_footer', layout: false%>
<%== erb :'_footer', layout: false%>
</footer>
</div> <!-- end .page -->

View file

@ -1,83 +1,52 @@
<!doctype html>
<!--[if IE 8 ]><html lang="en" class="ieAll ie8"><![endif]-->
<!--[if IE 9 ]><html lang="en" class="ieAll ie9"><![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--><html lang="en" itemscope itemtype="//schema.org/Person"><!--<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><%= title %></title>
<meta itemprop="name" content="Neocities.org">
<meta itemprop="description" content="ECreate your own free home page, and do whatever you want with it.">
<meta name="description" content="Neocities is the new Geocities. Create your own free home page, and do whatever you want with it.">
<meta name="keywords" content="free website, html, css, learn to code, free hosting, build a website, create a web page" >
<meta property="og:title" content="Neocities">
<meta property="og:site_name" content="Neocities | neocities.org">
<meta property="og:type" content="website">
<meta property="og:image" content="/assets/img/cat-larger.png">
<meta property="og:url" content="https://www.neocities.org">
<meta property="og:description" content="Neocities is the new Geocities. Create your own free home page, and do whatever you want with it.">
<title>Neocities - <%= request.path.gsub('/', '').capitalize %></title>
<meta itemprop="name" content="NeoCities.org" />
<meta itemprop="description" content="ECreate your own free home page, and do whatever you want with it." />
<meta name="description" content="NeoCities is the new Geocities. Create your own free home page, and do whatever you want with it." />
<meta name="keywords" content="free website, html, css, learn to code, free hosting, build a website, create a web page" />
<link rel="canonical" href="https://www.neocities.org/" />
<!-- Open Graph __ Delete if not needed. -->
<meta property="og:title" content="NeoCities"/>
<meta property="og:site_name" content="NeoCities | neocities.org"/>
<meta property="og:type" content="website"/>
<meta property="og:image" content=""/>
<meta property="og:url" content="https://www.neocities.org/"/>
<meta property="og:description" content="NeoCities is the new Geocities. Create your own free home page, and do whatever you want with it."/>
<meta content="pBkqwF1U/KpuF2+f0ZhSf8BnpxYgeU0boCTdnB3joGc=" name="csrf-token" />
<!--
<meta content="<%= csrf_token %>" name="csrf-token" />
-->
<!-- Styles -->
<link href="assets/css/neo.min.css" rel="stylesheet" type="text/css" media="all"/>
<link href="/css/font-awesome.min.css" rel="stylesheet" type="text/css" media="all"/>
<!-- If exists, brings over style blocks from child pages -->
<link rel="shortcut icon" type="image/ico" href="/favicon.ico" />
<link rel="apple-touch-icon-precomposed" href="#apple-icon-144.png" />
<link rel="apple-touch-startup-image" href="#startup.png" />
<!-- Tile icon for Win8 (144x144 + tile color) __doesn't validate__
<meta name="msapplication-TileImage" content="#apple-icon-144.png" />
<meta name="msapplication-TileColor" content="#222222" />
-->
<!-- Mobile Meta -->
<meta name="HandheldFriendly" content="True" />
<meta name="MobileOptimized" content="320" />
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1" />
<!-- oh vanity. -->
<link rel="author" type="text/plain" href="humans.txt" />
<!--[if lt IE 9]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<link href="/css/bootstrap.min.css" rel="stylesheet">
<link href="/css/bootstrap-responsive.min.css" rel="stylesheet">
<link href="assets/css/neo.min.css" rel="stylesheet" type="text/css" media="all"/>
<link href="/css/font-awesome.min.css" rel="stylesheet" type="text/css" media="all"/>
<link href="/css/styles.css" rel="stylesheet" type="text/css" media="all">
<link rel="shortcut icon" type="image/ico" href="/favicon.ico" />
<!-- Mobile Meta -->
<meta name="HandheldFriendly" content="True" />
<meta name="MobileOptimized" content="320" />
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1" />
<link rel="author" type="text/plain" href="humans.txt" />
<!--[if lt IE 9]>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body class="interior">
<div class="page">
<%== erb :'_header', layout: false %>
<main class="content-Base"><%== yield %></main>
<footer class="footer-Base"><%== erb :'_footer', layout: false %></footer>
</div>
<%= erb :'_header', layout: false %>
<main class="content-Base">
<%= yield %>
</main>
<footer class="footer-Base">
<%= erb :'_footer', layout: false %>
</footer>
</div> <!-- end .page -->
<!-- scripts -->
<script src="assets/scripts/jquery-1.10.1.min.js"></script>
<script src="assets/scripts/nav.min.js"></script>
<!-- Script block allowing child pages to inject their own scripts -->
<!-- Google Analytics: change UA-XXXXX-X to be your site's ID.
<script type="text/javascript>
var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src='//www.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
-->
<script src="/js/bootstrap.min.js"></script>
</body>
</html>

46
views/privacy.erb Normal file
View file

@ -0,0 +1,46 @@
<div class="row content">
<h2 class="col">Privacy</h2>
<div class="col col-100">
<p>Our Privacy Policy was last updated and posted on June 3, 2013. It governs the privacy terms of our Website, located at http://neocities.org. Any capitalized terms not defined in our Privacy Policy, have the meaning as specified in our Terms of Service.</p>
<p><strong>Your Privacy</strong><br />Neocities follows all legal requirements to protect your privacy. Our Privacy Policy is a legal statement that explains how we may collect information from you, how we may share your information, and how you can limit our sharing of your information. You will see terms in our Privacy Policy that are capitalized. These terms have meanings as described in the Definitions section below.</p>
<p><strong>Definitions</strong><br />"Non Personal Information" is information that is not personally identifiable to you and that we automatically collect when you access our Website with a web browser. It may also include publicly available information that is shared between you and others.</p>
<p>"Personally Identifiable Information" is non-public information that is personally identifiable to you and obtained in order for us to provide you within our Website. Personally Identifiable Information may include information such as your name, email address, and other related information that you provide to us or that we obtain about you.</p>
<p><strong>Information We Collect</strong><br />Generally, you control the amount and type of information you provide to us when using our Website.</p>
<p>As a Visitor, you can browse our website to find out more about our Website. You are not required to provide us with any Personally Identifiable Information as a Visitor.</p>
<p><strong>Computer Information Collected</strong><br />When you use our Website, we automatically collect certain computer information by the interaction of your mobile phone or web browser with our Website. Such information is typically considered Non Personal Information. We also collect the following:</p>
<ul>
<li>
<p><strong>Cookies</strong><br />Our Website uses "Cookies" to identify the areas of our Website that you have visited. A Cookie is a small piece of data stored on your computer or mobile device by your web browser. We use Cookies to personalize the Content that you see on our Website. Most web browsers can be set to disable the use of Cookies. However, if you disable Cookies, you may not be able to access functionality on our Website correctly or at all. We never place Personally Identifiable Information in Cookies.</p>
</li>
<li>
<p><strong>Automatic Information</strong><br />We automatically receive information from your web browser or mobile device. This information includes the name of the website from which you entered our Website, if any, as well as the name of the website to which you're headed when you leave our website. This information also includes the IP address of your computer/proxy server that you use to access the Internet, your Internet Website provider name, web browser type, type of mobile device, and computer operating system. We use all of this information to analyze trends among our Users to help improve our Website.</p>
</li>
</ul>
<p><strong>How We Use Your Information</strong><br />We use the information we receive from you as follows:</p>
<ul>
<li>
<p><strong>Customizing Our Website</strong><br />We may use the Personally Identifiable information you provide to us along with any computer information we receive to customize our Website.</p>
</li>
<li>
<p><strong>Sharing Information with Affiliates and Other Third Parties</strong><br />We do not sell, rent, or otherwise provide your Personally Identifiable Information to third parties for marketing purposes. We may provide your Personally Identifiable Information to affiliates that provide services to us with regards to our Website (i.e. payment processors, Website hosting companies, etc.); such affiliates will only receive information necessary to provide the respective services and will be bound by confidentiality agreements limiting the use of such information.</p>
</li>
<li>
<p><strong>Data Aggregation</strong><br />We retain the right to collect and use any Non Personal Information collected from your use of our Website and aggregate such data for internal analytics that improve our Website and Service as well as for use or resale to others. At no time is your Personally Identifiable Information included in such data aggregations.</p>
</li>
<li>
<p><strong>Legally Required Releases of Information</strong><br />We may be legally required to disclose your Personally Identifiable Information, if such disclosure is (a) required by subpoena, law, or other legal process; (b) necessary to assist law enforcement officials or government enforcement agencies; (c) necessary to investigate violations of or otherwise enforce our Legal Terms; (d) necessary to protect us from legal action or claims from third parties including you and/or other Members; and/or (e) necessary to protect the legal rights, personal/real property, or personal safety of Neocities, our Users, employees, and affiliates.</p>
</li>
</ul>
<p><strong>Links to Other Websites</strong><br />Our Website may contain links to other websites that are not under our direct control. These websites may have their own policies regarding privacy. We have no control of or responsibility for linked websites and provide these links solely for the convenience and information of our visitors. You access such linked Websites at your own risk. These websites are not subject to this Privacy Policy. You should check the privacy policies, if any, of those individual websites to see how the operators of those third-party websites will utilize your personal information. In addition, these websites may contain a link to Websites of our affiliates. The websites of our affiliates are not subject to this Privacy Policy, and you should check their individual privacy policies to see how the operators of such websites will utilize your personal information.</p>
<p><strong>Privacy Policy Updates</strong><br />We reserve the right to modify this Privacy Policy at any time. You should review this Privacy Policy frequently. If we make material changes to this policy, we may notify you on our Website, by a blog post, by email, or by any method we determine. The method we chose is at our sole discretion. We will also change the "Last Updated" date at the beginning of this Privacy Policy. Any changes we make to our Privacy Policy are effective as of this Last Updated date and replace any prior Privacy Policies.</p>
<p><strong>Questions About Our Privacy Practices or This Privacy Policy</strong><br />If you have any questions about our Privacy Practices or this Policy, please contact us.</p>
</div>
</div>

View file

@ -1,43 +0,0 @@
<p>Our Privacy Policy was last updated and posted on June 3, 2013. It governs the privacy terms of our Website, located at http://neocities.org. Any capitalized terms not defined in our Privacy Policy, have the meaning as specified in our Terms of Service.</p>
<p><strong>Your Privacy</strong><br />Neocities follows all legal requirements to protect your privacy. Our Privacy Policy is a legal statement that explains how we may collect information from you, how we may share your information, and how you can limit our sharing of your information. You will see terms in our Privacy Policy that are capitalized. These terms have meanings as described in the Definitions section below.</p>
<p><strong>Definitions</strong><br />"Non Personal Information" is information that is not personally identifiable to you and that we automatically collect when you access our Website with a web browser. It may also include publicly available information that is shared between you and others.</p>
<p>"Personally Identifiable Information" is non-public information that is personally identifiable to you and obtained in order for us to provide you within our Website. Personally Identifiable Information may include information such as your name, email address, and other related information that you provide to us or that we obtain about you.</p>
<p><strong>Information We Collect</strong><br />Generally, you control the amount and type of information you provide to us when using our Website.</p>
<p>As a Visitor, you can browse our website to find out more about our Website. You are not required to provide us with any Personally Identifiable Information as a Visitor.</p>
<p><strong>Computer Information Collected</strong><br />When you use our Website, we automatically collect certain computer information by the interaction of your mobile phone or web browser with our Website. Such information is typically considered Non Personal Information. We also collect the following:</p>
<ul>
<li>
<p><strong>Cookies</strong><br />Our Website uses "Cookies" to identify the areas of our Website that you have visited. A Cookie is a small piece of data stored on your computer or mobile device by your web browser. We use Cookies to personalize the Content that you see on our Website. Most web browsers can be set to disable the use of Cookies. However, if you disable Cookies, you may not be able to access functionality on our Website correctly or at all. We never place Personally Identifiable Information in Cookies.</p>
</li>
<li>
<p><strong>Automatic Information</strong><br />We automatically receive information from your web browser or mobile device. This information includes the name of the website from which you entered our Website, if any, as well as the name of the website to which you're headed when you leave our website. This information also includes the IP address of your computer/proxy server that you use to access the Internet, your Internet Website provider name, web browser type, type of mobile device, and computer operating system. We use all of this information to analyze trends among our Users to help improve our Website.</p>
</li>
</ul>
<p><strong>How We Use Your Information</strong><br />We use the information we receive from you as follows:</p>
<ul>
<li>
<p><strong>Customizing Our Website</strong><br />We may use the Personally Identifiable information you provide to us along with any computer information we receive to customize our Website.</p>
</li>
<li>
<p><strong>Sharing Information with Affiliates and Other Third Parties</strong><br />We do not sell, rent, or otherwise provide your Personally Identifiable Information to third parties for marketing purposes. We may provide your Personally Identifiable Information to affiliates that provide services to us with regards to our Website (i.e. payment processors, Website hosting companies, etc.); such affiliates will only receive information necessary to provide the respective services and will be bound by confidentiality agreements limiting the use of such information.</p>
</li>
<li>
<p><strong>Data Aggregation</strong><br />We retain the right to collect and use any Non Personal Information collected from your use of our Website and aggregate such data for internal analytics that improve our Website and Service as well as for use or resale to others. At no time is your Personally Identifiable Information included in such data aggregations.</p>
</li>
<li>
<p><strong>Legally Required Releases of Information</strong><br />We may be legally required to disclose your Personally Identifiable Information, if such disclosure is (a) required by subpoena, law, or other legal process; (b) necessary to assist law enforcement officials or government enforcement agencies; (c) necessary to investigate violations of or otherwise enforce our Legal Terms; (d) necessary to protect us from legal action or claims from third parties including you and/or other Members; and/or (e) necessary to protect the legal rights, personal/real property, or personal safety of Neocities, our Users, employees, and affiliates.</p>
</li>
</ul>
<p><strong>Links to Other Websites</strong><br />Our Website may contain links to other websites that are not under our direct control. These websites may have their own policies regarding privacy. We have no control of or responsibility for linked websites and provide these links solely for the convenience and information of our visitors. You access such linked Websites at your own risk. These websites are not subject to this Privacy Policy. You should check the privacy policies, if any, of those individual websites to see how the operators of those third-party websites will utilize your personal information. In addition, these websites may contain a link to Websites of our affiliates. The websites of our affiliates are not subject to this Privacy Policy, and you should check their individual privacy policies to see how the operators of such websites will utilize your personal information.</p>
<p><strong>Privacy Policy Updates</strong><br />We reserve the right to modify this Privacy Policy at any time. You should review this Privacy Policy frequently. If we make material changes to this policy, we may notify you on our Website, by a blog post, by email, or by any method we determine. The method we chose is at our sole discretion. We will also change the "Last Updated" date at the beginning of this Privacy Policy. Any changes we make to our Privacy Policy are effective as of this Last Updated date and replace any prior Privacy Policies.</p>
<p><strong>Questions About Our Privacy Practices or This Privacy Policy</strong><br />If you have any questions about our Privacy Practices or this Policy, please contact us.</p>
<p><a href="http://termsfeed.com/privacy-policy/generator/" title="TermsFeed">Privacy Policy by TermsFeed.com</a></p>

View file

@ -63,4 +63,4 @@
.content
h2.eps.txt-Center Custom Domain
p.txt-Center: strong (advanced)
p You can configure a custom domain for your NeoCities site. <strong><a href="/custom_domain">Click Here</a></strong> for more information.
p You can configure a custom domain for your Neocities site. <strong><a href="/custom_domain">Click Here</a></strong> for more information.

View file

@ -43,7 +43,7 @@ javascript:
.row
.span5.text-center
h5 NeoCities uses a "drag and drop" file upload. Simply take files and drop them from your computer on the white box (or click it) and they are uploaded.
h5 Neocities uses a "drag and drop" file upload. Simply take files and drop them from your computer on the white box (or click it) and they are uploaded.
div style="background-color: #FFFFFF;"
form action="/site_files/upload" class="dropzone" id="uploads"
input name="csrf_token" type="hidden" value="#{csrf_token}"

BIN
views/templates/cat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -1,8 +1,8 @@
server {
listen 80;
server_name <%= domain %> *.<%= domain %>;
server_name <%== domain %> *.<%== domain %>;
access_log /var/log/nginx/neocities-domains.log neocitiesdomain;
root /home/web/neocities-web/public/sites/<%= username %>;
root /home/web/neocities-web/public/sites/<%== username %>;
index /index.html;
error_page 404 = @notfound;

38
views/templates/index.erb Normal file
View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>The web site of <%= username %></title>
<style type="text/css">
/* This is a CSS comment. CSS is how you can add style to your website, such as colors, fonts,
and positioning of your HTML content.
See http:// for more info. */
body {
background-color: white;
color: black;
font-family: Verdana;
}
</style>
</head>
<body>
<h1>Welcome to my Website!</h1>
<p>This is a paragraph! Here's how you make a link: <a href="http://neocities.org">NeoCities</a>.</p>
<p>Here's how you can make <strong>bold</strong> and <em>italic</em> text.</p>
<p>Here's how you can add an image:</p>
<img src="cat.png">
<p>Here's how to make a list:</p>
<ul>
<li>First thing</li>
<li>Second thing</li>
<li>Third thing</li>
</ul>
<p>To learn more HTML/CSS, check out these <a href="http://neocities.org/tutorials">tutorials</a>!</p>
</body>
</html>

View file

@ -1,31 +0,0 @@
doctype html
html
head
meta charset="UTF-8"
title #{username}
meta name="description" content=""
meta name="keywords" content=""
link href="//groundfloor.neocities.org/default.css" rel="stylesheet" media="all"
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
body
header
h1 Welcome to my Website!
nav
ul
li
<a href="/">Home</a>
main
p This is a new page! Coming soon.
p This page uses <strong>Ground Floor</strong> to style the page, <a href="//groundfloor.neocities.org" target="_blank">click here</a> to see some code examples. You can opt-out of this style and make your own design by removing the "default.css" link in the HTML.
footer
p Copyright 2014

View file

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Not Found</title>
<style type="text/css">
body {
font-family: Verdana;
}
</style>
</head>
<body>
<h1>Page Not Found</h1>
<p>The requested page was not found.</p>
</body>
</html>

View file

@ -1,17 +0,0 @@
doctype html
html
head
meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
title #{username} - Page Not Found
link href="//groundfloor.neocities.org/default.css" rel="stylesheet" type="text/css" media="all"
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
<![endif]-->
body
.txt-Center
h1 Page Not Found
p The requested page was not found on this web site.

View file

24
views/terms.erb Normal file
View file

@ -0,0 +1,24 @@
<div class="row content">
<h2 class="col">Terms of Service</h2>
<div class="col col-100">
<p>This web page represents a legal document that serves as our Terms of Service and it governs the legal terms of our website, http://neocities.org, sub-domains, and any associated web-based and mobile applications (collectively, "Website"), as owned and operated by Neocities.</p>
<p>Capitalized terms, unless otherwise defined, have the meaning specified within the Definitions section below. This Terms of Service, along with our Privacy Policy, any mobile license agreement, and other posted guidelines within our Website, collectively "Legal Terms", constitute the entire and only agreement between you and Neocities, and supersede all other agreements, representations, warranties and understandings with respect to our Website and the subject matter contained herein. We may amend our Legal Terms at any time without specific notice to you. The latest copies of our Legal Terms will be posted on our Website, and you should review all Legal Terms prior to using our Website. After any revisions to our Legal Terms are posted, you agree to be bound to any such changes to them. Therefore, it is important for you to periodically review our Legal Terms to make sure you still agree to them.</p>
<p>By using our Website, you agree to fully comply with and be bound by our Legal Terms. Please review them carefully. If you do not accept our Legal Terms, do not access and use our Website. If you have already accessed our Website and do not accept our Legal Terms, you should immediately discontinue use of our Website.</p>
<p>The last update to our Terms of Service was posted on June 3, 2013.</p>
<p><strong>Definitions</strong><br />The terms "us" or "we" or "our" refers to Neocities, the owner of the Website.</p>
<p>A "Visitor" is someone who merely browses our Website, but has not registered as Member.</p>
<p>A "Member" is an individual that has registered with us to use our Service.</p>
<p>Our "Service" represents the collective functionality and features as offered through our Website to our Members.</p>
<p>A "User" is a collective identifier that refers to either a Visitor or a Member.</p>
<p>All text, information, graphics, audio, video, and data offered through our Website are collectively known as our "Content".</p>
<p><strong>Legal Compliance</strong><br />You agree to comply with all applicable domestic and international laws, statutes, ordinances, and regulations regarding your use of our Website. Neocities reserves the right to investigate complaints or reported violations of our Legal Terms and to take any action we deem appropriate, including but not limited to canceling your Member account, reporting any suspected unlawful activity to law enforcement officials, regulators, or other third parties and disclosing any information necessary or appropriate to such persons or entities relating to your profile, email addresses, usage history, posted materials, IP addresses and traffic information, as allowed under our Privacy Policy.</p>
<p><strong>Intellectual Property</strong><br />Our Website may contain our service marks or trademarks as well as those of our hosted sites, affiliates or other companies, in the form of words, graphics, and logos. Your use of our Website does not constitute any right or license for you to use such service marks/trademarks, without the prior written permission of the corresponding service mark/trademark owner.</p>
<p><strong>Links to Other Websites</strong><br />Our Website may contain links to third party websites. These links are provided solely as a convenience to you. By linking to these websites, we do not create or have an affiliation with, or sponsor such third party websites. The inclusion of links within our Website does not constitute any endorsement, guarantee, warranty, or recommendation of such third party websites. Neocities has no control over the legal documents and privacy practices of third party websites; as such, you access any such third party websites at your own risk.</p>
<p><strong>General Terms</strong><br />Our Legal Terms shall be treated as though it were executed and performed in Oregon, United States, and shall be governed by and construed in accordance with the laws of Oregon, United States, without regard to conflict of law principles. In addition, you agree to submit to the personal jurisdiction and venue of such courts. Any cause of action by you with respect to our Website, must be instituted within one (1) year after the cause of action arose or be forever waived and barred. Should any part of our Legal Terms be held invalid or unenforceable, that portion shall be construed consistent with applicable law and the remaining portions shall remain in full force and effect. To the extent that any Content in our Website conflicts or is inconsistent with our Legal Terms, our Legal Terms shall take precedence. Our failure to enforce any provision of our Legal Terms shall not be deemed a waiver of such provision nor of the right to enforce such provision. The rights of Neocities under our Legal Terms shall survive the termination of our Legal Terms.</p>
</div>
</div>

View file

@ -1,21 +0,0 @@
<p>This web page represents a legal document that serves as our Terms of Service and it governs the legal terms of our website, http://neocities.org, sub-domains, and any associated web-based and mobile applications (collectively, "Website"), as owned and operated by Neocities.</p>
<p>Capitalized terms, unless otherwise defined, have the meaning specified within the Definitions section below. This Terms of Service, along with our Privacy Policy, any mobile license agreement, and other posted guidelines within our Website, collectively "Legal Terms", constitute the entire and only agreement between you and Neocities, and supersede all other agreements, representations, warranties and understandings with respect to our Website and the subject matter contained herein. We may amend our Legal Terms at any time without specific notice to you. The latest copies of our Legal Terms will be posted on our Website, and you should review all Legal Terms prior to using our Website. After any revisions to our Legal Terms are posted, you agree to be bound to any such changes to them. Therefore, it is important for you to periodically review our Legal Terms to make sure you still agree to them.</p>
<p>By using our Website, you agree to fully comply with and be bound by our Legal Terms. Please review them carefully. If you do not accept our Legal Terms, do not access and use our Website. If you have already accessed our Website and do not accept our Legal Terms, you should immediately discontinue use of our Website.</p>
<p>The last update to our Terms of Service was posted on June 3, 2013.</p>
<p><strong>Definitions</strong><br />The terms "us" or "we" or "our" refers to Neocities, the owner of the Website.</p>
<p>A "Visitor" is someone who merely browses our Website, but has not registered as Member.</p>
<p>A "Member" is an individual that has registered with us to use our Service.</p>
<p>Our "Service" represents the collective functionality and features as offered through our Website to our Members.</p>
<p>A "User" is a collective identifier that refers to either a Visitor or a Member.</p>
<p>All text, information, graphics, audio, video, and data offered through our Website are collectively known as our "Content".</p>
<p><strong>Legal Compliance</strong><br />You agree to comply with all applicable domestic and international laws, statutes, ordinances, and regulations regarding your use of our Website. Neocities reserves the right to investigate complaints or reported violations of our Legal Terms and to take any action we deem appropriate, including but not limited to canceling your Member account, reporting any suspected unlawful activity to law enforcement officials, regulators, or other third parties and disclosing any information necessary or appropriate to such persons or entities relating to your profile, email addresses, usage history, posted materials, IP addresses and traffic information, as allowed under our Privacy Policy.</p>
<p><strong>Intellectual Property</strong><br />Our Website may contain our service marks or trademarks as well as those of our hosted sites, affiliates or other companies, in the form of words, graphics, and logos. Your use of our Website does not constitute any right or license for you to use such service marks/trademarks, without the prior written permission of the corresponding service mark/trademark owner.</p>
<p><strong>Links to Other Websites</strong><br />Our Website may contain links to third party websites. These links are provided solely as a convenience to you. By linking to these websites, we do not create or have an affiliation with, or sponsor such third party websites. The inclusion of links within our Website does not constitute any endorsement, guarantee, warranty, or recommendation of such third party websites. Neocities has no control over the legal documents and privacy practices of third party websites; as such, you access any such third party websites at your own risk.</p>
<p><strong>General Terms</strong><br />Our Legal Terms shall be treated as though it were executed and performed in Oregon, United States, and shall be governed by and construed in accordance with the laws of Oregon, United States, without regard to conflict of law principles. In addition, you agree to submit to the personal jurisdiction and venue of such courts. Any cause of action by you with respect to our Website, must be instituted within one (1) year after the cause of action arose or be forever waived and barred. Should any part of our Legal Terms be held invalid or unenforceable, that portion shall be construed consistent with applicable law and the remaining portions shall remain in full force and effect. To the extent that any Content in our Website conflicts or is inconsistent with our Legal Terms, our Legal Terms shall take precedence. Our failure to enforce any provision of our Legal Terms shall not be deemed a waiver of such provision nor of the right to enforce such provision. The rights of Neocities under our Legal Terms shall survive the termination of our Legal Terms.</p>
<p><a href="http://termsfeed.com/terms-service/generator/" title="TermsFeed">Terms of Service by TermsFeed.com</a></p>

View file

@ -43,7 +43,7 @@
<h3>CSS Frameworks</h3>
<p>CSS frameworks are pre-built CSS styles that make it easy to quickly build a nice looking web page, without having to "roll your own" set of styles. NeoCities itself uses one as the basis for our design (Brass Tacks). They are very useful, and definitely worth checking out once you have an understanding of how CSS works.</p>
<p>CSS frameworks are pre-built CSS styles that make it easy to quickly build a nice looking web page, without having to "roll your own" set of styles. Neocities itself uses one as the basis for our design (Brass Tacks). They are very useful, and definitely worth checking out once you have an understanding of how CSS works.</p>
<ul>
<li>
<a href="http://getbootstrap.com" title="Boot Straps" target="_blank">Twitter Bootstrap</a>