|
| 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