Add dashed names to field guides
This commit is contained in:
@ -6,6 +6,10 @@ var fieldGuideSchema = new mongoose.Schema({
|
||||
type: String,
|
||||
unique: false
|
||||
},
|
||||
dashedName: {
|
||||
type: String,
|
||||
unique: false
|
||||
},
|
||||
description: {
|
||||
type: Array,
|
||||
unique: false
|
||||
|
@ -53,7 +53,7 @@
|
||||
],
|
||||
"tests": [
|
||||
"assert(($('h2').length > 0), 'Create an <code>h2</code> element.')",
|
||||
"assert(editor.match(/<\\/h2>/g) && editor.match(/<\\/h2>/g).length === editor.match(/<h2>/g).length, 'Be sure that your <code>h2</code> element has a closing tag.')",
|
||||
"assert(editor.match(/<\\/h2>/g) && editor.match(/<\\/h2>/g).length === editor.match(/<h2>/g).length, 'Make sureyour <code>h2</code> element has a closing tag.')",
|
||||
"assert.isTrue((/cat(\\s)?photo(\\s)?app/gi).test($('h2').text()), 'Your <code>h2</code> element should have the text \"CatPhotoApp\"')",
|
||||
"assert.isTrue((/hello(\\s)+world/gi).test($('h1').text()), 'Your <code>h1</code> element should have the text \"Hello World\"')"
|
||||
],
|
||||
@ -89,7 +89,7 @@
|
||||
"tests": [
|
||||
"assert(($('p').length > 0), 'Create a <code>p</code> element.')",
|
||||
"assert.isTrue((/hello(\\s)+paragraph/gi).test($('p').text()), 'Your <code>p</code> element should have the text \"Hello Paragraph\".')",
|
||||
"assert(new RegExp('</p>', 'gi').test(editor), 'Be sure to complete your <code>p</code> element with a closing tag.')"
|
||||
"assert(editor.match(/<\\/p>/g) && editor.match(/<\\/p>/g).length === editor.match(/<p>/g).length, 'Make sureyour <code>p</code> element has a closing tag.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"<h1>Hello World</h1>",
|
||||
@ -480,7 +480,7 @@
|
||||
],
|
||||
"tests": [
|
||||
"assert($('p').length > 1, 'You need 2 <code>p</code> elements with Kitty Ipsum text.')",
|
||||
"assert(editor.match(/<\\/p>/g).length > 1, 'Be sure that each of your <code>p</code> elements has a closing tag.')",
|
||||
"assert(editor.match(/<\\/p>/g).length > 1, 'Make sureeach of your <code>p</code> elements has a closing tag.')",
|
||||
"assert($('p').css('font-size') === '16px', 'Give your <code>p</code> elements the font-size of 16px.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
@ -1041,7 +1041,7 @@
|
||||
"assert($('a').text().match(/cat\\sphotos/gi).length > 0, 'Your <code>a</code> element should have the anchor text of \"cat photos\"')",
|
||||
"assert($('a[href=\\'http://www.catphotoapp.com\\']').parent().is('p'), 'Your anchor element should be wrapped within a paragraph element.')",
|
||||
"assert($('p').text().match(/click\\shere\\sfor/gi), 'Your <code>p</code> element should have the text \"click here for\".')",
|
||||
"assert(editor.match(/<\\/p>/g).length > 2, 'Be sure that each of your <code>p</code> elements has a closing tag.')"
|
||||
"assert(editor.match(/<\\/p>/g).length > 2, 'Make sureeach of your <code>p</code> elements has a closing tag.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
|
||||
@ -1168,7 +1168,7 @@
|
||||
"tests": [
|
||||
"assert(new RegExp('#').test($('a').children('img').parent().attr('href')), 'Your <code>anchor</code> element should be a dead link with a <code>href</code> attribute set to \"#\".')",
|
||||
"assert($('a').children('img').length > 0, 'Wrap your image element inside an anchor element.')",
|
||||
"assert(editor.match(/<\\/a>/g).length > 1, 'Be sure that each of your <code>a</code> elements has a closing tag.')"
|
||||
"assert(editor.match(/<\\/a>/g).length > 1, 'Make sureeach of your <code>a</code> elements has a closing tag.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
|
||||
@ -1295,8 +1295,8 @@
|
||||
"tests": [
|
||||
"assert($('ul').length > 0, 'Create a <code>ul</code> element.')",
|
||||
"assert($('li').length > 2, 'Add three <code>li</code> elements to your <code>ul</code> element.')",
|
||||
"assert(editor.match(/<\\/ul>/g), 'Be sure that your <code>ul</code> element has a closing tag.')",
|
||||
"assert(editor.match(/<\\/li>/g) && editor.match(/<\\/li>/g).length > 2, 'Be sure that each of your <code>li</code> elements has a closing tag.')"
|
||||
"assert(editor.match(/<\\/ul>/g), 'Make sureyour <code>ul</code> element has a closing tag.')",
|
||||
"assert(editor.match(/<\\/li>/g) && editor.match(/<\\/li>/g).length > 2, 'Make sureeach of your <code>li</code> elements has a closing tag.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
|
||||
@ -1362,9 +1362,9 @@
|
||||
"assert($('ol').length > 0, 'You should have an <code>ol</code> element on your webpage.')",
|
||||
"assert($('li').length > 5, 'You should have three <code>li</code> elements within your <code>ul</code> element.')",
|
||||
"assert($('li').length > 5, 'You should have three <code>li</code> elements within your <code>ol</code> element.')",
|
||||
"assert(editor.match(/<\\/ol>/g), 'Be sure that your <code>ol</code> element has a closing tag.')",
|
||||
"assert(editor.match(/<\\/ul>/g), 'Be sure that your <code>ul</code> element has a closing tag.')",
|
||||
"assert(editor.match(/<\\/li>/g).length > 5, 'Be sure that each of your <code>li</code> elements has a closing tag.')"
|
||||
"assert(editor.match(/<\\/ol>/g), 'Make sureyour <code>ol</code> element has a closing tag.')",
|
||||
"assert(editor.match(/<\\/ul>/g), 'Make sureyour <code>ul</code> element has a closing tag.')",
|
||||
"assert(editor.match(/<\\/li>/g).length > 5, 'Make sureeach of your <code>li</code> elements has a closing tag.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
|
||||
@ -1651,7 +1651,7 @@
|
||||
"assert($('form').children('button').length > 0, 'Your form should have a button inside it.')",
|
||||
"assert($('button').attr('type') === 'submit', 'Your submit button should have be of input type \"submit\".')",
|
||||
"assert($('button').text().match(/submit/gi), 'Your submit button should have the text \"submit\".')",
|
||||
"assert(editor.match(/<\\/button>/g), 'Be sure that your <code>button</code> element has a closing tag.')"
|
||||
"assert(editor.match(/<\\/button>/g), 'Make sureyour <code>button</code> element has a closing tag.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
|
||||
@ -2125,7 +2125,7 @@
|
||||
"assert($('div').children('ol').length > 0, 'Wrap your <code>ol</code> element inside your <code>div</code> element.')",
|
||||
"assert($('div').children('p').length > 1, 'Wrap your <code>p</code> element inside your <code>div</code> element.')",
|
||||
"assert($('div').children('ul').length > 0, 'Wrap your <code>ul</code> element inside your <code>div</code> element.')",
|
||||
"assert(editor.match(/<\\/div>/g) && editor.match(/<\\/div>/g).length === editor.match(/<div>/g).length, 'Be sure that your <code>div</code> element has a closing tag.')"
|
||||
"assert(editor.match(/<\\/div>/g) && editor.match(/<\\/div>/g).length === editor.match(/<div>/g).length, 'Make sureyour <code>div</code> element has a closing tag.')"
|
||||
],
|
||||
"challengeSeed": [
|
||||
"<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>",
|
||||
|
@ -2,6 +2,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c441eddfaeb5bdef",
|
||||
"name": "How do I use this guide?",
|
||||
"dashedName": "how-do-i-use-this-guide",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>This guide strives to provide clear answers to common questions about Free Code Camp, learning to code, and getting a coding job.</h3>",
|
||||
@ -13,6 +14,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c441eddfaeb5bdff",
|
||||
"name": "What exactly is Free Code Camp?",
|
||||
"dashedName": "what-exactly-is-free-code-camp",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>We're a community of busy people who learn to code by building projects for nonprofits.</h3>",
|
||||
@ -30,6 +32,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c441eddfaeb5bd1f",
|
||||
"name": "Why do I need Free Code Camp?",
|
||||
"dashedName": "why-do-i-need-free-code-camp",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>Learning to code is hard.</h3>",
|
||||
@ -47,6 +50,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c441eddfaeb5bd2f",
|
||||
"name": "What are the main advantages of Free Code Camp?",
|
||||
"dashedName": "what-are-the-main-advantages-of-free-code-camp",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>Our main advantage is that we're accessible to busy adults who want to change careers. Specifically, we're:</h3>",
|
||||
@ -63,6 +67,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c441eddfaeb5bd3f",
|
||||
"name": "How does Free Code Camp work?",
|
||||
"dashedName": "how-does-free-code-camp-work",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>Our free, self-paced, browser-based program takes about 1,600 hours to complete.",
|
||||
@ -83,7 +88,8 @@
|
||||
},
|
||||
{
|
||||
"_id": "bd7158d9c441eddfaeb5bd4f",
|
||||
"name": "Will I really be able to get a job after Free Code Camp?",
|
||||
"name": "Will I really be able to get software engineering job after Free Code Camp?",
|
||||
"dashedName": "will-i-really-be-able-to-get-a-software-engineering-job-after-free-code-camp",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3 class='text-left'>If you complete this program, <span class='text-info'>you will be able to get a coding job</span>. Many of our campers have already gotten coding jobs.</h3>",
|
||||
@ -103,6 +109,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c440eddfaeb5bdef",
|
||||
"name": "What will I learn, and in what sequence?",
|
||||
"dashedName": "what-will-i-learn-and-in-what-sequence",
|
||||
"description": [
|
||||
"<div class=\"text-left col-xs-12 col-md-10 col-md-offset-1\">",
|
||||
" <h3>First, you'll learn basic web design tools like:</h3>",
|
||||
@ -139,6 +146,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c434eddfaeb5bdef",
|
||||
"name": "How long does Free Code Camp take?",
|
||||
"dashedName": "how-long-does-free-code-camp-take",
|
||||
"description": [
|
||||
"<div class=\"text-left col-xs-12 col-md-10 col-md-offset-1\">",
|
||||
" <h3>It takes about 1,600 hours of coding to develop the skills you'll need to get an entry level software engineering job.</h3>",
|
||||
@ -176,6 +184,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c438eddfaeb5bdef",
|
||||
"name": "Why does Free Code Camp use JavaScript instead of Ruby or Python?",
|
||||
"dashedName": "why-does-free-code-camp-use-javascript-instead-of-ruby-or-python",
|
||||
"description": [
|
||||
"<div class=\"text-left col-xs-12 col-md-10 col-md-offset-1\">",
|
||||
" <p class='large-p'>Like JavaScript, Ruby and Python are high-level scripting languages that can be used for full stack web development.</p>",
|
||||
@ -189,6 +198,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c437eddfaeb5bdef",
|
||||
"name": "What is pair programming, and why is it special?",
|
||||
"dashedName": "what-is-pair-programming-and-why-is-it-special",
|
||||
"description": [
|
||||
"<div class=\"text-left col-xs-12 col-md-10 col-md-offset-1\">",
|
||||
" <h3>Pair programming is where two people code together on one computer.</h3>",
|
||||
@ -201,6 +211,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5bd2f",
|
||||
"name": "How do I get help when I get stuck?",
|
||||
"dashedName": "how-do-i-get-help-when-i-get-stuck",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>When you get stuck, remember: RSAP.</h3>",
|
||||
@ -223,6 +234,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5bd3f",
|
||||
"name": "Can I jump around in this guide?",
|
||||
"dashedName": "can-i-jump-around-in-this-guide",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>This guide was designed as a reference for you. You shouldn't try to read it all today.</h3>",
|
||||
@ -234,6 +246,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5bdef",
|
||||
"name": "If Free Code Camp is free, how does it make money?",
|
||||
"dashedName": "if-free-code-camp-is-free-how-does-it-make-money",
|
||||
"description": [
|
||||
"<div class=\"text-left col-xs-12 col-md-10 col-md-offset-1\">",
|
||||
" <h3>We are completely free for both students and for nonprofits.</h3>",
|
||||
@ -246,6 +259,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c435eddfaeb5bdef",
|
||||
"name": "Does Free Code Camp have an application process?",
|
||||
"dashedName": "does-free-code-camp-have-an-application-process",
|
||||
"description": [
|
||||
"<div class=\"text-left col-xs-12 col-md-10 col-md-offset-1\">",
|
||||
" <h3>Unlike coding bootcamps, anyone can study at Free Code Camp.</h3>",
|
||||
@ -257,6 +271,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5bd3b",
|
||||
"name": "How can I stream my live coding sessions on Free Code Camp's Twitch.tv channel?",
|
||||
"dashedName": "how-can-i-stream-my-live-coding-sessions-on-free-code-camps-twitch-tv-channel",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>If you're interested in coding JavaScript live in front of dozens of people on our popular <a href='http://twitch.tv/freecodecamp' target='_blank'>twitch.tv channel</a>, we'd love to have you.</h3>",
|
||||
@ -277,6 +292,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5bd3d",
|
||||
"name": "How can I find other Free Code Camp campers in my city?",
|
||||
"dashedName": "how-can-i-find-other-free-code-camp-campers-in-my-city",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>Find your city below and join their group. This is a great way to hang out with other coders, share insights, and pair program.</h3>",
|
||||
@ -463,6 +479,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5bd3e",
|
||||
"name": "Does Free Code Camp have an alumni network?",
|
||||
"dashedName": "does-free-code-camp-have-an-alumni-network",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>We have a growing <a href='https://www.linkedin.com/grp/home?gid=6966827' target='_blank'>alumni network on LinkedIn</a>. Once you've finished Free Code Camp and have gotten a coding job, we'd love to include you in this group, too!</h3>",
|
||||
@ -472,6 +489,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c442eddfaeb5b2ef",
|
||||
"name": "Why doesn't Free Code Camp teach technical interviewing skills?",
|
||||
"dashedName": "why-doesnt-free-code-camp-teach-technical-interviewing-skills",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>The skills you'll need to succeed in the job interview are quite different from the skills you'll need to succeed on the job.</h3><br>",
|
||||
@ -487,6 +505,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c442eddfaeb5bdef",
|
||||
"name": "How do I best use the Global Control Shortcuts for Mac?",
|
||||
"dashedName": "how-do-i-best-use-the-global-control-shortcuts-for-mac",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>These Global Control Shortcuts for Mac will save you hours by speeding up your typing.</h3><br>",
|
||||
@ -511,6 +530,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c445eddfaeb5bdef",
|
||||
"name": "How can I get to Inbox Zero with Gmail shortcuts?",
|
||||
"dashedName": "how-can-i-get-to-inbox-zero-with-gmail-shortcuts",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>These Gmail Shortcuts will save you hours and help you get to Inbox Zero.</h3><br/>",
|
||||
@ -539,6 +559,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c445eddfaeb5bdff",
|
||||
"name": "How can I deploy a website without writing any code at all?",
|
||||
"dashedName": "how-can-i-deploy-a-website-without-writing-any-code-at-all",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>It's possible to build dynamic, mobile-responsive websites without writing any code at all, in just a few minutes.</h3><br/>",
|
||||
@ -561,6 +582,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c446eddfaeb5bdef",
|
||||
"name": "How do Free Code Camp's Nonprofit Projects work?",
|
||||
"dashedName": "how-do-free-code-camps-nonprofit-projects-work",
|
||||
"description": [
|
||||
"<div class='col-xs-12 col-sm-10 col-sm-offset-1'>",
|
||||
" <p class='large-p'>Building nonprofit projects is the main way that our campers learn full stack JavaScript and agile software development. Once you complete the Free Code Camp Waypoints, Bonfires, Ziplines and Basejumps, you'll begin this process.</p>",
|
||||
@ -635,6 +657,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c447eddfaeb5bdef",
|
||||
"name": "How do I install Screenhero?",
|
||||
"dashedName": "how-do-i-install-screenhero",
|
||||
"description": [
|
||||
"<div class='col-xs-12 col-sm-10 col-sm-offset-1'>",
|
||||
" <h3><a href=\"http://links.screenhero.com/e/c/eyJlbWFpbF9pZCI6Ik1qQTNNem9XQkNJQ1pBQUNjd0FYQVZrVEdnRkxNamtfX0JWZEdGVEpSZkVCWlRwbFpXRTBNamM0WVMxaE56SmlMVEV4WlRRdE9HUXpZUzFpWXpVNE1HRTJNalkxTldNNk1UUTJNVEEyQUE9PSIsInBvc2l0aW9uIjowLCJocmVmIjoiaHR0cDovL2RsLnNjcmVlbmhlcm8uY29tL3NtYXJ0ZG93bmxvYWQvZklYQU1UUUJBTEtQQkhQTC9TY3JlZW5oZXJvLnppcD9zb3VyY2U9d2ViIn0=\">Download for Mac</a></h3>",
|
||||
@ -646,6 +669,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c451eddfaeb5bded",
|
||||
"name": "What is the style guide for Bonfires?",
|
||||
"dashedName": "what-is-the-style-guide-for-bonfires",
|
||||
"description": [
|
||||
"<div class='col-xs-12 col-sm-10 col-sm-offset-1'>",
|
||||
" <h3>Writing Bonfire challenges is a great way to exercise your own problem solving and testing abilities. Follow this process closely to maximize the chances of us accepting your bonfire.</h3>",
|
||||
@ -681,6 +705,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c451eddfaeb5bdee",
|
||||
"name": "What is the Free Code Camp Code of Conduct?",
|
||||
"dashedName": "what-is-the-free-code-camp-code-of-conduct",
|
||||
"description": [
|
||||
"<div class='col-xs-12 col-sm-10 col-sm-offset-1'>",
|
||||
" <h3>Free Code Camp is friendly place to learn to code. We're committed to keeping it that way.</h3>",
|
||||
@ -705,6 +730,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c451eddfaeb5bdef",
|
||||
"name": "What is the Free Code Camp Privacy Policy?",
|
||||
"dashedName": "what-is-the-free-code-camp-privacy-policy",
|
||||
"description": [
|
||||
"<div class='col-xs-12 col-sm-10 col-sm-offset-1'>",
|
||||
" <p class='large-p'>Free Code Camp is committed to respecting the privacy of visitors to our web sites and web applications. The guidelines below explain how we protect the privacy of visitors to FreeCodeCamp.com and its features.</p>",
|
||||
@ -746,6 +772,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5bd3c",
|
||||
"name": "How can I reach the Free Code Camp team to interview them for my publication?",
|
||||
"dashedName": "how-can-i-reach-the-free-code-camp-team-to-interview-them-for-my-publication",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h3>We're happy to do a quick interview for your publication or show. Here's whom you should contact about what, and how to best reach them:</h3>",
|
||||
@ -764,6 +791,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfaeb5dd3b",
|
||||
"name": "What other resources does Free Code Camp recommend to nonprofits?",
|
||||
"dashedName": "what-other-resources-does-free-code-camp-recommend-to-nonprofits",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <h2>Here are some excellent resources for nonprofits.</h2>",
|
||||
@ -805,6 +833,7 @@
|
||||
{
|
||||
"_id": "bd7158d9c436eddfadb5bd3e",
|
||||
"name": "How can I contribute to this guide?",
|
||||
"dashedName": "how-can-i-contribute-to-this-guide",
|
||||
"description": [
|
||||
"<div class=\"col-xs-12 col-sm-10 col-sm-offset-1\">",
|
||||
" <p class='large-p'>Contributing to our field guide is a great way to establish your history on GitHub, add to your portfolio, and help other campers. If you have a question about JavaScript or programming in general that you'd like us to add to the field guide, here are two ways to get it into the guide:</p>",
|
||||
|
Reference in New Issue
Block a user