mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 01:32:36 +02:00
better homework checking for tutorial up to page 6
This commit is contained in:
parent
322a87b1d0
commit
8c5b9a803d
5 changed files with 67 additions and 31 deletions
|
@ -4,10 +4,10 @@
|
|||
<!-- Check out your site at <a href="">victoria.neocities.org</a>. -->
|
||||
</div>
|
||||
<div class="dialogue" style="left: 300px; top: 25px; width: 250px">
|
||||
Let's make your name a heading by putting a <strong>Heading Level 1 tag</strong> around it.
|
||||
Let's make your name a heading by putting the <strong>h1 tag</strong> around it. This helps to visually separate content on your site.
|
||||
</div>
|
||||
<div class="dialogue" style="left: 330px; top: 120px; width: 250px">
|
||||
Change the text to this: <strong><span id="answer"></span></strong>
|
||||
Try using an h1 tag by changing the text to something like this: <strong><span id="answer"></span></strong>
|
||||
and click save.
|
||||
</div>
|
||||
</div>
|
||||
|
@ -29,20 +29,16 @@
|
|||
</div>
|
||||
|
||||
<script>
|
||||
var answer = '<h1>'+sessionStorage.getItem('name')+"'s Website</h1>"
|
||||
|
||||
$('#answer').text(answer)
|
||||
|
||||
function checkHomework() {
|
||||
var html = editor.getValue()
|
||||
var match = '<html.+>.+<body>.+'+answer+'.+</body>.+</html>'
|
||||
var re = new XRegExp(match, 'gis')
|
||||
|
||||
if(html.match(re) === null) {
|
||||
notok("That's not right! Try again.")
|
||||
if(!html.match(/<h1>\S.+<\/h1>/)) {
|
||||
notok("That doesn't look like a header! Try again.")
|
||||
} else {
|
||||
sessionStorage.setItem('tutorialHtml', html)
|
||||
ok('Great, you did it!', '/tutorial/html/4')
|
||||
ok('Nice header!', '/tutorial/html/4')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -16,14 +16,12 @@
|
|||
<script>
|
||||
function checkHomework() {
|
||||
var html = editor.getValue()
|
||||
var match = '<html.+>.+<body>.+<h1>.+</h1>.+<p>.+</p>.+</body>.+</html>'
|
||||
var re = new XRegExp(match, 'gis')
|
||||
|
||||
if(html.match(re) === null) {
|
||||
notok("That's not right! Try again.")
|
||||
if(html.match(/<p>\S.+<\/p>/) === null) {
|
||||
notok("I don't see a <p>paragraph with text in it</p> anywhere! Try again.")
|
||||
} else {
|
||||
sessionStorage.setItem('tutorialHtml', html)
|
||||
ok('Great, you did it!', '/tutorial/html/5')
|
||||
ok('Great, nice paragraph!', '/tutorial/html/5')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
You're writing HTML! You're doing it! Everything you need to know is just another tag!
|
||||
</div>
|
||||
<div class="dialogue" style="top: -20px; width: 320px">
|
||||
<p>For example, links look like this:</p>
|
||||
<p>For example, a link to another site looks like this:</p>
|
||||
|
||||
<p><strong><a href="http://neocities.org">Check out Neocities!</a></strong></p>
|
||||
<p><strong><a href="//neocities.org">Check out Neocities!</a></strong></p>
|
||||
|
||||
<p>Add a link to your favorite site to<br> the end of the paragraph, right<br> before the </p> closing tag!</p>
|
||||
</div>
|
||||
|
@ -15,11 +15,13 @@
|
|||
<h4>Nesting</h4>
|
||||
<p>Tags always need to be nested properly, like Russian dolls. So this is okay:
|
||||
<pre>
|
||||
<p>Welcome! <a>Link!</a></p>
|
||||
<p>Welcome! <a href="//neocities.org">Link!</a></p>
|
||||
</pre>
|
||||
|
||||
But this isn't!
|
||||
But this is not correct:
|
||||
|
||||
<p>Welcome! <a>Link!</p></a>
|
||||
<pre>
|
||||
<p>Welcome! <a href="//neocities.org">Link!</p></a>
|
||||
</pre>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -31,11 +33,36 @@ But this isn't!
|
|||
var match = '<html.+>.+<body>.+<h1>.+</h1>.+<p>.+<a.+href=".+">.+</a>[^.+]?</p>.+</body>.+</html>'
|
||||
var re = new XRegExp(match, 'gis')
|
||||
|
||||
if(html.match(re) === null) {
|
||||
notok("That's not right! Try again.")
|
||||
} else {
|
||||
sessionStorage.setItem('tutorialHtml', html)
|
||||
ok('Great, you did it!', '/tutorial/html/6')
|
||||
var p = preview().find('p')
|
||||
|
||||
if(p.length == 0) {
|
||||
notok("Couldn't find a paragraph! Did you accidentally delete it? Add it back or click the reset button to start over.")
|
||||
return
|
||||
}
|
||||
|
||||
var a = p.find('a')
|
||||
|
||||
if(a.length == 0) {
|
||||
notok("Couldn't find an <a> link in your paragraph, try to add it inside the paragraph.")
|
||||
return
|
||||
}
|
||||
|
||||
if(a.attr('href') === undefined) {
|
||||
notok("Your a tag is missing an href attribute. Try writing it like this: <a href=\"//neocities.org\"> and don't forget the closing <a> tag!")
|
||||
return
|
||||
}
|
||||
|
||||
if(a.attr('href') == '' || a.attr('href').match(/\s+/)) {
|
||||
notok('You need to add a url to the <strong>href</strong>, like this: href="//neocities.org"')
|
||||
return
|
||||
}
|
||||
|
||||
if(a.text() == '' || a.text().match(/\s+/)) {
|
||||
notok('You need to add a name for your link, which is the text between the <a> tag, and the closing tag </a>')
|
||||
return
|
||||
}
|
||||
|
||||
sessionStorage.setItem('tutorialHtml', html)
|
||||
ok('Great, nice link!', '/tutorial/html/6')
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -27,14 +27,25 @@
|
|||
var html = editor.getValue()
|
||||
|
||||
/* TODO: Make .+ ignore any spaces or newlines or whatever. </a> lol </p> is fine too. */
|
||||
var match = '<html.+>.+<body>.+<img.+src="/cat.png">.+</body>.+</html>'
|
||||
var re = new XRegExp(match, 'gis')
|
||||
|
||||
if(html.match(re) === null) {
|
||||
notok("That's not right! Try again.")
|
||||
} else {
|
||||
var img = preview().find('img')
|
||||
|
||||
if(img.length == 0) {
|
||||
notok("I couldn't find the <img src=\"/cat.png\"> tag, try again!")
|
||||
return
|
||||
}
|
||||
|
||||
if(img.attr('src') === undefined) {
|
||||
notok("There's no src=\"/cat.png\" in the <img> tag, try adding that.")
|
||||
return
|
||||
}
|
||||
|
||||
if(img.attr('src') == '' || img.attr('src').match(/\s+/)) {
|
||||
notok("The src attribute in the <img> tag can't be empty, try it like this: src=\"/cat.png\"")
|
||||
return
|
||||
}
|
||||
|
||||
sessionStorage.setItem('tutorialHtml', html)
|
||||
ok('Great, you did it!', '/tutorial/html/7')
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -138,5 +138,9 @@
|
|||
refreshIframe()
|
||||
})
|
||||
|
||||
function preview() {
|
||||
return $('.tutorial iframe').contents()
|
||||
}
|
||||
|
||||
</script>
|
||||
<script src="/js/xregexp-min.js"></script>
|
||||
|
|
Loading…
Add table
Reference in a new issue