Custom splash page: Difference between revisions

From diaspora* project wiki
(Added working HTML landing page for .erb file)
mNo edit summary
Line 13: Line 13:
</pre>
</pre>


A detailed example of a <tt>_show.html.erb</tt> landing page would be:
A detailed example of a HTML based <tt>_show.html.erb</tt> landing page would be:


<pre>
<pre>

Revision as of 21:08, 26 January 2014

Template:Languages

All you have to do is to create a app/views/home/_show.html.haml to define your own splash page for your Diaspora pod. Or app/views/home/_show.html.erb if you prefer to write plain HTML instead of HAML. Do not copy or overwrite app/views/home/show.html.haml (note the missing underscore) or public/default.html!

If you create or change this file, be sure to restart Diaspora, you will get server errors or simply no effect otherwise.

A very basic example of a _show.html.haml would be something like:

#content
  .center
    %h2 Welcome to my pod!

A detailed example of a HTML based _show.html.erb landing page would be:

<div class="container">
	<div class="span-24 last">
		<div id="landing_content">
			<div class="span-22 prepend-1 append-1 last">
				<div class="section" id="diaspora_description">
					<p>Welcome to Diaspora*<br />Social Networking with <em>actual</em> privacy</p>
				</div>
			</div>
			<div class="prepend-1 span-22 append-1 last" id="info_links">
				<h2><a href="/users/sign_up">Sign up </a> or <a href="/users/sign_in">sign in</a></h2>
			</div>
		</div>
	</div>
</div>

A more complete example using the Twitter Bootstrap "Hero" template would look like the following:

.navbar.navbar-fixed-top
  .navbar-inner
    .container-fluid
      %a.btn.btn-navbar{"data-target" => ".nav-collapse", "data-toggle" => "collapse"}
        %span.icon-bar
        %span.icon-bar
        %span.icon-bar
      %a.btn.btn-success.pull-left{:href => "/users/sign_in"} Login
      %a.brand{:href => "/"} Diaspora*
      .nav-collapse
        %ul.nav
          %li
            %a{:href => "/about.html"} About
          %li
            %a{:href => "/privacy.html"} Privacy
          %li
            %a{:href => "/terms.html"} Terms

  .subnav
    %ul.nav.nav-pills
      %li
        %a{:href => "https://twitter.com/joindiaspora"} @joindiaspora
      %li
        %a{:href => "https://github.com/diaspora/diaspora"} GitHub
      %li
        %a{:href => "/source.tar.gz"} Code
      %li
        %a{:href => "https://github.com/diaspora/diaspora/tree/master/Changelog.md"} What's New?

   
  .container{:style => "padding-top: 5%;"}
    .hero-unit
      %img{:alt => "Logo", :src => "/assets/branding/logo_caps.png"}/
      %hr/
      %p
        %b You're about to change the Internet. Let's get you set up, shall we?
      %p
        %a.btn.btn-primary.btn-large{:href => "/users/sign_up"} Start an account! »
    .row
      .span4
        %h2 Heading
        %p Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh.
        %p
          %a.btn{:href => "#"} View details »
      .span4
        %h2 Heading
        %p Donec id elit non mi porta gravida at eget metus. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum ni.
        %p
          %a.btn{:href => "#"} View details »
      .span4
        %h2 Heading
        %p Donec sed odio dui. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Vestibulum id ligula porta felis.
        %p
          %a.btn{:href => "#"} View details »

  %script{:src => "/js/jquery.js"}
  %script{:src => "/js/bootstrap.js"}

Diaspora already uses Bootstrap CSS so no need to add it yourself, and examples of use are readily available in the previous link. More examples can be found here. but will need to be tweaked similar to the one below. (Linked JS files need to be added yourself. download here.)

Notice the examples above do not include the “head” & “html” elements, those are rendered by Diaspora. For your landing page you just need to provide the body section, and anything else you chose to include.

Ensure that public/ doesn’t contain any index.html or another file that would be used as index file by your Webserver. If such a file exists it’s given precedence by your Webserver and can break the log in.