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: 9 additions & 0 deletions i18n/zh-CN/docusaurus-plugin-content-pages/news/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ import { useState, useCallback, useMemo } from 'react';
import useBaseUrl from '@docusaurus/useBaseUrl';

export const NewsData = [
{
title: "开源征程,邀你同行 | IvorySQL 2026 布道者计划正式发布",
desc: "2026 年度布道者计划正式启动。写文章、做分享、贡献代码,获取官方认证与年度大奖,聚光灯打在每一个愿意分享的人身上。",
date: "2026-06-04",
category: "community",
categoryLabel: "社区动态",
link: "/zh-cn/news/ivorysql-evangelist-program-2026",
img: "/img/news/evangelist-2026-zh.png"
},
{
title: "PGConf.dev 2026 现场直击:吐槽、加密难产、中国声音",
desc: "259 人,89 场议题,82 位演讲者——PostgreSQL 30 周年,瀚高 & IvorySQL 亮相温哥华,Grant Zhou 站上演讲台。",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
---
title: 开源征程,邀你同行 | IvorySQL 2026 布道者计划正式发布
hide_table_of_contents: true
---

import useBaseUrl from '@docusaurus/useBaseUrl';

<style>{`
.detail-banner { background: linear-gradient(135deg, #532abd 0%, #7D52F4 100%); padding: 40px 0; color: white !important; margin-bottom: 30px; }
.detail-banner-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; position: relative; }
.detail-banner h1 { font-size: 2.2rem; margin: 0; color: white !important; }
.detail-banner-decor { position: absolute; right: 10%; top: 50%; transform: translateY(-50%); opacity: 0.2; pointer-events: none; }
.detail-wrapper { max-width: 1200px; margin: 0 auto; padding: 0 20px 80px; display: flex; gap: 40px; }
.detail-main { flex: 1; min-width: 0; }
.breadcrumb { font-size: 0.9rem; color: #888; margin-bottom: 20px; }
.breadcrumb a { color: #888; text-decoration: none; }
.breadcrumb a:hover { color: #7D52F4; }
.post-header { margin-bottom: 30px; border-bottom: 1px solid #eee; padding-bottom: 20px; }
.post-title { font-size: 2rem; font-weight: bold; color: #333; margin-bottom: 10px; line-height: 1.3; }
.post-date { color: #999; font-size: 0.9rem; display: flex; align-items: center; gap: 5px; }
.post-cover { width: 100%; border-radius: 12px; margin-bottom: 30px; box-shadow: 0 8px 20px rgba(0,0,0,0.05); }
.post-content h2 { font-size: 1.5rem; color: #333; margin-top: 40px; margin-bottom: 20px; border-left: 4px solid #7D52F4; padding-left: 15px; }
.post-content h3 { font-size: 1.25rem; color: #444; margin-top: 25px; margin-bottom: 15px; font-weight: bold; }
.post-content p { font-size: 1.05rem; line-height: 1.8; color: #444; margin-bottom: 20px; }
.post-content li { font-size: 1.05rem; line-height: 1.8; color: #444; margin-bottom: 10px; }
.post-content strong { color: #333; }
.post-content a { color: #7D52F4; text-decoration: none; font-weight: 500; }
.post-content a:hover { text-decoration: underline; }
.post-content blockquote { background: #fff4e5; border-left: 5px solid #ffa94d; padding: 15px 20px; margin: 20px 0; color: #666; font-size: 0.95rem; }
.post-content table { width: 100%; border-collapse: collapse; margin: 20px 0; font-size: 0.95rem; }
.post-content th { background: #f8f6ff; border: 1px solid #e8e4f8; padding: 10px 14px; text-align: left; font-weight: 700; color: #333; }
.post-content td { border: 1px solid #eee; padding: 10px 14px; color: #444; }
.detail-sidebar { width: 260px; flex-shrink: 0; }
.sidebar-sticky { position: sticky; top: 100px; border-left: 2px solid #f0f0f0; padding-left: 20px; }
.sidebar-title { font-weight: bold; color: #333; margin-bottom: 15px; display: flex; align-items: center; gap: 8px; font-size: 0.9rem; }
.sidebar-nav { list-style: none; padding: 0; margin: 0; }
.sidebar-nav li { margin-bottom: 10px; }
.sidebar-nav a { color: #666; font-size: 0.85rem; text-decoration: none; transition: color 0.2s; line-height: 1.4; display: block; }
.sidebar-nav a:hover { color: #7D52F4; }
@media (max-width: 996px) { .detail-banner { padding: 30px 0; } .detail-banner h1 { font-size: 1.5rem; } .detail-wrapper { flex-direction: column; } .detail-sidebar { display: none; } .post-title { font-size: 1.5rem; } }
`}</style>

<div className="detail-banner">
<div className="detail-banner-inner">
<h1>新闻动态</h1>
<div className="detail-banner-decor">● ○ ●</div>
</div>
</div>

<div className="detail-wrapper">
<div className="detail-main">
<div className="breadcrumb">
<a href="/zh-cn/news">新闻动态</a> <span>&gt;</span> <span>正文内容</span>
</div>

<div className="post-header">
<div className="post-title">开源征程,邀你同行 | IvorySQL 2026 布道者计划正式发布</div>
<div className="post-date">📅 发布时间:2026 年 06 月 04 日</div>
</div>

<div className="post-content">
<p>
如果你愿意通过写文章、做分享、贡献代码或组织活动,让更多人了解 IvorySQL 和 PostgreSQL——那么 IvorySQL 社区正在找你。
</p>
<p>
<strong>2026 年度布道者计划今天正式启动。</strong> 这不是一个需要你全职投入的"岗位",而是一个让你在业余时间里,用自己的方式参与开源、获得官方认可和实在回报的机会。
</p>

<h2 id="benefits">成为布道者,你能得到什么?</h2>
<ul>
<li><strong>官方认证</strong>:电子荣誉证书、专属布道者身份标识、官网"布道者墙"展示</li>
<li><strong>高级权益</strong>(高级布道者):实体纪念徽章、官网人物专访、HOW 大会 VIP 门票、pgconf.dev 门票机会</li>
<li><strong>年度现金奖</strong>:最佳布道者 ¥3,000 + 奖杯,最佳文章/视频 ¥1,000</li>
<li><strong>布道者专属礼包</strong>:布道者专属的社区周边礼品大礼包一份,包含 HOW 2026 T 恤、大象挂件和其他礼品</li>
</ul>

<img className="post-cover" src={useBaseUrl('/img/news/evangelist-2026-swag.png')} alt="布道者专属礼包" />

<h2 id="who">谁可以报名?</h2>
<p>满足以下任意一条即可:</p>
<ul>
<li>使用过 IvorySQL 或 PostgreSQL</li>
<li>写过相关技术文章</li>
<li>在社区回答过问题</li>
<li>参加过线上或线下活动</li>
<li>提过建议、修过文档或代码</li>
<li>热爱开源,愿意学习</li>
</ul>

<h2 id="levels">2026 年等级与积分门槛</h2>
<table>
<tr><th>等级</th><th>积分门槛</th><th>有效期</th></tr>
<tr><td>IvorySQL 社区布道者</td><td>≥100 分</td><td>2026 年度</td></tr>
<tr><td>IvorySQL 社区高级布道者</td><td>≥300 分</td><td>2026 年度</td></tr>
</table>

<h2 id="points">积分怎么获得?</h2>
<table>
<tr><th>类别</th><th>布道方式</th><th>积分</th></tr>
<tr><td rowspan="4"><strong>内容创作</strong></td><td>官方首发深度文章(IvorySQL相关,≥1500字)</td><td>30/篇</td></tr>
<tr><td>官方首发深度文章(纯PostgreSQL,≥1500字)</td><td>15/篇</td></tr>
<tr><td>官方发布技术视频(≥10分钟)</td><td>20/期</td></tr>
<tr><td>内容被IvorySQL公众号转载</td><td>10/篇</td></tr>
<tr><td rowspan="5"><strong>活动参与</strong></td><td>IvorySQL 直播演讲</td><td>40/次</td></tr>
<tr><td>IvorySQL 主办线下演讲/Workshop</td><td>60/次</td></tr>
<tr><td>高校活动分享 IvorySQL 主题</td><td>40/次</td></tr>
<tr><td>外部活动分享 IvorySQL 主题</td><td>30/次</td></tr>
<tr><td>组织线下 Meetup(≥20人)</td><td>30/场</td></tr>
<tr><td rowspan="3"><strong>社区贡献</strong></td><td>提交 issue / 改进建议(被采纳)</td><td>5/个</td></tr>
<tr><td>贡献代码/文档 PR 被合并</td><td>25/PR</td></tr>
<tr><td>贡献迁移案例/用户故事(客户授权)</td><td>40/篇</td></tr>
<tr><td rowspan="3"><strong>其他</strong></td><td>宣传社区活动(自媒体/社媒/社群)</td><td>5/次</td></tr>
<tr><td>转载 IvorySQL 发版公告</td><td>10/篇</td></tr>
<tr><td>转发 IvorySQL 发版公告</td><td>5/篇</td></tr>
</table>

<blockquote>
参加过 HOW 2026 演讲的朋友,系统已赠送 30 分基础分。
</blockquote>

<h2 id="timeline">2026 年时间线</h2>
<ul>
<li><strong>即日起</strong>:开放报名,加入布道者专属群</li>
<li><strong>10 月 1 日</strong>:公示首批布道者(积分 ≥100)</li>
<li><strong>12 月</strong>:年度评选及颁奖</li>
</ul>

<h2 id="apply">报名方式</h2>
<p>点击下方链接,填写报名表单:</p>
<p>👉 <a href="https://fucunptg.jsjform.com/f/ihp4Xj" target="_blank" rel="noopener noreferrer">https://fucunptg.jsjform.com/f/ihp4Xj</a></p>
<p>提交后,运营同学会邀请你加入布道者专属微信群。</p>

<h2 id="faq">几个常见问题</h2>
<p><strong>100 分难吗?</strong><br/>不难。100 分大约相当于 3-4 篇深度文章,或 2 篇文章加 1 次演讲。</p>
<p><strong>纯 PostgreSQL 文章算吗?</strong><br/>算,但只有 IvorySQL 相关文章的一半积分(15 分)。我们更鼓励写 IvorySQL 相关内容。</p>
<p><strong>积分可以跨年吗?</strong><br/>本计划仅针对 2026 年度,积分不跨年。明年会有新的计划。</p>
<p><strong>怎么查积分?</strong><br/>每季度社群和官网会公布积分榜,也可以直接联系运营查询。</p>

<blockquote>
开源社区不是靠少数"大牛"撑起来的,而是靠每一个愿意分享、愿意回应、愿意多写一行文档、多回答一个问题的人。<br/><br/>
<strong>你不需要很厉害才开始,但你需要开始,才会被看见。</strong><br/><br/>
IvorySQL 的布道者舞台已经搭好。聚光灯会打在每一个真正热爱技术、愿意分享的人身上。<br/><br/>
➡️ <a href="https://fucunptg.jsjform.com/f/ihp4Xj" target="_blank" rel="noopener noreferrer">立即报名,成为 IvorySQL 布道者。</a>
</blockquote>
</div>
</div>

<div className="detail-sidebar">
<div className="sidebar-sticky">
<div className="sidebar-title">▼ 文章大纲</div>
<ul className="sidebar-nav">
<li><a href="#benefits">成为布道者的收获</a></li>
<li><a href="#who">谁可以报名</a></li>
<li><a href="#levels">等级与积分</a></li>
<li><a href="#points">积分获取方式</a></li>
<li><a href="#apply">报名方式</a></li>
</ul>
</div>
</div>
</div>
9 changes: 9 additions & 0 deletions src/pages/news/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ import { useState, useCallback, useMemo } from 'react';
import useBaseUrl from '@docusaurus/useBaseUrl';

export const NewsData = [
{
title: "Join the Journey | IvorySQL 2026 Evangelist Program is Now Open",
desc: "The 2026 Evangelist Program is officially launched. Write, speak, contribute code—gain official recognition and annual awards.",
date: "2026-06-04",
category: "community",
categoryLabel: "Community",
link: "/news/ivorysql-evangelist-program-2026",
img: "/img/news/evangelist-2026-en.png"
},
{
title: "\"PostgreSQL is Terrible\"? PGConf.dev 2026: Roasts, Encryption Stalls, and China's Voice",
desc: "259 attendees, 89 sessions, 82 speakers — marking PostgreSQL's 30th anniversary, HighGo & IvorySQL made their mark in Vancouver with Grant Zhou on the keynote stage.",
Expand Down
Loading