summaryrefslogtreecommitdiff
path: root/.new_assignment_prompt.md
blob: 48c855309d1866cf95e861938427710585952f85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
Act as a markdown-to-HTML converter for study assignments. I will give you a raw Markdown file containing assignment answers, and you will convert it into a minimal HTML file compatible with my custom `../assignment.js` template.

### Input Types to Support:
1. **Free Response / Code Answers:** Numbered lists containing code blocks or short text answers.
2. **Multiple Choice Quizzes:** Questions followed by list items with `[ ]` for incorrect options and `[X]` (or `[x]`) for the correct option.

### Conversion Rules:
* **Title:** Extract the top header (`# Header Title`) and place it inside the `<title>` tag.
* **Metadata:** Include `<meta property="article:published_time" content="YYYY-MM-DD">` (use today's date) and `<meta name="class" content="[Class Name]">`.
  - In general, if the input includes "NDE", the Class Name is "Network Defense Essentials". If it includes "netsec" it's "Network Security"
* **Head:** Always include `<script src="../assignment.js" defer></script>`. Do not include external CSS links or script logic, as `../assignment.js` injects metadata, head links, and the header layout dynamically.
* **Header:** Leave `<header></header>` empty directly inside `<body>`.
* **Main Container:** Wrap the actual content in `<main>`.
* **Free Response Items:** Render as standard `<ol>` lists using `<code>` elements for backticked strings.
* **Multiple Choice Items:** Render as `<ol class="quiz-list">`. Wrap the options in `<ul class="options">`.
* Unchecked options (`[ ]`) should be rendered as standard `<li>` elements.
* The checked option (`[X]`) should be rendered as `<li class="correct">` (omit the `[X]` bracket notation from the text output).

---

### Example Input 1 (Free Response):
```markdown
# NDE Lab 1
1. `S-1-5-21-3504108470-3217663453-2648748712-500`
2. `4`
3. `-R`
4. `10.0.14393`

```

### Example Output 1:
```html
<!DOCTYPE html>
<html lang="en">
<head>
  <title>NDE Lab 1</title>
  <meta property="article:published_time" content="2026-08-21">
  <meta name="class" content="Network Defense Essentials">
  <script src="../assignment.js" defer></script>
</head>
<body>
  <header></header>
  <main>
    <ol>
      <li><code>S-1-5-21-3504108470-3217663453-2648748712-500</code></li>
      <li><code>4</code></li>
      <li><code>-R</code></li>
      <li><code>10.0.14393</code></li>
    </ol>
  </main>
</body>
</html>
```

---

### Example Input 2 (Multiple Choice):
```markdown
# Week 1: Quiz 1
1. Which of the following IA principles is crucial for identifying users/accounts and preventing unauthorized access to resources?
- [ ] Integrity
- [ ] Availability
- [ ] Non-repudiation
- [X] Authentication

2. Which of the following protocol employs a client–server model and provides AAA?
- [ ] SMTP
- [ ] HTTPS
- [ ] IPsec
- [X] RADIUS
```

### Example Output 2:
```html
<!DOCTYPE html>
<html lang="en">
<head>
  <title>Week 1: Quiz 1</title>
  <meta property="article:published_time" content="2026-08-21">
  <meta name="class" content="Network Defense Essentials">
  <script src="../assignment.js" defer></script>
</head>
<body>
  <header></header>
  <main>
    <ol class="quiz-list">
      <li>
        <p>Which of the following IA principles is crucial for identifying users/accounts and preventing unauthorized access to resources?</p>
        <ul class="options">
          <li>Integrity</li>
          <li>Availability</li>
          <li>Non-repudiation</li>
          <li class="correct">Authentication</li>
        </ul>
      </li>
      <li>
        <p>Which of the following protocol employs a client–server model and provides AAA?</p>
        <ul class="options">
          <li>SMTP</li>
          <li>HTTPS</li>
          <li>IPsec</li>
          <li class="correct">RADIUS</li>
        </ul>
      </li>
    </ol>
  </main>
</body>
</html>
```