Merge branch 'master' of https://github.com/thecodingwizard/usaco-training-2.0
fix stuff
This commit is contained in:
commit
714139c94e
4 changed files with 61 additions and 2 deletions
37
README.md
37
README.md
|
@ -2,4 +2,39 @@
|
||||||
|
|
||||||
A collection of curated, high-quality resources to take you from Bronze to Platinum.
|
A collection of curated, high-quality resources to take you from Bronze to Platinum.
|
||||||
|
|
||||||
All markdown files belong in `content/`. Other files are for the front-end dashboard interface.
|
All markdown files belong in `content/`. Other files are for the front-end dashboard interface.
|
||||||
|
|
||||||
|
Todo list:
|
||||||
|
- Sidebar for compact modules
|
||||||
|
|
||||||
|
Example Markdown
|
||||||
|
|
||||||
|
```
|
||||||
|
---
|
||||||
|
slug: /intro/getting-started
|
||||||
|
title: Getting Started
|
||||||
|
author: Nathan Wang
|
||||||
|
order: 1
|
||||||
|
prerequisites:
|
||||||
|
-
|
||||||
|
- Dummy prerequisite
|
||||||
|
- https://dummy.prerequisite.link.com/
|
||||||
|
-
|
||||||
|
- Another Prerequisite
|
||||||
|
---
|
||||||
|
|
||||||
|
<ul class="syllabus-only">
|
||||||
|
<li>Contest Format</li>
|
||||||
|
<li>Choosing a Language</li>
|
||||||
|
<li>Practicing and Debugging</li>
|
||||||
|
<li>Contest Strategies</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!-- END DESCRIPTION -->
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>Show Solution</summary>
|
||||||
|
|
||||||
|
// Insert OP benq solution here
|
||||||
|
</details>
|
||||||
|
```
|
|
@ -3,6 +3,12 @@ slug: /intro/getting-started
|
||||||
title: Getting Started
|
title: Getting Started
|
||||||
author: Nathan Wang
|
author: Nathan Wang
|
||||||
order: 1
|
order: 1
|
||||||
|
prerequisites:
|
||||||
|
-
|
||||||
|
- Dummy prerequisite
|
||||||
|
- https://dummy.prerequisite.link.com/
|
||||||
|
-
|
||||||
|
- Another Prerequisite
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,17 @@ const renderProblem = (problem, idx) => {
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
const SyllabusModule = ({ title, children, author, problems, url }) => {
|
const renderPrerequisite = (prerequisite) => {
|
||||||
|
const link = prerequisite.length > 1 ? prerequisite[1] : null;
|
||||||
|
return (
|
||||||
|
<li key={prerequisite[0]}>
|
||||||
|
{link && <a href={link} className="text-blue-600">{prerequisite[0]}</a>}
|
||||||
|
{!link && prerequisite[0]}
|
||||||
|
</li>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
const SyllabusModule = ({ title, children, author, problems, prerequisites, url }) => {
|
||||||
// in the future, fetch this data either from localStorage or from server.
|
// in the future, fetch this data either from localStorage or from server.
|
||||||
const isComplete = title === "Prerequisites" || title === "Getting Started";
|
const isComplete = title === "Prerequisites" || title === "Getting Started";
|
||||||
|
|
||||||
|
@ -42,6 +52,8 @@ const SyllabusModule = ({ title, children, author, problems, url }) => {
|
||||||
<div className="px-4 py-4 sm:p-6">
|
<div className="px-4 py-4 sm:p-6">
|
||||||
{children}
|
{children}
|
||||||
|
|
||||||
|
{prerequisites&&(<>Prerequisites:<ul className="ml-8 list-disc">{prerequisites.map(renderPrerequisite)}</ul></>)}
|
||||||
|
|
||||||
{problems&&(<>Problems:<ul className="ml-3 space-y-1 py-2">{problems.map(renderProblem)}</ul></>)}
|
{problems&&(<>Problems:<ul className="ml-3 space-y-1 py-2">{problems.map(renderProblem)}</ul></>)}
|
||||||
|
|
||||||
{author&&<p className="mt-2">Author: {author}</p>}
|
{author&&<p className="mt-2">Author: {author}</p>}
|
||||||
|
|
|
@ -16,6 +16,7 @@ const renderModule = ({ node }) => {
|
||||||
url={data.slug}
|
url={data.slug}
|
||||||
key={data.slug}
|
key={data.slug}
|
||||||
problems={data.problems}
|
problems={data.problems}
|
||||||
|
prerequisites={data.prerequisites}
|
||||||
author={data.author}
|
author={data.author}
|
||||||
>
|
>
|
||||||
<Markdown htmlAst={node.excerptAst} className="markdown--syllabus" />
|
<Markdown htmlAst={node.excerptAst} className="markdown--syllabus" />
|
||||||
|
@ -182,6 +183,7 @@ export const query = graphql`
|
||||||
author
|
author
|
||||||
problems
|
problems
|
||||||
order
|
order
|
||||||
|
prerequisites
|
||||||
}
|
}
|
||||||
excerptAst
|
excerptAst
|
||||||
}
|
}
|
||||||
|
@ -197,6 +199,7 @@ export const query = graphql`
|
||||||
author
|
author
|
||||||
problems
|
problems
|
||||||
order
|
order
|
||||||
|
prerequisites
|
||||||
}
|
}
|
||||||
excerptAst
|
excerptAst
|
||||||
}
|
}
|
||||||
|
@ -212,6 +215,7 @@ export const query = graphql`
|
||||||
author
|
author
|
||||||
problems
|
problems
|
||||||
order
|
order
|
||||||
|
prerequisites
|
||||||
}
|
}
|
||||||
excerptAst
|
excerptAst
|
||||||
}
|
}
|
||||||
|
@ -227,6 +231,7 @@ export const query = graphql`
|
||||||
author
|
author
|
||||||
problems
|
problems
|
||||||
order
|
order
|
||||||
|
prerequisites
|
||||||
}
|
}
|
||||||
excerptAst
|
excerptAst
|
||||||
}
|
}
|
||||||
|
@ -242,6 +247,7 @@ export const query = graphql`
|
||||||
author
|
author
|
||||||
problems
|
problems
|
||||||
order
|
order
|
||||||
|
prerequisites
|
||||||
}
|
}
|
||||||
excerptAst
|
excerptAst
|
||||||
}
|
}
|
||||||
|
|
Reference in a new issue