Skip to content

Commit 1ab3a01

Browse files
authored
Merge pull request #24 from openSVM/copilot/fix-23
Add comprehensive GitHub Pages documentation with 73+ RPC methods, JSON-RPC API support, and floating LLMs.txt button
2 parents 739bbf1 + 7c0af85 commit 1ab3a01

31 files changed

+9565
-0
lines changed

.github/workflows/pages.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Deploy Documentation Site
2+
3+
on:
4+
push:
5+
branches: [ main, master ]
6+
pull_request:
7+
branches: [ main, master ]
8+
workflow_dispatch:
9+
10+
permissions:
11+
contents: read
12+
pages: write
13+
id-token: write
14+
15+
concurrency:
16+
group: "pages"
17+
cancel-in-progress: false
18+
19+
jobs:
20+
build:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Checkout
24+
uses: actions/checkout@v4
25+
26+
- name: Setup Ruby
27+
uses: ruby/setup-ruby@v1
28+
with:
29+
ruby-version: '3.1'
30+
bundler-cache: true
31+
32+
- name: Setup Pages
33+
id: pages
34+
uses: actions/configure-pages@v4
35+
36+
- name: Build with Jekyll
37+
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
38+
env:
39+
JEKYLL_ENV: production
40+
41+
- name: Upload artifact
42+
uses: actions/upload-pages-artifact@v3
43+
44+
deploy:
45+
if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master'
46+
environment:
47+
name: github-pages
48+
url: ${{ steps.deployment.outputs.page_url }}
49+
runs-on: ubuntu-latest
50+
needs: build
51+
steps:
52+
- name: Deploy to GitHub Pages
53+
id: deployment
54+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,11 @@ nohup.out
2121
# Test configurations
2222
config.test.json
2323
*.test.json
24+
25+
# Jekyll & GitHub Pages
26+
_site/
27+
.sass-cache/
28+
.jekyll-cache/
29+
.jekyll-metadata
30+
vendor/
31+
Gemfile.lock

Gemfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
source "https://rubygems.org"
2+
3+
gem "jekyll", "~> 4.3"
4+
gem "jekyll-feed", "~> 0.12"
5+
gem "jekyll-sitemap"
6+
gem "jekyll-seo-tag"
7+
gem "jekyll-relative-links"
8+
gem "jekyll-optional-front-matter"
9+
gem "jekyll-readme-index"
10+
gem "jekyll-default-layout"
11+
gem "jekyll-titles-from-headings"
12+
13+
platforms :mingw, :x64_mingw, :mswin, :jruby do
14+
gem "tzinfo", ">= 1", "< 3"
15+
gem "tzinfo-data"
16+
end
17+
18+
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]
19+
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
20+
21+
# Security
22+
gem "webrick", "~> 1.8"

SITE_README.md

Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
# 📚 Solana MCP Server Documentation Site
2+
3+
This repository hosts a modern, e-ink inspired documentation website for the Solana MCP Server project, built with Jekyll and deployed on GitHub Pages.
4+
5+
## 🎨 Features
6+
7+
### Modern E-ink Design
8+
- **Grayscale color palette** inspired by e-reader aesthetics
9+
- **Clean typography** using Inter and JetBrains Mono fonts
10+
- **Minimalist interface** focusing on content readability
11+
- **Responsive design** that works on all devices
12+
13+
### Advanced Functionality
14+
- **🔍 Full-text search** powered by Lunr.js
15+
- **📖 Bookmark system** with local storage persistence
16+
- **🧭 Smart navigation** with breadcrumbs and page navigation
17+
- **📱 Mobile-optimized** responsive design
18+
- **♿ Accessibility features** including skip links and ARIA labels
19+
20+
### Content Organization
21+
- **Comprehensive documentation** covering all 47 RPC methods
22+
- **Step-by-step guides** for deployment and configuration
23+
- **Interactive examples** with code snippets
24+
- **Architecture diagrams** and system overviews
25+
- **Security audit reports** and best practices
26+
27+
## 🛠️ Technical Stack
28+
29+
- **Static Site Generator**: Jekyll 4.3+
30+
- **Styling**: Custom CSS with CSS Grid and Flexbox
31+
- **Search**: Lunr.js full-text search
32+
- **Icons**: Custom SVG icons and emojis
33+
- **Deployment**: GitHub Actions → GitHub Pages
34+
- **Performance**: Optimized CSS/JS, lazy loading, service worker
35+
36+
## 🚀 Local Development
37+
38+
### Prerequisites
39+
- Ruby 3.1+
40+
- Bundler
41+
- Git
42+
43+
### Setup
44+
```bash
45+
# Clone the repository
46+
git clone https://github.com/openSVM/solana-mcp-server.git
47+
cd solana-mcp-server
48+
49+
# Install dependencies
50+
bundle install
51+
52+
# Serve locally
53+
bundle exec jekyll serve
54+
55+
# View at http://localhost:4000
56+
```
57+
58+
### Development Commands
59+
```bash
60+
# Build the site
61+
bundle exec jekyll build
62+
63+
# Serve with live reload
64+
bundle exec jekyll serve --livereload
65+
66+
# Build for production
67+
JEKYLL_ENV=production bundle exec jekyll build
68+
```
69+
70+
## 📁 Site Structure
71+
72+
```
73+
├── _config.yml # Jekyll configuration
74+
├── _layouts/ # Page templates
75+
│ ├── default.html # Base layout with navigation
76+
│ ├── home.html # Homepage layout
77+
│ └── docs.html # Documentation layout
78+
├── _docs/ # Documentation collection
79+
│ ├── ONBOARDING.md # Quick start guide
80+
│ ├── API_REFERENCE.md # Complete API docs
81+
│ ├── ARCHITECTURE.md # System architecture
82+
│ ├── DEPLOYMENT.md # Deployment guides
83+
│ └── ...
84+
├── assets/
85+
│ ├── css/main.css # E-ink themed styles
86+
│ ├── js/main.js # Search & bookmark functionality
87+
│ └── images/ # Logos and icons
88+
├── index.md # Homepage content
89+
├── search.md # Search page
90+
├── bookmarks.md # Bookmarks page
91+
└── Gemfile # Ruby dependencies
92+
```
93+
94+
## 🎯 Content Guidelines
95+
96+
### Writing Style
97+
- **Clear and concise** technical writing
98+
- **Step-by-step instructions** with code examples
99+
- **Consistent terminology** across all pages
100+
- **Practical examples** that users can follow
101+
102+
### Documentation Organization
103+
- **Progressive disclosure** from basic to advanced concepts
104+
- **Cross-references** between related topics
105+
- **Code examples** with proper syntax highlighting
106+
- **Visual aids** like diagrams and screenshots
107+
108+
### Markdown Conventions
109+
```markdown
110+
---
111+
layout: docs
112+
title: "Page Title"
113+
description: "Brief description"
114+
order: 1
115+
category: getting_started
116+
---
117+
118+
# Page Title
119+
120+
Brief introduction paragraph.
121+
122+
## Section Header
123+
124+
Content with `inline code` and:
125+
126+
```bash
127+
# Code blocks with language specification
128+
command --with --arguments
129+
```
130+
131+
> **Note**: Important callouts in blockquotes
132+
133+
- Bullet points for lists
134+
- Use emojis sparingly for visual interest
135+
```
136+
137+
## 🔧 Customization
138+
139+
### Theme Colors
140+
Edit CSS custom properties in `/assets/css/main.css`:
141+
```css
142+
:root {
143+
--eink-white: #ffffff;
144+
--eink-paper: #fafafa;
145+
--eink-light-gray: #f5f5f5;
146+
--accent-teal: #2d5f5f;
147+
/* ... */
148+
}
149+
```
150+
151+
### Navigation
152+
Update navigation in `_config.yml`:
153+
```yaml
154+
nav_links:
155+
- title: "Documentation"
156+
url: "/docs/"
157+
- title: "API Reference"
158+
url: "/docs/API_REFERENCE/"
159+
```
160+
161+
### Search Configuration
162+
Search is automatically configured but can be customized in `/assets/js/main.js`.
163+
164+
## 📊 Analytics & Performance
165+
166+
### Built-in Features
167+
- **Performance monitoring** with Core Web Vitals
168+
- **Search analytics** tracking user engagement
169+
- **Bookmark usage** metrics
170+
- **Mobile responsiveness** testing
171+
172+
### Optimization
173+
- **CSS minification** in production builds
174+
- **Image optimization** with lazy loading
175+
- **Service worker** for offline functionality
176+
- **CDN delivery** via GitHub Pages
177+
178+
## 🚀 Deployment
179+
180+
### Automatic Deployment
181+
The site automatically deploys to GitHub Pages when changes are pushed to the main branch via GitHub Actions.
182+
183+
### Manual Deployment
184+
```bash
185+
# Build for production
186+
JEKYLL_ENV=production bundle exec jekyll build
187+
188+
# Deploy to GitHub Pages
189+
# (Handled automatically by GitHub Actions)
190+
```
191+
192+
### Custom Domain
193+
To use a custom domain:
194+
1. Add CNAME file with your domain
195+
2. Configure DNS settings
196+
3. Enable HTTPS in repository settings
197+
198+
## 🤝 Contributing
199+
200+
### Content Updates
201+
1. Edit markdown files in `_docs/` directory
202+
2. Follow existing naming conventions
203+
3. Add appropriate front matter
204+
4. Test locally before submitting PR
205+
206+
### Design Changes
207+
1. Modify CSS in `/assets/css/main.css`
208+
2. Maintain grayscale e-ink aesthetic
209+
3. Test across different screen sizes
210+
4. Ensure accessibility compliance
211+
212+
### New Features
213+
1. Add JavaScript to `/assets/js/main.js`
214+
2. Update templates in `_layouts/` if needed
215+
3. Document new features in this README
216+
4. Test thoroughly across browsers
217+
218+
## 📝 License
219+
220+
This documentation site is part of the Solana MCP Server project and is licensed under the MIT License.
221+
222+
## 🔗 Links
223+
224+
- **Live Site**: https://opensvm.github.io/solana-mcp-server/
225+
- **Main Repository**: https://github.com/openSVM/solana-mcp-server
226+
- **Issues**: https://github.com/openSVM/solana-mcp-server/issues
227+
- **Jekyll Documentation**: https://jekyllrb.com/docs/

0 commit comments

Comments
 (0)