@@ -106,82 +106,48 @@ jobs:
106106 - name : Setup Pages
107107 uses : actions/configure-pages@v4
108108
109- - name : Create Pages directory structure
109+ - name : Setup Ruby for Jekyll
110+ uses : ruby/setup-ruby@v1
111+ with :
112+ ruby-version : ' 3.1'
113+ bundler-cache : true
114+ working-directory : docs
115+
116+ - name : Create Gemfile for Jekyll
110117 run : |
111- mkdir -p _site
112-
113- # Copy all documentation files
114- cp -r docs/* _site/ 2>/dev/null || true
115-
116- # Ensure API docs are properly placed
117- if [ -d "docs/api" ]; then
118- echo "β
API documentation found, copying to _site/api/"
119- cp -r docs/api _site/
120- else
121- echo "β οΈ API documentation not found at docs/api/"
122- fi
123-
124- # Copy generated docs if they exist
125- if [ -d "docs/generated" ]; then
126- echo "β
Generated docs found, copying to _site/"
127- cp -r docs/generated/* _site/ 2>/dev/null || true
118+ cd docs
119+ if [ ! -f Gemfile ]; then
120+ cat > Gemfile << 'EOF'
121+ source "https://rubygems.org"
122+ gem "jekyll", "~> 4.3.0"
123+ gem "minima", "~> 2.5"
124+ gem "jekyll-feed", "~> 0.12"
125+ gem "jekyll-sitemap"
126+ gem "jekyll-seo-tag"
127+ gem "jekyll-optional-front-matter"
128+ gem "jekyll-readme-index"
129+ gem "jekyll-default-layout"
130+ gem "jekyll-titles-from-headings"
131+ EOF
128132 fi
133+
134+ - name : Install Jekyll dependencies
135+ run : |
136+ cd docs
137+ bundle install
138+
139+ - name : Build Jekyll site
140+ run : |
141+ cd docs
129142
130- # Copy README as index
131- cp README.md _site/ index.md 2>/dev/null || true
143+ # Copy README to docs as index
144+ cp ../ README.md index.md
132145
133- echo "π Site structure:"
134- find _site -type f -name "*.html" | head -10
146+ # Build with Jekyll
147+ bundle exec jekyll build --destination ../_site
135148
136- # Create a simple index.html if none exists
137- if [ ! -f _site/index.html ]; then
138- cat > _site/index.html << 'EOF'
139- <!DOCTYPE html>
140- <html>
141- <head>
142- <title>Dataproc MCP Server Documentation</title>
143- <meta charset="utf-8">
144- <meta name="viewport" content="width=device-width, initial-scale=1">
145- <style>
146- body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; margin: 40px; }
147- .container { max-width: 800px; margin: 0 auto; }
148- h1 { color: #1a73e8; }
149- .nav { margin: 20px 0; }
150- .nav a { margin-right: 20px; text-decoration: none; color: #1a73e8; }
151- .nav a:hover { text-decoration: underline; }
152- </style>
153- </head>
154- <body>
155- <div class="container">
156- <h1>π§ Dataproc MCP Server Documentation</h1>
157- <p>Production-ready Model Context Protocol server for Google Cloud Dataproc operations.</p>
158-
159- <div class="nav">
160- <a href="api/">π API Reference</a>
161- <a href="QUICK_START.html">π Quick Start</a>
162- <a href="CONFIGURATION_EXAMPLES.html">βοΈ Configuration</a>
163- <a href="security/">π Security Guide</a>
164- </div>
165-
166- <h2>Features</h2>
167- <ul>
168- <li>π― <strong>Intelligent Defaults</strong> - 60-80% fewer parameters required</li>
169- <li>π <strong>Enterprise Security</strong> - Comprehensive validation and audit logging</li>
170- <li>π <strong>Rich Documentation</strong> - Interactive examples and guides</li>
171- <li>π <strong>Production Ready</strong> - CI/CD, testing, and monitoring</li>
172- </ul>
173-
174- <h2>Quick Links</h2>
175- <ul>
176- <li><a href="https://github.com/dipseth/dataproc-mcp">GitHub Repository</a></li>
177- <li><a href="https://www.npmjs.com/package/@dipseth/dataproc-mcp-server">NPM Package</a></li>
178- <li><a href="https://github.com/dipseth/dataproc-mcp/issues">Report Issues</a></li>
179- </ul>
180- </div>
181- </body>
182- </html>
183- EOF
184- fi
149+ echo "π Jekyll build complete. Site structure:"
150+ find ../_site -type f -name "*.html" | head -10
185151
186152 - name : Upload to GitHub Pages
187153 uses : actions/upload-pages-artifact@v3
0 commit comments