more redesign work on challenge views
This commit is contained in:
committed by
Berkeley Martinez
parent
7e481833cd
commit
7eefcb0705
@ -26,7 +26,7 @@
|
|||||||
//## Settings for some of the most global styles.
|
//## Settings for some of the most global styles.
|
||||||
|
|
||||||
//** Background color for `<body>`.
|
//** Background color for `<body>`.
|
||||||
@body-bg: #fefefe;
|
@body-bg: #eee;
|
||||||
//** Global text color on `<body>`.
|
//** Global text color on `<body>`.
|
||||||
@text-color: @gray-dark;
|
@text-color: @gray-dark;
|
||||||
|
|
||||||
|
@ -291,6 +291,8 @@ ul {
|
|||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
background-color: #215f1e;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
.navbar {
|
.navbar {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@ -427,13 +429,6 @@ thead {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.signin-button-nav {
|
|
||||||
@media (min-width: 991px) and (max-width: 1010px) {
|
|
||||||
margin-left: -10px;
|
|
||||||
margin-right: -5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-nav a {
|
.navbar-nav a {
|
||||||
color: @gray-lighter;
|
color: @gray-lighter;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
@ -444,16 +439,15 @@ thead {
|
|||||||
color: @gray-lighter;
|
color: @gray-lighter;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-right {
|
|
||||||
background-color: #215f1e;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.signup-btn-nav {
|
.signup-btn-nav {
|
||||||
margin-top: -2px !important;
|
margin-top: -2px !important;
|
||||||
padding-top: 10px !important;
|
padding-top: 10px !important;
|
||||||
padding-bottom: 10px !important;
|
padding-bottom: 10px !important;
|
||||||
margin-right: -12px;
|
margin-right: -12px;
|
||||||
|
@media (min-width: 991px) and (max-width: 1010px) {
|
||||||
|
margin-left: -10px;
|
||||||
|
margin-right: -5px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.public-profile-img {
|
.public-profile-img {
|
||||||
|
@ -1,19 +1,18 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
block content
|
block content
|
||||||
.jumbotron.text-center
|
.row
|
||||||
.row
|
.col-xs-12
|
||||||
.col-xs-12
|
h2.text-center Sign in with an email address here:
|
||||||
h2 Sign in with an email address here:
|
.col-sm-6.col-sm-offset-3
|
||||||
.col-sm-6.col-sm-offset-3
|
form(method='POST', action='/api/users/login')
|
||||||
form(method='POST', action='/api/users/login')
|
input(type='hidden', name='_csrf', value=_csrf)
|
||||||
input(type='hidden', name='_csrf', value=_csrf)
|
.form-group
|
||||||
.form-group
|
input.input-lg.form-control(type='email', name='email', id='email', placeholder='Email', autofocus=true)
|
||||||
input.input-lg.form-control(type='email', name='email', id='email', placeholder='Email', autofocus=true)
|
.form-group
|
||||||
.form-group
|
input.input-lg.form-control(type='password', name='password', id='password', placeholder='Password')
|
||||||
input.input-lg.form-control(type='password', name='password', id='password', placeholder='Password')
|
button.btn.btn-primary.btn-lg.btn-block(type='submit')
|
||||||
button.btn.btn-primary.btn-lg.btn-block(type='submit')
|
span.ion-android-hand
|
||||||
span.ion-android-hand
|
| Login
|
||||||
| Login
|
.button-spacer
|
||||||
.button-spacer
|
.button-spacer
|
||||||
.button-spacer
|
a.btn.btn-info.btn-lg.btn-block(href='/forgot') Forgot your password?
|
||||||
a.btn.btn-info.btn-lg.btn-block(href='/forgot') Forgot your password?
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
block content
|
block content
|
||||||
script.
|
script.
|
||||||
var challengeName = 'Email Signup'
|
var challengeName = 'Email Signup'
|
||||||
.jumbotron.text-center
|
h2.text-center Sign up with an email address here:
|
||||||
h2 Sign up with an email address here:
|
|
||||||
form.form-horizontal(method='POST', action='/api/users', name="signupForm")
|
form.form-horizontal(method='POST', action='/api/users', name="signupForm")
|
||||||
.row
|
.row
|
||||||
.col-sm-6.col-sm-offset-3
|
.col-sm-6.col-sm-offset-3
|
||||||
@ -13,6 +12,6 @@ block content
|
|||||||
.form-group
|
.form-group
|
||||||
input.input-lg.form-control(type='password', name='password', id='password', placeholder='password', required, pattern=".{8,50}", title="Must be at least 8 characters and no longer than 50 characters.")
|
input.input-lg.form-control(type='password', name='password', id='password', placeholder='password', required, pattern=".{8,50}", title="Must be at least 8 characters and no longer than 50 characters.")
|
||||||
.form-group
|
.form-group
|
||||||
button.btn.btn-lg.btn-success.btn-block(type='submit')
|
button.btn.btn-lg.btn-primary.btn-block(type='submit')
|
||||||
span.ion-person-add
|
span.ion-person-add
|
||||||
| Signup
|
| Signup
|
||||||
|
@ -1,12 +1,11 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
|
|
||||||
block content
|
block content
|
||||||
.col-sm-8.col-sm-offset-2.jumbotron
|
.col-sm-6.col-sm-offset-3
|
||||||
form(method='POST', action="/forgot")
|
form(method='POST', action="/forgot")
|
||||||
h2.text-center Forgot Password Reset
|
h2.text-center Forgot Password Reset
|
||||||
input(type='hidden', name='_csrf', value=_csrf)
|
input(type='hidden', name='_csrf', value=_csrf)
|
||||||
.form-group
|
.form-group
|
||||||
p Enter your email address. We'll send you password reset instructions.
|
p.large-p Enter your email address. We'll send you password reset instructions.
|
||||||
input.form-control.input-lg(type='email', name='email', id='email', placeholder='Email', autofocus=true required)
|
input.form-control.input-lg(type='email', name='email', id='email', placeholder='Email', autofocus=true required)
|
||||||
.form-group
|
.form-group
|
||||||
button.btn.btn-primary.btn-lg.btn-block(type='submit')
|
button.btn.btn-primary.btn-lg.btn-block(type='submit')
|
||||||
|
@ -4,7 +4,6 @@ block content
|
|||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||||
|
|
||||||
.row
|
.row
|
||||||
.col-md-4.col-lg-3
|
.col-md-4.col-lg-3
|
||||||
.scroll-locker(id = "scroll-locker")
|
.scroll-locker(id = "scroll-locker")
|
||||||
@ -14,6 +13,7 @@ block content
|
|||||||
if (isCompleted)
|
if (isCompleted)
|
||||||
|
|
|
|
||||||
i.ion-checkmark-circled.text-primary(title="Completed")
|
i.ion-checkmark-circled.text-primary(title="Completed")
|
||||||
|
hr
|
||||||
.row
|
.row
|
||||||
.col-xs-12
|
.col-xs-12
|
||||||
.bonfire-instructions
|
.bonfire-instructions
|
||||||
|
@ -4,7 +4,7 @@ block content
|
|||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||||
.row.courseware-height
|
.row
|
||||||
.col-md-3.col-lg-3
|
.col-md-3.col-lg-3
|
||||||
.scroll-locker(id = "scroll-locker")
|
.scroll-locker(id = "scroll-locker")
|
||||||
.innerMarginFix(style = "width: 99%;")
|
.innerMarginFix(style = "width: 99%;")
|
||||||
|
@ -8,11 +8,12 @@ block content
|
|||||||
.col-md-4.col-lg-3
|
.col-md-4.col-lg-3
|
||||||
.scroll-locker(id = "scroll-locker")
|
.scroll-locker(id = "scroll-locker")
|
||||||
.innerMarginFix(style = "width: 99%;")
|
.innerMarginFix(style = "width: 99%;")
|
||||||
#testCreatePanel.well
|
#testCreatePanel
|
||||||
h3.text-center.negative-10= name
|
h3.text-center.negative-10= name
|
||||||
if (isCompleted)
|
if (isCompleted)
|
||||||
|
|
|
|
||||||
i.ion-checkmark-circled.text-primary(title="Completed")
|
i.ion-checkmark-circled.text-primary(title="Completed")
|
||||||
|
hr
|
||||||
.row
|
.row
|
||||||
.col-xs-12
|
.col-xs-12
|
||||||
.bonfire-instructions
|
.bonfire-instructions
|
||||||
|
@ -5,21 +5,17 @@ block content
|
|||||||
.spacer
|
.spacer
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h3.nowrap Get connected
|
|
||||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='Get great references and connections to start your software engineer career')
|
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='Get great references and connections to start your software engineer career')
|
||||||
p.landing-p Join a community of 100,000+ motivated people.
|
p.large-p Join a community of 100,000+ developers.
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h3.nowrap Learn JavaScript
|
|
||||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_learn.svg.gz', alt='Learn to code and learn full stack JavaScript')
|
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_learn.svg.gz', alt='Learn to code and learn full stack JavaScript')
|
||||||
p.landing-p Work together on Full Stack JavaScript coding challenges.
|
p.large-p Work together on coding challenges.
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h3.nowrap Build your portfolio
|
|
||||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Build a portfolio of apps for nonprofits')
|
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Build a portfolio of apps for nonprofits')
|
||||||
p.landing-p Build apps that solve real problems for real people.
|
p.large-p Build a portfolio of apps that solve real problems.
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h3.nowrap Help nonprofits
|
|
||||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Help empower nonprofits with code')
|
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Help empower nonprofits with code')
|
||||||
p.landing-p Give nonprofits a boost by empowering them with code.
|
p.large-p Empowering nonprofits with code.
|
||||||
.big-break
|
.big-break
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||||
@ -90,14 +86,15 @@ block content
|
|||||||
.spacer
|
.spacer
|
||||||
.col-xs-offset-0.col-sm-offset-1.text-left
|
.col-xs-offset-0.col-sm-offset-1.text-left
|
||||||
h2 Here's why you should join our open source community right now:
|
h2 Here's why you should join our open source community right now:
|
||||||
|
.spacer
|
||||||
ul.large-li
|
ul.large-li
|
||||||
li.ion-code   You'll get help in real time from our community chat rooms.
|
li.ion-code.large-p   You'll get help in real time from our community chat rooms.
|
||||||
li.ion-code   You'll meet up with other coders in your city.
|
li.ion-code.large-p   You'll meet up with other coders in your city.
|
||||||
li.ion-code   You'll learn to code at your own pace, in your browser or on your phone.
|
li.ion-code.large-p   You'll learn to code at your own pace, in your browser or on your phone.
|
||||||
li.ion-code   You'll work through our focused, interactive courses and tutorials.
|
li.ion-code.large-p   You'll work through our focused, interactive courses and tutorials.
|
||||||
li.ion-code   You'll learn state-of-the-art full stack JavaScript technologies.
|
li.ion-code.large-p   You'll learn state-of-the-art full stack JavaScript technologies.
|
||||||
li.ion-code   You'll build projects that help nonprofits carry out their missions more effectively.
|
li.ion-code.large-p   You'll build projects that help nonprofits carry out their missions more effectively.
|
||||||
li.ion-code   You'll assemble a portfolio of real apps used by real people.
|
li.ion-code.large-p   You'll assemble a portfolio of real apps used by real people.
|
||||||
.big-break
|
.big-break
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||||
|
@ -2,77 +2,74 @@ extends ../layout
|
|||||||
block content
|
block content
|
||||||
script.
|
script.
|
||||||
var challengeName = 'Nonprofits View';
|
var challengeName = 'Nonprofits View';
|
||||||
.panel.panel-info
|
.row
|
||||||
.panel-heading.text-center= title
|
.col-xs-12.col-sm-10.col-sm-offset-1
|
||||||
.panel-body
|
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-10.col-sm-offset-1
|
.col-xs-12
|
||||||
.row
|
img.img-center.img-responsive(src=imageUrl)
|
||||||
.col-xs-12
|
.spacer
|
||||||
img.img-center.img-responsive(src=imageUrl)
|
.row
|
||||||
|
.col-xs-12.col-sm-4
|
||||||
|
img.img-responsive(src=logoUrl)
|
||||||
|
.col-xs-12.col-sm-8
|
||||||
|
.col-xs-12
|
||||||
|
h4= whatDoesNonprofitDo
|
||||||
|
h4
|
||||||
|
a(href=websiteLink)= websiteLink
|
||||||
.spacer
|
.spacer
|
||||||
.row
|
h3 Project Description:
|
||||||
.col-xs-12.col-sm-4
|
.col-xs-12
|
||||||
img.img-responsive(src=logoUrl)
|
h4.negative-15 #{projectDescription} (About #{estimatedHours} hours per camper)
|
||||||
.col-xs-12.col-sm-8
|
.spacer
|
||||||
.col-xs-12
|
h3 This project involves building:
|
||||||
h4= whatDoesNonprofitDo
|
h4.negative-15.col-xs-12
|
||||||
h4
|
if (approvedWebsite)
|
||||||
a(href=websiteLink)= websiteLink
|
.ion-android-globe Website
|
||||||
.spacer
|
if (approvedDonor)
|
||||||
h3 Project Description:
|
.ion-card Donor Management System
|
||||||
.col-xs-12
|
if (approvedInventory)
|
||||||
h4.negative-15 #{projectDescription} (About #{estimatedHours} hours per camper)
|
.ion-ios-box Inventory Management System
|
||||||
.spacer
|
if (approvedVolunteer)
|
||||||
h3 This project involves building:
|
.ion-android-calendar Volunteer Management System
|
||||||
h4.negative-15.col-xs-12
|
if (approvedForm)
|
||||||
if (approvedWebsite)
|
.ion-ios-list Webform
|
||||||
.ion-android-globe Website
|
if (approvedCommunity)
|
||||||
if (approvedDonor)
|
.ion-ios-people Community Management System
|
||||||
.ion-card Donor Management System
|
if (approvedELearning)
|
||||||
if (approvedInventory)
|
.ion-university E-learning Platform
|
||||||
.ion-ios-box Inventory Management System
|
if (approvedOther)
|
||||||
if (approvedVolunteer)
|
.ion-settings Other tools
|
||||||
.ion-android-calendar Volunteer Management System
|
h3 Project Status: #{currentStatus}
|
||||||
if (approvedForm)
|
if (moneySaved > 0)
|
||||||
.ion-ios-list Webform
|
h3.text-primary Estimated Cost Savings for Nonprofit: $#{moneySaved.toString().replace(/000$/, ',000')}
|
||||||
if (approvedCommunity)
|
|
||||||
.ion-ios-people Community Management System
|
|
||||||
if (approvedELearning)
|
|
||||||
.ion-university E-learning Platform
|
|
||||||
if (approvedOther)
|
|
||||||
.ion-settings Other tools
|
|
||||||
h3 Project Status: #{currentStatus}
|
|
||||||
if (moneySaved > 0)
|
|
||||||
h3.text-primary Estimated Cost Savings for Nonprofit: $#{moneySaved.toString().replace(/000$/, ',000')}
|
|
||||||
|
|
||||||
if (interestedCampers && interestedCampers.length > 0)
|
if (interestedCampers && interestedCampers.length > 0)
|
||||||
h3 Interested campers:
|
h3 Interested campers:
|
||||||
.col-xs-12.text-left
|
.col-xs-12.text-left
|
||||||
for interestedCamper in interestedCampers
|
for interestedCamper in interestedCampers
|
||||||
a(href='/' + interestedCamper.username class="interested-camper-image")
|
a(href='/' + interestedCamper.username class="interested-camper-image")
|
||||||
img.profile-picture.float-right(src=interestedCamper.picture)
|
img.profile-picture.float-right(src=interestedCamper.picture)
|
||||||
if (assignedCampers && assignedCampers.length > 0)
|
if (assignedCampers && assignedCampers.length > 0)
|
||||||
h3 Assigned campers:
|
h3 Assigned campers:
|
||||||
.col-xs-12.text-left
|
.col-xs-12.text-left
|
||||||
for assignedCamper in assignedCampers
|
for assignedCamper in assignedCampers
|
||||||
a(href='/' + assignedCamper.username class="interested-camper-image")
|
a(href='/' + assignedCamper.username class="interested-camper-image")
|
||||||
img.profile-picture.float-right(src=assignedCamper.picture)
|
img.profile-picture.float-right(src=assignedCamper.picture)
|
||||||
if (!buttonActive)
|
if (!buttonActive)
|
||||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||||
.text-center
|
.text-center
|
||||||
if !user
|
if !user
|
||||||
a.btn.btn-cta.signup-btn.btn-block(href="/login") Start learning to code (it's free)
|
a.btn.btn-cta.signup-btn.btn-block(href="/login") Start learning to code (it's free)
|
||||||
.button-spacer
|
.button-spacer
|
||||||
else
|
else
|
||||||
a.btn.btn-primary.btn-big.btn-block.disabled(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project *
|
a.btn.btn-primary.btn-big.btn-block.disabled(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project *
|
||||||
p * Complete all our Bonfires, Ziplines, and Basejumps to unlock this.
|
p * Complete all our Bonfires, Ziplines, and Basejumps to unlock this.
|
||||||
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
|
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
|
||||||
.spacer
|
.spacer
|
||||||
if (buttonActive)
|
if (buttonActive)
|
||||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||||
.text-center
|
.text-center
|
||||||
a.btn.btn-primary.btn-big.btn-block(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project
|
a.btn.btn-primary.btn-big.btn-block(href='/nonprofits/interested-in-nonprofit/#{dashedName}') I'm interested in building this project
|
||||||
.button-spacer
|
.button-spacer
|
||||||
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
|
a.btn.btn-info.btn-big.btn-block(href='/nonprofits/directory') Show all Nonprofit Projects
|
||||||
.spacer
|
.spacer
|
||||||
|
@ -24,9 +24,8 @@ nav.navbar.navbar-default.navbar-fixed-top.nav-height
|
|||||||
li
|
li
|
||||||
a(href='/about') About
|
a(href='/about') About
|
||||||
if !user
|
if !user
|
||||||
li      
|
|
||||||
li
|
li
|
||||||
a.btn.signup-btn.signup-btn-nav.signin-button-nav(href='/login') Sign in
|
a(href='/login') Sign in
|
||||||
else
|
else
|
||||||
li.brownie-points-nav
|
li.brownie-points-nav
|
||||||
a(href='/' + user.username) [ #{user.progressTimestamps.length} ]
|
a(href='/' + user.username) [ #{user.progressTimestamps.length} ]
|
||||||
|
54
server/views/resources/links.jade
Normal file
54
server/views/resources/links.jade
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
extends ../layout
|
||||||
|
block content
|
||||||
|
table.table.link-table
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-erlenmeyer-flask
|
||||||
|
td
|
||||||
|
a(href="/labs") Cool Apps Built by Campers
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-chatbox
|
||||||
|
td
|
||||||
|
a(href="/stories") Stories from Campers
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-speakerphone
|
||||||
|
td
|
||||||
|
a(href='//medium.freecodecamp.com', target='_blank') Medium Publication
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-social-github
|
||||||
|
td
|
||||||
|
a(href="//github.com/freecodecamp", target='_blank') GitHub Repository
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-social-reddit
|
||||||
|
td
|
||||||
|
a(href="//www.reddit.com/r/freecodecamp", target='_blank') Subreddit
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-social-linkedin
|
||||||
|
td
|
||||||
|
a(href="//www.linkedin.com/edu/school?id=166029", target='_blank') LinkedIn University Page
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-social-twitter
|
||||||
|
td
|
||||||
|
a(href="//twitter.com/freecodecamp", target='_blank') Twitter Feed
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-social-facebook
|
||||||
|
td
|
||||||
|
a(href="//facebook.com/freecodecamp") Facebook Page
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-social-twitch-outline
|
||||||
|
td
|
||||||
|
a(href="//twitch.tv/freecodecamp", target='_blank') Twitch.tv Channel
|
||||||
|
tr
|
||||||
|
td.text-right
|
||||||
|
.ion-locked
|
||||||
|
td
|
||||||
|
a(href="//github.com/FreeCodeCamp/freecodecamp/wiki/Free-Code-Camp's-Privacy-Policy") Privacy Policy
|
||||||
|
.spacer
|
@ -1,77 +1,75 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
block content
|
block content
|
||||||
.jumbotron
|
.text-center
|
||||||
.text-center
|
.row
|
||||||
.row
|
.col-xs-12
|
||||||
.col-xs-12
|
h1.landing-heading Get pro bono code for your nonprofit.
|
||||||
h1.landing-heading Get pro bono code for your nonprofit.
|
.big-break
|
||||||
|
.col-xs-12.col-sm-12.col-md-12
|
||||||
|
.embed-responsive.embed-responsive-16by9
|
||||||
|
iframe.embed-responsive-item(src='//player.vimeo.com/video/126228100')
|
||||||
.big-break
|
.big-break
|
||||||
.col-xs-12.col-sm-12.col-md-12
|
h2 As featured in:
|
||||||
.embed-responsive.embed-responsive-16by9
|
img.img-center.img-responsive(src='https://s3.amazonaws.com/freecodecamp/as-seen-on.png')
|
||||||
iframe.embed-responsive-item(src='//player.vimeo.com/video/126228100')
|
.spacer
|
||||||
.big-break
|
hr
|
||||||
h2 As featured in:
|
.spacer
|
||||||
img.img-center.img-responsive(src='https://s3.amazonaws.com/freecodecamp/as-seen-on.png')
|
h2 Our process:
|
||||||
.spacer
|
.spacer
|
||||||
hr
|
.row
|
||||||
.spacer
|
.col-xs-12.col-sm-12.col-md-4
|
||||||
h2 Our process:
|
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Image of a briefcase')
|
||||||
.row
|
p.large-p You tell us how we can help you.
|
||||||
.col-xs-12.col-sm-12.col-md-4
|
.col-xs-12.col-sm-12.col-md-4
|
||||||
h3.nowrap Your idea
|
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Image of people putting their hands together in a huddle')
|
||||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_portfolio.svg.gz', alt='Image of a briefcase')
|
p.large-p We'll hand pick developers and a project manager.
|
||||||
p.landing-p You tell us how we can help you.
|
.col-xs-12.col-sm-12.col-md-4
|
||||||
.col-xs-12.col-sm-12.col-md-4
|
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='image of two people high-fiving')
|
||||||
h3.nowrap Our team
|
p.large-p Together we'll set milestones and complete your project.
|
||||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_nonprofits.svg.gz', alt='Image of people putting their hands together in a huddle')
|
.spacer
|
||||||
p.landing-p We'll hand pick developers and a project manager.
|
hr
|
||||||
.col-xs-12.col-sm-12.col-md-4
|
.spacer
|
||||||
h3.nowrap Your solution
|
h2 Solutions we can help you build:
|
||||||
img.img-responsive.landing-icon.img-center(src= 'https://s3.amazonaws.com/freecodecamp/landingIcons_connect.svg.gz', alt='image of two people high-fiving')
|
.spacer
|
||||||
p.landing-p Together we'll set milestones and complete your project.
|
.text-center.negative-35
|
||||||
.spacer
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
hr
|
.landing-skill-icon.ion-android-globe
|
||||||
.spacer
|
h2.black-text Websites
|
||||||
h2 Solutions we can help you build:
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
.text-center.negative-35
|
.landing-skill-icon.ion-card
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
h2.black-text Donation Systems
|
||||||
.landing-skill-icon.ion-android-globe
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h2.black-text Websites
|
.landing-skill-icon.ion-android-calendar
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
h2.black-text Volunteer Systems
|
||||||
.landing-skill-icon.ion-card
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h2.black-text Donation Systems
|
.landing-skill-icon.ion-ios-box
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
h2.black-text Inventory Systems
|
||||||
.landing-skill-icon.ion-android-calendar
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h2.black-text Volunteer Systems
|
.landing-skill-icon.ion-university
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
h2.black-text E-learning Platforms
|
||||||
.landing-skill-icon.ion-ios-box
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h2.black-text Inventory Systems
|
.landing-skill-icon.ion-ios-list
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
h2.black-text Paperless Workflows
|
||||||
.landing-skill-icon.ion-university
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h2.black-text E-learning Platforms
|
.landing-skill-icon.ion-ios-people
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
h2.black-text Community Tools
|
||||||
.landing-skill-icon.ion-ios-list
|
.col-xs-12.col-sm-12.col-md-3
|
||||||
h2.black-text Paperless Workflows
|
.landing-skill-icon.ion-settings
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
h2.black-text ...and other tools
|
||||||
.landing-skill-icon.ion-ios-people
|
.spacer
|
||||||
h2.black-text Community Tools
|
hr
|
||||||
.col-xs-12.col-sm-12.col-md-3
|
.spacer
|
||||||
.landing-skill-icon.ion-settings
|
.large-p.text-left.col-xs-offset-0.col-sm-offset-1
|
||||||
h2.black-text ...and other tools
|
h2 Our developers build projects for nonprofits who:
|
||||||
.spacer
|
ul.large-li
|
||||||
hr
|
li.ion-code   already have people who benefit from their services.
|
||||||
.spacer
|
li.ion-code   are registered with their government and have tax-exempt status.
|
||||||
.large-p.text-left.col-xs-offset-0.col-sm-offset-1
|
li.ion-code   have a stakeholder who can meet with our developers to direct the project.
|
||||||
h2 Our developers build projects for nonprofits who:
|
li.ion-code   can budget at least $20 per month for their own cloud servers.
|
||||||
ul.large-li
|
li.ion-code   can commit to using and maintaining the solution that our developers build.
|
||||||
li.ion-code   already have people who benefit from their services.
|
.big-break
|
||||||
li.ion-code   are registered with their government and have tax-exempt status.
|
.row
|
||||||
li.ion-code   have a stakeholder who can meet with our developers to direct the project.
|
.col-xs-12.col-sm-8.col-sm-offset-2
|
||||||
li.ion-code   can budget at least $20 per month for their own cloud servers.
|
a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help
|
||||||
li.ion-code   can commit to using and maintaining the solution that our developers build.
|
.button-spacer
|
||||||
.big-break
|
a.btn.btn-lg.btn-primary.btn-primary-ghost.btn-block(href="/nonprofits/directory") Browse our directory of nonprofits we've helped
|
||||||
.row
|
|
||||||
.col-xs-12.col-sm-8.col-sm-offset-2
|
|
||||||
a.btn.btn-cta.signup-btn.btn-block(href="/nonprofits-form") My nonprofit needs coding help
|
|
||||||
.button-spacer
|
|
||||||
a.btn.btn-lg.btn-primary.btn-primary-ghost.btn-block(href="/nonprofits/directory") Browse our directory of nonprofits we've helped
|
|
||||||
|
@ -1,27 +1,25 @@
|
|||||||
extends ../layout
|
extends ../layout
|
||||||
block content
|
block content
|
||||||
.panel.panel-info
|
h1.text-center Stories from happy campers
|
||||||
.panel-heading.text-center Stories from happy campers
|
hr
|
||||||
.panel-body.text-left
|
.row
|
||||||
|
.col-xs-12.col-sm-10.col-sm-offset-1
|
||||||
.row
|
.row
|
||||||
.col-xs-12.col-sm-10.col-sm-offset-1
|
for story in stories
|
||||||
.row
|
.col-xs-12.col-sm-6.col-md-4
|
||||||
for story in stories
|
.height-500
|
||||||
.col-xs-12.col-sm-6.col-md-4
|
a(href=story.linkedin target='_blank')
|
||||||
.height-500
|
img.testimonial-image.img-responsive.img-center(src=story.image)
|
||||||
a(href=story.linkedin target='_blank')
|
h3.text-center= story.camper
|
||||||
img.testimonial-image.img-responsive.img-center(src=story.image)
|
|
|
||||||
h3.text-center= story.camper
|
a.fa.fa-linkedin-square.text-primary(alt="#{story.camper}'s LinkedIn Profile", href=story.linkedin, target='_blank')
|
||||||
|
|
p.text-justify= story.quote
|
||||||
a.fa.fa-linkedin-square.text-primary(alt="#{story.camper}'s LinkedIn Profile", href=story.linkedin, target='_blank')
|
.col-xs-12.col-sm-10.col-sm-offset-1
|
||||||
p.text-justify= story.quote
|
if moreStories
|
||||||
.col-xs-12.col-sm-10.col-sm-offset-1
|
.text-center
|
||||||
if moreStories
|
a.btn.btn-lg.btn-primary.btn-primary-ghost.btn-block(href="/all-stories") Show more stories
|
||||||
.text-center
|
.spacer
|
||||||
a.btn.btn-lg.btn-primary.btn-primary-ghost.btn-block(href="/all-stories") Show more stories
|
|
||||||
.spacer
|
|
||||||
|
|
||||||
if !user
|
if !user
|
||||||
.text-center
|
.text-center
|
||||||
a.btn.btn-cta.signup-btn.btn-block(href="/login") Start learning to code (it's free)
|
a.btn.btn-cta.signup-btn.btn-block(href="/login") Start learning to code (it's free)
|
||||||
.spacer
|
|
||||||
|
Reference in New Issue
Block a user