HelloWorld

Create: 2025-06-13

初始化

还是这个 Nextra 看起来舒服,rouge 的代码高亮太简陋了,最后还是选择了静态部署。

部署过程参照 官方文档

头像

用非常赖子的方式实现了首页的头像渲染

<div className="content">
  <div className="text">

头像来自于 [幸运 ☆ 星 25 话 31:55](https://www.bilibili.com/bangumi/play/ep278737)

丢点东西到 GitHub 上来

  </div>
  <img
    src="/images/Izumi.png"
    alt="Izumi"
    className="profile-img"
  />
</div>

<style>{`
  .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
  }

  .profile-img {
    border-radius: 50%;
    width: 300px;
    height: 300px;
    object-fit: cover;
  }

  /* 手机端样式 */
  @media (max-width: 768px) {
    .content {
      flex-direction: column;
      align-items: center;
    }

    .profile-img {
      width: 80%;
      height: auto;
      margin-top: 1rem;
    }
  }
`}</style>

页面布局配置

import { Footer, Layout, Navbar } from "nextra-theme-docs";
import { Head, Search } from "nextra/components";
import { getPageMap } from "nextra/page-map";
import "nextra-theme-docs/style.css";

export const metadata = {
  title: {
    template: "%s | LongSang01",
  },
};

const navbar = (
  <Navbar
    logo={
      <>
        <img
          src="/favicon.ico"
          style={{ width: "24px", height: "24px", marginRight: "8px" }} // 根据需要调整大小和间距
        />
        <span>Life.RunTime()</span>
      </>
    }
    projectLink="https://github.com/LongSang01/longsang01.github.io"
  />
);
const footer = (
  <Footer>
    <span>
      <a href="https://nextra.site/" target="_blank">
        Power By Nextra
      </a>
      <br />
      2025 - {new Date().getFullYear()} ©{" "}
      <a href="https://github.com/LongSang01/" target="_blank">
        LongSang01
      </a>
    </span>
  </Footer>
);

export default async function RootLayout({ children }) {
  return (
    <html lang="zh-CN" dir="/" suppressHydrationWarning>
      <Head>
        {/* Your additional tags should be passed as `children` of `<Head>` element */}
      </Head>
      <body>
        <Layout
          navbar={navbar}
          pageMap={await getPageMap()}
          docsRepositoryBase="https://github.com/LongSang01/longsang01.github.io/"
          footer={footer}
          editLink={null}
          feedback={{ content: "" }}
          search={<Search placeholder={"搜索"} />}
          toc={{ title: "此页面", backToTop: "回到顶部" }}
          // ... Your additional layout options
        >
          {children}
        </Layout>
      </body>
    </html>
  );
}

部署到 GitHub Pages

import nextra from "nextra";

const withNextra = nextra({
  // ... Other Nextra config options
  defaultShowCopyCode: true,
});

// You can include other Next.js configuration options here, in addition to Nextra settings:
export default withNextra({
  distDir: "build", //导出目录
  output: "export", //配置静态导出
  trailingSlash: true, //配置输出时导出路由 html
  images: {
    unoptimized: true, //关闭图像优化
  },
});

next.js 编译后静态资源在 /_next
需要添加 .nojekyll 让 github 不使用 jekyll, 不然默认不会加载.和_开头的文件
在 public 目录下创建 .nojekyll
即可在每次构建后自动添加该文件

提交编译后的 build 目录即可