Skip to content

New site structure #103

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 35 commits into from
Dec 19, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
5b98cb5
Add `workshops` route
terichadbourne Dec 11, 2018
9c83531
Create separate `header` component
terichadbourne Dec 11, 2018
fd68db7
Remove empty `data` and fix formatting
terichadbourne Dec 11, 2018
37e6a4b
Add nav bar to header
terichadbourne Dec 11, 2018
2ea05ed
Improve nav formatting
terichadbourne Dec 12, 2018
7d4db38
Address linter errors
terichadbourne Dec 12, 2018
cbee89d
Add `chapters` component with route
terichadbourne Dec 12, 2018
ba94dd0
Add `chapters.json` and print chapter list on page
terichadbourne Dec 12, 2018
09f761b
Restructure directories and update routes/links
terichadbourne Dec 12, 2018
2882eb9
Replace favicon
terichadbourne Dec 12, 2018
ce3ebdb
Display chapters alphabetically by region
terichadbourne Dec 12, 2018
571d2f6
Add `Host` page
terichadbourne Dec 12, 2018
e79bd51
Link to homepage from logo in header
terichadbourne Dec 12, 2018
47ed9d2
Add "Build" component and route
terichadbourne Dec 13, 2018
e73d1aa
Update content on Host page
terichadbourne Dec 14, 2018
447243f
Add 'About' page
terichadbourne Dec 14, 2018
4551edd
Add content to homepage
terichadbourne Dec 14, 2018
c7ab8d7
Add notes to chapters page
terichadbourne Dec 14, 2018
d2bd03d
Edit homepage content
terichadbourne Dec 17, 2018
fac78c8
Change "workshop" to "tutorial"
terichadbourne Dec 17, 2018
9dfcbc6
Rename "About" to "Community"
terichadbourne Dec 17, 2018
bc76770
Rename "Community" to "Contribute"
terichadbourne Dec 17, 2018
253615f
Failed attempt to center
terichadbourne Dec 17, 2018
d3292eb
Center page content
terichadbourne Dec 17, 2018
bb6a4d1
Edit tagline
terichadbourne Dec 17, 2018
f078bd4
Center header
terichadbourne Dec 17, 2018
0751a14
Update Code of Conduct link and verbiage
terichadbourne Dec 18, 2018
a2d6403
Center content on Tutorials page
terichadbourne Dec 18, 2018
f185834
Add featured tutorial tiles to homepage
terichadbourne Dec 18, 2018
50d3b39
Update link formatting on homepage
terichadbourne Dec 18, 2018
0601d71
Use pill buttons for chapter links
terichadbourne Dec 18, 2018
1188fcb
Improve tutorial title link formatting
terichadbourne Dec 18, 2018
45ec5a3
Rename "workshop" to "tutorial" across site
terichadbourne Dec 19, 2018
98333da
Refactor nav bar with new Navigation component
terichadbourne Dec 19, 2018
47f7c2d
Rename `workshop` files and folders to `tutorial`
terichadbourne Dec 19, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ assignees: ''
**Describe the bug**
A clear and concise description of what the bug is.

**Does this bug apply to a specific lesson or workshop, or does it appear to be sitewide?**
**Does this bug apply to a specific lesson or tutorial, or does it appear to be sitewide?**
If the bug is specific to a lesson, please include the lesson URL.

**Expected behavior**
Expand Down
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/tutorial-proposal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
name: New Tutorial Proposal
about: Suggest a new tutorial topic
title: 'New Tutorial: [Proposed title]'
labels: new-tutorial
assignees: ''

---

Have an idea for a new tutorial? We'd love to discuss it. Please share some info
to get the discussion started.

**What networking protocol would this tutorial address?**
List specific projects such as IPFS, IPLD, libp2p, Multiformats, etc.

**What will the user know how to do after completing this tutorial?**
Be specific, eg "Upload files using the JS IPFS file API"

**Describe the content of the tutorial.**
Describe the tutorial in more detail. Do you have ideas for the APIs or methods
to be taught, format to be used, or real-world examples to be included?

**What potential challenges do you forsee in building this tutorial?**
For example, does the format you have in mind not fit the current capabilities
of the site?

**Additional context (optional)**
Would this ProtoSchool tutorial fit into a broader initiative to reach a certain
user or use case? Did you get the idea because of a gap you saw while exploring
a current tutorial?

**Would you like to build this tutorial yourself?**
Do you have the time and skills to build this tutorial yourself, after some group
brainstorming, or do you hope that someone else might have the bandwidth to do so?
34 changes: 0 additions & 34 deletions .github/ISSUE_TEMPLATE/workshop-proposal.md

This file was deleted.

9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# proto.school

If you're just interested in doing the workshops check
out https://proto.school.
If you're just interested in doing the tutorials, visit https://proto.school.

If you're interested in building tutorials, keep reading!

## Developing Lessons

Expand All @@ -28,8 +29,8 @@ Add your lesson to the routes in `main.js` and to the list of lessons in `Home.v

When adding your routes, it's important that you follow the existing naming
convention, since the code used elsewhere will parse the route path to determine the
shortname of the workshop, the current lesson number, and the total number of
lessons in your workshop. For example, if you add 3 lessons with the following routes:
shortname of the tutorial, the current lesson number, and the total number of
lessons in your tutorial. For example, if you add 3 lessons with the following routes:

```
{ path: '/basics/01', component: LessonBasics01 },
Expand Down
Binary file modified public/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions src/components/Build.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<template>
<div>
<Header/>
<div class="home">
<section class="mw7 center ph2">
<h1 class="mt5">Build an Interactive Tutorial</h1>
<p class="f4 fw5 lh-copy ma0 pv3 ">
We're excited to add new tuorials to our collection, and we'd love your
help brainstorming and building new content about decentralized web
concepts and protocols.
</p>
<p class="f4 fw5 lh-copy ma0 pv3 ">
ProtoSchool is a community-driven effort, and we
rely on contributors like you to create great educational content!
</p>
<h2>Share a tutorial idea</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
Have an idea for a new tutorial? Start by looking at the
<a href="https://github.com/protoschool/protoschool.github.io/labels/new%20tutorial">
tutorial ideas</a> flagged with the "new tutorial"
tag in the ProtoSchool issue queue. If there's a similar idea there
already, join the conversation!
</p>
<p class="f4 fw5 lh-copy ma0 pv3 ">
If you have an idea for a new tutorial that has not yet been proposed,
please <a href="https://github.com/ProtoSchool/protoschool.github.io/issues/new?assignees=&labels=new-tutorial&template=tutorial-proposal.md&title=New+Tutorial%3A+%5BProposed+title%5D">
open an new issue</a> so we can share feedback before you get started
building.
</p>
<p class="f4 fw5 lh-copy ma0 pv3 ">
Don't feel like you have the skills to build a tutorial yourself?
Please still go ahead and share your idea!
</p>

<h2>Build a tutorial</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
Whether you've shared your own tutorial idea or found an
<a href="https://github.com/protoschool/protoschool.github.io/labels/new%20workshop">
existing proposal</a> you're excited about, we'd love to have your help
building it.
</p>
<p class="f4 fw5 lh-copy ma0 pv3 ">
ProtoSchool tutorials are built using <a href="https://cli.vuejs.org/">
Vue CLI 3</a> with single-file components and use an embedded
<a href="https://www.npmjs.com/package/monaco-editor">Monaco Editor</a>
to enable interactive code challenges. Check out our
<a href="https://github.com/ProtoSchool/protoschool.github.io/blob/code/README.md#developing-lessons">
instructions for developing tutorials</a> to see how the pieces fit together.
</p>
<p class="f4 fw5 lh-copy ma0 pv3 ">
If the type of lesson you're
hoping to create isn't supported by the current lesson structure,
please <a href="https://github.com/ProtoSchool/protoschool.github.io/issues/new?assignees=&labels=new-tutorial&template=tutorial-proposal.md&title=New+Tutorial%3A+%5BProposed+title%5D">
open an issue</a> and tell us more about the format you have in mind.
</p>

<h2>Other ways to contribute</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
Not ready to build a tutorial quite yet? We'd love your help improving
existing tutorials, answering technical questions, making our
documentation more clear, or leading a local ProtoSchool chapter.
Learn more about the many
<a href="https://github.com/ProtoSchool/organizing/blob/master/CONTRIBUTING.md#ways-to-contribute">
ways to contribute</a>.
</p>
</section>
</div>
</div>
</template>

<script>
import Header from './Header.vue'

export default {
name: 'Build',
components: {
Header
},
}
</script>
105 changes: 105 additions & 0 deletions src/components/Contribute.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
<template>
<div>
<Header/>
<div>
<section class="mw7 center ph2">
<h1 class="mt5">Contribute to the Community</h1>
<p class="f4 fw5 lh-copy ma0 pv3">
ProtoSchool is a community-driven open source project dedicated to
making it easy to get started with decentralized web technologies.
We accomplish this by <strong>creating interactive tutorials</strong>
and <strong>hosting community learning events</strong>.
</p>
<h2>Interactive Tutorials</h2>
<p class="f4 fw5 lh-copy ma0 pv3">
Our <router-link to="/tutorials">interactive tutorials</router-link> are
the heart of our educational mission. Each browser-based tutorial
consists of lessons of increasing difficulty, in which a new
concept is explained and the learner is given a code challenge
to solve to apply their learning. The learner submits their solution
when ready, and receives contextual feedback if needed to try again.
If their code passes, they move on to the next lesson in the tutorial.
</p>

<p class="f4 fw5 lh-copy ma0 pv3 ">
For contributors <router-link to="/build">building new tutorials,</router-link>
the process feels similar to creating a unit test suite
which the learner must pass by implementing the correct code.
</p>


<h2>Topics</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
ProtoSchool content is designed to introduce learners to the concepts,
protocols, and tools that support the decentralized web. We're excited
to add new tutorials to our collection, and we'd love your help building
content about projects such as
<a href="https://ipfs.io/" target="blank">IPFS</a>,
<a href="https://ipld.io/" target="blank">IPLD</a>,
<a href="https://libp2p.io/" target="blank">libp2p</a>,
<a href="https://multiformats.io/" target="blank">Multiformats</a>,
and more.
</p>

<h2>Chapter Events</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
Community events around the world provide an opportunity for learners
to explore ProtoSchool tutorials with guidance from mentors in their
<router-link to="/chapters">local chapters</router-link>. Anyone can
<router-link to="/host">host a ProtoSchool chapter</router-link>, and we
provide tools and tips for managing local chapters and organizing events
that are fun and welcoming for everyone.
</p>

<h2>Contributing</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
ProtoSchool is a community-driven effort, and we depend on contributors
to <router-link to="/host">build tutorials</router-link>,
<router-link to="/host">organize chapter events</router-link>,
improve our existing tutorials and documentation, and answer community
questions. Learn more about
<a href="https://github.com/ProtoSchool/organizing/blob/master/CONTRIBUTING.md" target="blank">
ways to contribute</a>.
</p>

<h2>Get in Touch</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
We use GitHub to organize ProtoSchool. The best place to get in touch
with questions about chapter leadership and community engagement is our
<a href="https://github.com/ProtoSchool/organizing" target="blank">organizing
repository</a>, where you can open a new issue and organizers will be
notified and respond. If you have a new tutorial idea or suggestions for
improving the ProtoSchool site, please open an issue in the
<a href="https://github.com/ProtoSchool/protoschool.github.io" target="blank">
website repository</a>.
</p>

<h2>Code of Conduct</h2>
<p class="f4 fw5 lh-copy ma0 pv3 ">
We strive to make ProtoSchool a welcoming place for all community members.
All community members, including chapter organizers, must abide by the
<a href="https://github.com/protoschool/organizing/blob/master/CODE_OF_CONDUCT.md">
Code of Conduct</a> outlined in our organizing repository.
</p>

<p class="f4 fw5 lh-copy ma0 pv3 ">
Additionally, each ProtoSchool chapter is responsible for maintaining
their own Code of Conduct for chapter events and repos. If you have questions about the
Code of Conduct for a specific chapter, you can open an issue in their
associated GitHub repository.
</p>
</section>
</div>
</div>
</template>

<script>
import Header from './Header.vue'

export default {
name: 'Community',
components: {
Header
},
}
</script>
76 changes: 76 additions & 0 deletions src/components/Header.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<template>
<div class="home">
<header>
<section class="flex items-center bg-navy white pv3">
<div class="flex-auto">
<div class="pseudo-logo center mw7">
<a href="/">
<img src="../images/ps_symbol_color.svg" alt="ProtoSchool" class="mr3" />
</a>
<div class="header-text">
<h1 class="ma0 fw4">
<span class="montserrat fw4">Proto</span>
<span class="montserrat fw2">School</span>
</h1>
<h2 class="ma0 montserrat fw3">
Interactive tutorials on decentralized web protocols
</h2>
</div>
</div>
</div>
</section>
<Navigation/>
</header>
</div>
</template>

<script>
import Navigation from './Navigation.vue'
export default {
name: 'Header',
components: {
Navigation
}
}
</script>

<style scoped>

.header-text h1 {
font-size: 32px;
}
.header-text h2 {
font-size: 16px;
}
.pseudo-logo {
display: flex;
align-items: center;
}
.pseudo-logo img {
height: 80px;
}

@media screen and (min-width: 530px) {
.header-text h1 {
font-size: 40px;
}
.header-text h2 {
font-size: 20px;
}
.pseudo-logo img {
height: 100px;
}
}

@media screen and (max-width: 435px) {
.header-text h1 {
font-size: 24px;
}
.header-text h2 {
font-size: 12px;
}
.pseudo-logo img {
height: 60px;
}
}
</style>
Loading