Skip to content

Commit daecb4f

Browse files
Merge pull request #145 from CfABrigadePhiladelphia/development
laddr v2.3.0
2 parents 3cf4f14 + 395ccc4 commit daecb4f

62 files changed

Lines changed: 1313 additions & 1210 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ Laddr -- pronounced "ladder" and named after the essential tool for fire brigade
4040
- [Code for Durham](http://codefordurham.com/)
4141
- [Code for Raleigh](http://www.codeforraleigh.com/)
4242

43+
## Help / Support / Questions / Chat
44+
Join Code for Philly's Slack channel for Laddr, you can self-register via codeforphilly.org: https://codeforphilly.slack.com/messages/laddr
45+
4346
## Requirements
4447
Laddr is built on the Emergence PHP framework and deployement engine, and requires an Emergence server to host it.
4548

html-templates/bigscreen.tpl

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,11 @@
33
{block css}
44
{$dwoo.parent}
55

6-
{if $.User->hasAccountLevel('Staff')}
7-
{cssmin "features/content-editable.css"}
8-
{/if}
9-
106
<style type="text/css">
117
.bigscreen-content, .bigscreen-content code {
128
font-size: 140%;
139
}
14-
10+
1511
.checkins ul {
1612
list-style: none;
1713
padding: 0;
@@ -30,7 +26,7 @@
3026
color: #666;
3127
font-size: 90%;
3228
}
33-
29+
3430
.screenshot {
3531
box-shadow: rgba(0, 0, 0, 0.8) 0px 0px 15px;
3632
}
@@ -40,9 +36,7 @@
4036
{block js-bottom}
4137
{$dwoo.parent}
4238

43-
{if $.User->hasAccountLevel('Staff')}
44-
{jsmin "jquery.filedrop.js+markdown.js+features/content-editable.js"}
45-
{else}
39+
{if !$.User->hasAccountLevel('Staff')}
4640
<script>
4741
setTimeout(function() {
4842
location.reload();

html-templates/blog/blogPost.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757

5858
{block "css"}
5959
{$dwoo.parent}
60-
{cssmin "blog.css"}
60+
{cssmin "pages/blog.css"}
6161
{/block}
6262

6363
{block "title"}{$data->Title} &mdash; {$dwoo.parent}{/block}

html-templates/blog/blogPostEdit.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
{block "css"}
44
{$dwoo.parent}
5-
{cssmin "blog.css"}
5+
{cssmin "pages/blog.css"}
66
{/block}
77

88
{block title}{if $data->isPhantom}Create blog post{else}Edit &ldquo;{$data->Title|escape}&rdquo;{/if} &mdash; {$dwoo.parent}{/block}

html-templates/blog/blogPosts.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
{block "css"}
44
{$dwoo.parent}
5-
{cssmin "blog.css"}
5+
{cssmin "pages/blog.css"}
66
{/block}
77

88
{block "content"}

html-templates/checkin/checkinComplete.tpl

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@
55
{block content}
66
{$Checkin = $data}
77

8-
<header class="page-header">
9-
<h2>{_ "Success!"}</h2>
10-
</header>
11-
8+
<div class="page-header">
9+
<h1>{_ "Success!"}</h1>
10+
</div>
1211
<p>Thanks for checking in {if $Checkin->Project}to {projectLink $Checkin->Project}{/if} @ {Laddr::$siteName|escape}!</p>
13-
<h3>{_ "Things to do next:"}</h3>
12+
<h2>{_ "Things to do next:"}</h2>
1413
<ul>
1514
{if $Checkin->Project}
1615
<li><a href="{$Checkin->Project->getURL()}">{_ "Post an update to your project"}</a></li>

html-templates/designs/site.tpl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,21 @@
3232
{* using the responseID as a class on the body can help with subpage-specific styles *}
3333
<body class="{block 'body-class'}{str_replace('/', '_', $.responseId)}-tpl{/block}">
3434
{block header}
35-
{include includes/site.header.tpl}
35+
<header class="site-header">
36+
{include includes/site.header.tpl}
37+
</header>
3638
{/block}
3739

3840
{block content-wrapper}
39-
<main class="container page-body-default">
40-
{block content}{/block}
41+
<main role="main">
42+
<div class="container">
43+
{block content}{/block}
44+
</div>
4145
</main>
4246
{/block}
4347

4448
{block footer-wrapper}
45-
<footer class="site">
49+
<footer class="site-footer">
4650
{block footer}
4751
{include includes/site.footer.tpl}
4852
{/block}

html-templates/home.tpl

Lines changed: 107 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -1,168 +1,127 @@
11
{extends designs/site.tpl}
22

3-
{block js-bottom}
3+
{block "css"}
44
{$dwoo.parent}
5-
{jsmin "features/sidebar-tags.js+features/sidebar-checkin.js"}
5+
{cssmin "pages/home.css"}
66
{/block}
77

8-
{block header}
8+
{block js-bottom}
99
{$dwoo.parent}
10-
11-
<div class="jumbotron">
12-
<div class="caption">
13-
<img src="{versioned_url img/logo.png}" class="logo" alt="{Laddr::$siteName|escape}">
14-
<p>{Laddr::$siteSlogan|escape}</p>
15-
<p>
16-
<a href="{tif $.User ? '/projects' : '/register'}" class="btn btn-lg btn-primary">{glyph "fire"}&nbsp;{_ "Start Hacking"}</a>
17-
<small>or <a href="/mission">{_ "Learn More"}&hellip;</a></small>
18-
</p>
19-
</div>
20-
</div>
10+
{jsmin "features/sidebar-checkin.js"}
2111
{/block}
2212

2313
{block content-wrapper}
24-
<div class="container-fluid">
25-
{block content}
26-
27-
{template tagLink tagData rootUrl linkCls=""}
28-
<a class="{$linkCls}" href="{$rootUrl}?tag={$tagData.Handle}">{$tagData.Title}{if $tagData.itemsCount} <span class="badge pull-right">{$tagData.itemsCount|number_format}</span>{/if}</a>
29-
{/template}
30-
31-
<nav class="sidebar left">
32-
<!-- PROJECTS BLOCK -->
33-
<section class="tagsSummary projects ">
34-
<h4><a href="/projects">{_ "Projects"} <span class="badge">{$projectsTotal|number_format}</span></a>
35-
<a class="btn btn-success btn-xs pull-right" href="/projects/create">{glyph "plus"}&nbsp;{_ "Add Project"}</a></h4>
36-
37-
<header class="btn-group btn-group-justified btn-group-xs" role="group">
38-
<a href="#projects-by-topic" class="tagFilter active btn btn-default" role="button" data-group="byTopic">{_ "topics"}</a>
39-
<a href="#projects-by-tech" class="tagFilter btn btn-default" role="button" data-group="byTech">{_ "tech"}</a>
40-
<a href="#projects-by-event" class="tagFilter btn btn-default" role="button" data-group="byEvent">{_ "events"}</a>
41-
<a href="#projects-by-event" class="tagFilter btn btn-default" role="button" data-group="byStage">{_ "stages"}</a>
42-
</header>
43-
44-
<div class="tags list-group byTopic">
45-
{foreach item=tag from=$projectsTags.byTopic}
46-
{tagLink tagData=$tag rootUrl="/projects" linkCls="list-group-item"}
47-
{/foreach}
48-
</div>
49-
50-
<div class="tags list-group byTech" style="display: none">
51-
{foreach item=tag from=$projectsTags.byTech}
52-
{tagLink tagData=$tag rootUrl="/projects" linkCls="list-group-item"}
53-
{/foreach}
54-
</div>
55-
56-
<div class="tags list-group byEvent" style="display: none">
57-
{foreach item=tag from=$projectsTags.byEvent}
58-
{tagLink tagData=$tag rootUrl="/projects" linkCls="list-group-item"}
59-
{/foreach}
60-
</div>
61-
62-
<div class="tags list-group byStage" style="display: none">
63-
{foreach item=stage from=$projectsStages}
64-
<a class="list-group-item" href="/projects?stage={$stage.Stage}">{$stage.Stage} <span class="badge pull-right">{$stage.itemsCount|number_format}</span></a>
65-
{/foreach}
66-
</div>
67-
</section>
68-
69-
<!-- MEMBERS BLOCK -->
70-
<section class="tagsSummary members">
71-
<h4><a href="/people">{_ "Members"} <span class="badge">{$membersTotal|number_format}</span></a></h4>
72-
73-
<header class="btn-group btn-group-justified btn-group-xs" role="group">
74-
<a href="#members-by-tech" class="tagFilter active btn btn-default" role="button" data-group="byTech">{_ "skills"}</a>
75-
<a href="#members-by-project" class="tagFilter btn btn-default" role="button" data-group="byTopic">{_ "projects"}</a>
76-
</header>
77-
78-
<div class="tags list-group byTech">
79-
{foreach item=tag from=$membersTags.byTech}
80-
{tagLink tagData=$tag rootUrl="/people" linkCls="list-group-item"}
81-
{/foreach}
82-
</div>
83-
84-
<div class="tags list-group byTopic" style="display: none">
85-
{foreach item=tag from=$membersTags.byTopic}
86-
{tagLink tagData=$tag rootUrl="/people" linkCls="list-group-item"}
87-
{/foreach}
14+
<main role="main">
15+
<div class="jumbotron">
16+
<div class="container-fluid">
17+
<div class="jumbotron-caption">
18+
<div class="media">
19+
<div class="media-left">
20+
<img src="{versioned_url img/logo.png}" class="media-object" height="140" alt="{Laddr::$siteName|escape}">
21+
</div>
22+
<div class="media-body">
23+
<p class="media-heading">{Laddr::$siteSlogan|escape}</p>
24+
<ul class="list-inline">
25+
{if $.User}
26+
<li><a href="/chat" class="btn btn-lg btn-success">{glyph "comment"}&nbsp;{_ "Chat with us on Slack"}</a></li>
27+
{else}
28+
<li><a href="/register" class="btn btn-lg btn-success">{glyph "heart"}&nbsp;{_ "Join Us!"}</a></li>
29+
{/if}
30+
<li><a href="/projects" class="btn btn-lg btn-primary">{glyph "book"}&nbsp;{_ "Browse Projects"}</a></li>
31+
</ul>
32+
</div>
8833
</div>
89-
</section>
90-
91-
{*
92-
<!-- EVENTS BLOCK -->
93-
<section class="tagsSummary events">
94-
<h4><a href="/events">Events <span class="badge badge-info">108</span></a></h4>
95-
<header class="btn-group btn-group-justified btn-group-xs" role="group">
96-
<a href="#events-by-date" class="tagFilter active btn btn-default" role="button" data-group="byDate">{_ "dates"}</a>
97-
<a href="#events-by-topic" class="tagFilter btn btn-default" role="button" data-group="byTopic">{_ "topics"}</a>
98-
</header>
99-
<ul class="tags list-group">
100-
<li class="list-group-item"><a href="#">Workshops <span class="badge pull-right">100/3</span></a></li>
101-
<li class="list-group-item"><a href="#">Hackathons <span class="badge pull-right">10/4</span></a></li>
102-
<li class="list-group-item"><a href="#">Social <span class="badge pull-right">6/3</span></a></li>
103-
</ul>
104-
</section>
34+
</div>
35+
</div>
36+
</div>
37+
<div class="container">
38+
<h1 class="sr-only">Code for [My Town]</h1>
39+
<div class="row">
40+
<div class="col-md-8">
41+
{include includes/home.announcements.tpl}
42+
43+
{load_templates subtemplates/meetups.tpl}
44+
{load_templates subtemplates/projects.tpl}
45+
{load_templates subtemplates/people.tpl}
46+
47+
{if $currentMeetup}
48+
<h2>{_ "Current Meetup"}</h2>
49+
<div class="panel panel-default">
50+
<div class="panel-heading">
51+
{meetup $currentMeetup showRsvp=false}
52+
</div>
53+
<div class="panel-body">
54+
<form class="checkin" action="/checkin" method="POST">
55+
<div class="form-group">
56+
<input type="hidden" name="MeetupID" value="{$currentMeetup.id}">
57+
<select name="ProjectID" class="project-picker form-control">
58+
<option value="">Current Project (if any)</option>
59+
{foreach item=Project from=Laddr\Project::getAll()}
60+
<option value="{$Project->ID}">{$Project->Title|escape}</option>
61+
{/foreach}
62+
</select>
63+
</div>
64+
<input type="submit" value="Check In" class="btn btn-success">
65+
</form>
66+
<div class="checkins">
67+
<h3>{_ "Checked-in Members"}</h3>
68+
69+
{$lastProjectID = false}
70+
<dl class="checkins-list">
71+
<dt class="checkins-list-title">{_ "No Current Project"}</dt>
72+
{foreach item=Checkin from=$currentMeetup.checkins}
73+
{if $Checkin->ProjectID != $lastProjectID || $lastProjectID === false}
74+
{if $Checkin->Project && $lastProjectID === false}
75+
<dt class="checkins-list-title">{projectLink $Checkin->Project}</dt>
76+
{$lastProjectID = $Checkin->ProjectID}
77+
{/if}
78+
{/if}
79+
<dd class="checkins-list-person">{personLink $Checkin->Member photo=yes photoSize=32}</dd>
80+
{/foreach}
81+
</dl>
82+
83+
{*
84+
{$lastProjectID = false}
85+
<p class="muted">{_ "No Current Project"}</p>
86+
<ul class="nav nav-pills nav-stacked">
87+
{foreach item=Checkin from=$currentMeetup.checkins}
88+
{if $Checkin->ProjectID != $lastProjectID || $lastProjectID === false}
89+
{if $lastProjectID}
90+
</ul>
91+
{/if}
92+
<h5>{if $Checkin->Project}{projectLink $Checkin->Project}{/if}</h5>
93+
{$lastProjectID = $Checkin->ProjectID}
94+
<ul class="nav nav-pills nav-stacked">
95+
{/if}
96+
<li>{personLink $Checkin->Member photo=yes photoSize=32}</li>
97+
{/foreach}
98+
</ul>
99+
*}
100+
</div>
101+
</div>
102+
</div>
103+
{/if}
105104

106-
<!-- HELP WANTED BLOCK -->
107-
<section class="tagsSummary wanted">
108-
<h4><a href="/wanted">Help Wanted <span class="badge badge-info">10</span></a></h4>
109-
<header class="btn-group btn-group-justified btn-group-xs" role="group">
110-
<a href="#wanted-by-tech" class="tagFilter active btn btn-default" role="button" data-group="byTech">{_ "skills"}</a>
111-
<a href="#wanted-by-event" class="tagFilter btn btn-default" role="button" data-group="byEvent">{_ "events"}</a>
112-
<a href="#wanted-by-topic" class="tagFilter btn btn-default" role="button" data-group="byTopic">{_ "topics"}</a>
113-
</header>
114-
<ul class="tags list-group">
115-
<li class="list-group-item"><a href="#">PHP <span class="badge pull-right">1</span></a></li>
116-
<li class="list-group-item"><a href="#">JS <span class="badge pull-right">2</span></a></li>
117-
<li class="list-group-item"><a href="#">Python <span class="badge pull-right">100</span></a></li>
118-
<li class="list-group-item"><a href="#">Rails <span class="badge pull-right">42</span></a></li>
119-
</ul>
120-
</section>
105+
<h2>{_ "Latest Project Activity"}</h2>
121106

122-
<!-- HELP OFFERED BLOCK -->
123-
<section class="tagsSummary offered">
124-
<h4><a href="/offered">Help Offered <span class="badge badge-info">8</span></a></h4>
125-
<header class="btn-group btn-group-justified btn-group-xs" role="group">
126-
<a href="#wanted-by-tech" class="tagFilter active btn btn-default" role="button" data-group="byTech">{_ "skills"}</a>
127-
<a href="#wanted-by-event" class="tagFilter btn btn-default" role="button" data-group="byEvent">{_ "events"}</a>
128-
<a href="#wanted-by-topic" class="tagFilter btn btn-default" role="button" data-group="byTopic">{_ "topics"}</a>
129-
</header>
130-
<ul class="tags list-group">
131-
<li class="list-group-item"><a href="#">Django <span class="badge pull-right">2</span></a></li>
132-
<li class="list-group-item"><a href="#">Node.js <span class="badge pull-right">1</span></a></li>
107+
<ul class="list-inline">
108+
<li><a href="/project-updates" class="btn btn-link">{glyph "asterisk"} {_ "Browse all project updates"}</a></li>
109+
<li><a href="/project-buzz" class="btn btn-link">{glyph "flash"} {_ "Browse all project buzz"}</a></li>
110+
<li><a href="/blog" class="btn btn-link">{glyph "file"} {_ "Browse all blog posts"}</a></li>
133111
</ul>
134-
</section>
135-
*}
136-
137-
{* include includes/home.resources.tpl *}
138-
</nav>
139-
140-
<aside class="sidebar right meetups">
141-
{include includes/home.meetups.tpl}
142-
</aside>
143112

144-
<main class="fixed-fixed">
145-
{include includes/home.announcements.tpl}
146-
147-
<header class="page-header">
148-
<h2>{_ "Latest Project Activity"}</h2>
149-
</header>
150-
151-
<div class="row-fluid">
152113
{foreach item=Article from=$activity}
153114
{projectActivity $Article headingLevel=h3 showProject=true}
154115
{foreachelse}
155-
<em>{_ "No project updates have been posted on this site yet."}</em>
116+
<i>{_ "No project updates have been posted on this site yet."}</i>
156117
{/foreach}
157-
</div> <!-- .row-fluid -->
158-
159-
<div>
160-
<a href="/project-updates" class="btn btn-link">{glyph "asterisk"} {_ "Browse all project updates"}</a>
161-
<a href="/project-buzz" class="btn btn-link">{glyph "flash"} {_ "Browse all project buzz"}</a>
162-
<a href="/blog" class="btn btn-link">{glyph "file"} {_ "Browse all blog posts"}</a>
163-
</div> <!-- .row-fluid -->
164-
</main>
165-
166-
{/block}
118+
</div>
119+
<div class="col-md-4">
120+
<aside class="meetups" role="complementary">
121+
{include includes/home.meetups.tpl}
122+
</aside>
123+
</div>
124+
</div>
167125
</div>
126+
</main>
168127
{/block}

0 commit comments

Comments
 (0)