The hackerpack is where we place all the resources that could aid a hacker during and before the hackathon. Some commonly placed categories on this page include:
- General Information
- Food (both provided and nearby restaurants)
- Workshop Info
- FAQ
- ...and anything else that could help!
We designed the hackerpack to be as easy as possible to customize! In the hackerpack components directory (components/hackerpackComponents), you should see a hackerpack-settings.json file. This file contains the main toggleable options for editing the hackerpack. The format is as shown (with the example data):
{
"sidebar": true,
"mainContent": "markdown",
"notionPageId": "b76d2dee46474cd0a9bb7f62b384ad25"
}- The
sidebarattribute (boolean) will show the sidebar + mobile menu navigator when set totrue. - The
mainContentattribute (string) determines how the page will be displayed, with 3 possible options:markdown- generate content from a Markdown file (replace thepages/hackerpacks/Components/markdown/index.mdfile with your custom markdown file)notion- generate content from a Notion pagehtml- manually add React/JSX in thepages/hackerpacks/index.tsxfile)
- If you pick the Notion page option, make sure to include the
notionPageIdattribute, which is an ID for a public Notion page (see the official Notion docs).
The sidebar will display h1 and h2 headings, with the h2 tags nested under their respective h1 tag. This will differ in generation methods based on how you generate your main content. The sidebar is automatically generated if content is either rendered from Markdown or from Notion.
- If the
mainContentattribute is set tomarkdown, the sidebar will be generated based on# [main headings]and## [subheadings]as theh1andh2tags. - If the
mainContentattribute is set tonotion, the sidebar will be generated based on Notion'sHeading 1andHeading 2blocks.
NOTE: Pages should contain a main heading (# [heading name] or Notion's Heading 1) first to generate the sidebar correctly, as subheadings are nested under the main headings.
Unfortunately, there is no good way to read hardcoded HTML and generate a sidebar, so if you have a custom HTML page, you will need to modify the sidebar-content.json file to generate a working sidebar.