Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions packages/common-config/preset/commonDocusaurusConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@ const commonDocusaurusConfig: Partial<Config> = {
crossorigin: "anonymous",
},
],
plugins: ["docusaurus-lunr-search", "vercel-analytics", llmsTxtPlugin, acknowledgementPlugin],
plugins: [
"docusaurus-lunr-search",
"vercel-analytics",
llmsTxtPlugin,
acknowledgementPlugin,
],
themeConfig: {
colorMode: {
defaultMode: "dark",
Expand Down Expand Up @@ -74,7 +79,7 @@ const commonDocusaurusConfig: Partial<Config> = {
style: "dark",
links: [
{
html: '<a href="https://x.com/defi_wonderland" target="_blank" rel="noopener noreferrer" style="display: inline-flex; align-items: center; color: white; text-decoration: none;"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><g clip-path="url(#a)"><path fill="white" d="M14.095 10.317 22.286 1h-1.94L13.23 9.088 7.552 1H1l8.59 12.231L1 23h1.94l7.51-8.543L16.448 23H23M3.64 2.432h2.982l13.723 19.207h-2.982"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h24v24H0z"/></clipPath></defs></svg></a>',
html: '<a href="https://x.com/Wonderland" target="_blank" rel="noopener noreferrer" style="display: inline-flex; align-items: center; color: white; text-decoration: none;"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><g clip-path="url(#a)"><path fill="white" d="M14.095 10.317 22.286 1h-1.94L13.23 9.088 7.552 1H1l8.59 12.231L1 23h1.94l7.51-8.543L16.448 23H23M3.64 2.432h2.982l13.723 19.207h-2.982"/></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h24v24H0z"/></clipPath></defs></svg></a>',
},
{
html: '<a href="https://github.com/defi-wonderland" target="_blank" rel="noopener noreferrer" style="display: inline-flex; align-items: center; color: white; text-decoration: none;"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none"><g clip-path="url(#a)"><g clip-path="url(#b)"><path fill="white" d="M12.012 2.036a9.868 9.868 0 0 0-6.488 2.437 10.295 10.295 0 0 0-3.395 6.159c-.38 2.4.087 4.861 1.318 6.941a10.048 10.048 0 0 0 5.402 4.41c.497.094.682-.226.682-.496v-1.742c-2.782.629-3.37-1.37-3.37-1.37a2.733 2.733 0 0 0-1.113-1.5c-.903-.63.074-.63.074-.63.317.045.619.164.884.347.265.183.486.425.645.709.204.38.515.689.891.888a2.091 2.091 0 0 0 2.02-.033 2.192 2.192 0 0 1 .614-1.37c-2.223-.258-4.556-1.137-4.556-5.058a4.012 4.012 0 0 1 1.025-2.745c-.3-.884-.266-1.85.098-2.709 0 0 .842-.276 2.751 1.049 1.64-.46 3.37-.46 5.01 0 1.91-1.325 2.746-1.049 2.746-1.049.368.857.405 1.825.105 2.709a4.012 4.012 0 0 1 1.025 2.745c0 3.934-2.34 4.794-4.568 5.026a2.466 2.466 0 0 1 .681 1.885v2.809c0 .334.178.591.688.496a10.05 10.05 0 0 0 5.381-4.416 10.435 10.435 0 0 0 1.308-6.93 10.302 10.302 0 0 0-3.386-6.15A9.875 9.875 0 0 0 12.013 2v.037l-.001-.001Z"/></g></g><defs><clipPath id="a"><path fill="#fff" d="M0 0h24v24H0z"/></clipPath><clipPath id="b"><path fill="#fff" d="M0 0h24v24H0z"/></clipPath></defs></svg></a>',
Expand Down
27 changes: 19 additions & 8 deletions sites/wonderland/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,13 @@ This repository contains the Wonderland Handbook, a documentation site built wit
From the monorepo root:

1. Install dependencies:

```bash
pnpm install
```

2. Build assets and start the development server:

```bash
pnpm --filter wonderland-handbook build:assets
pnpm --filter wonderland-handbook start
Expand All @@ -50,56 +52,65 @@ The handbook is automatically deployed to Vercel when changes are pushed to the
## Contributing

### To the handbook:

1. Create a new branch for your changes
2. Make your changes in the `docs/` directory
3. If you add new folders or files, you must also update `sidebars.ts`:
- This file defines the sidebar navigation using [Docusaurus sidebar configuration](https://docusaurus.io/docs/sidebar).
- Add your new documents to the appropriate category, or create a new one as needed.

- This file defines the sidebar navigation using [Docusaurus sidebar configuration](https://docusaurus.io/docs/sidebar).
- Add your new documents to the appropriate category, or create a new one as needed.

4. Test locally using `pnpm --filter wonderland-handbook start`
5. Submit a pull request

If you have any ideas for improving the handbook, feel free to open an issue (check the templates!) to start a discussion!
If you have any ideas for improving the handbook, feel free to open an issue (check the templates!) to start a discussion!

### To the blog:

Add a new Markdown/MDX file under `sites/wonderland/blog/`.

- Frontmatter (at the top of the file):

```md
---
title: Your post title
description: One-sentence summary shown in previews
authors:
- key: lumi # must exist in `blog/authors.yml`
date: 2024-11-06 # ISO date; time optional
image: /img/blog/slug/cover.png # social/OG image
tags: [topic1, topic2] # optional
- key: lumi # must exist in `blog/authors.yml`
date: 2024-11-06 # ISO date; time optional
image: /img/blog/slug/cover.png # social/OG image
tags: [topic1, topic2] # optional
---
```

- For multiple authors, use an array of `{ key }` objects. Example: `[{ key: lumi }, { key: shishigami }]`.
- Author profiles live in `sites/wonderland/blog/authors.yml` (keys must match).

- Images:

- Put post-specific images under `sites/wonderland/static/img/blog-posts-img/<slug>/`.
- Reference them with absolute paths: `/img/blog-posts-img/<slug>/image.png`.
- Recommended: a `cover.png` (1200×630) for social sharing via the `image` frontmatter.

- Naming:

- Prefer date-prefixed filenames to keep chronology: `YYYY-MM-DD-<slug>.md(x)`.
- The `<slug>` will become your URL segment. Keep it short, lowercase, and hyphenated.

- Content tips:

- Use standard Markdown. Code blocks get Prism syntax highlighting (e.g. solidity, ts).
- Headings create the right-hand table of contents automatically.
- For math, LaTeX is supported via remark-math/rehype-katex.

- Local preview:

```bash
pnpm --filter wonderland-handbook start
```

- PR checklist:
- Nice to have: in your PR description, add a small thread about your article to share on Wonderland's twitter 🤍 Remember to include a small description about yourself. Reference [here](https://x.com/DeFi_Wonderland/status/1958612299859841473) and [here](https://x.com/DeFi_Wonderland/status/1958249234429575375).
- Nice to have: in your PR description, add a small thread about your article to share on Wonderland's twitter 🤍 Remember to include a small description about yourself. Reference [here](https://x.com/Wonderland/status/1958612299859841473) and [here](https://x.com/Wonderland/status/1958249234429575375).
- Frontmatter present and valid.
- Images placed in `static/img/blog-posts-img/<slug>/` and referenced with `/img/blog-posts-img/<slug>/...`.
- Links work and code blocks render.
Expand Down
5 changes: 3 additions & 2 deletions sites/wonderland/blog/2023-08-12-a-zero-day-exploit-in-geb.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ image: /img/blog-posts-img/a-zero-day-exploit-in-geb/cover.jpg

![Cover Image](/img/blog-posts-img/a-zero-day-exploit-in-geb/easter-island.jpg)

During our ["retreat,"](https://twitter.com/DeFi_Wonderland/status/1724121953512947965) on a night filled with wine, chess games, frisbee, and laughter, the break naturally turned into a work session. Working groups, motivated by enthusiasm (and a bit of alcohol), grouped to tackle some pending tasks. The HAI team was focused on the **last finding** of the 46 points raised in the two auditing processes.
During our ["retreat,"](https://twitter.com/Wonderland/status/1724121953512947965) on a night filled with wine, chess games, frisbee, and laughter, the break naturally turned into a work session. Working groups, motivated by enthusiasm (and a bit of alcohol), grouped to tackle some pending tasks. The HAI team was focused on the **last finding** of the 46 points raised in the two auditing processes.

The finding named “**Liquidation DOS**” was categorized as **"minor severity"** in one of the two audit reports, in our opinion, due to the following:

Expand Down Expand Up @@ -45,6 +45,7 @@ A week later, the [innocent proposal](https://www.tally.xyz/gov/reflexer-ungover
This is the story of how Wonderland endangered and rescued two protocols with a combined TVL of over \$25 million from a 500+ days old bug.

## **Background**

<!-- truncate -->

![](/img/blog-posts-img/a-zero-day-exploit-in-geb/moais.jpg)
Expand Down Expand Up @@ -292,4 +293,4 @@ We have partnered with some of the most successful and promising protocols in We

We champion public good creation and believe in the invincibility of protocols backed by the right talent and incentives. We deeply believe in fostering a supportive community where collaboration trumps competition and building together is the norm, not the exception.

**DeFi sucks, but we are here to make it better.**
**DeFi sucks, but we are here to make it better.**
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ In this section of the onboarding, our goal is to familiarize you with the most
7. [GeistHeist](https://github.com/defi-wonderland/security-onboarding/tree/dev/solidity/challenges/medium/GeistHeist)
8. [Arcanery](https://github.com/defi-wonderland/security-onboarding/tree/dev/solidity/challenges/medium/Arcanery)

> ⚠️ **Note:** These challenges are private for now; [follow us](https://x.com/DeFi_Wonderland) to stay updated on the handbook's evolution
> ⚠️ **Note:** These challenges are private for now; [follow us](https://x.com/Wonderland) to stay updated on the handbook's evolution
2 changes: 1 addition & 1 deletion sites/wonderland/src/theme/BlogPostPage/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export default function BlogPostPageWrapper(props: any) {
<div className="wl-share">
{(() => {
const currentUrl = typeof window !== "undefined" ? window.location.href : meta?.permalink ?? "";
const shareText = `I went through the @DeFi_Wonderland's blog rabbit hole 🐇 Take a look at this post 👉${meta?.title ?? ""}\n${currentUrl}`;
const shareText = `I went through the @Wonderland's blog rabbit hole 🐇 Take a look at this post 👉${meta?.title ?? ""}\n${currentUrl}`;
const intent = `https://twitter.com/intent/tweet?text=${encodeURIComponent(shareText)}`;
return (
<a
Expand Down
Loading