A professional business website built with Jekyll and hosted on GitHub Pages. This site showcases our software development services, portfolio, blog, and contact information.
Visit us at: https://k11-software-solutions.github.io/
- Project Overview
- Site Structure
- Navigation
- Blog Feed & RSS
- Setup & Development
- Adding Content
- Deployment
- Contact Form
- Contributing
This is a static website built with:
- Jekyll - Static site generator
- Minima Theme - Clean, responsive design
- GitHub Pages - Free hosting and deployment
- Markdown - Content authoring
- Professional service pages
- Dynamic blog with RSS feed
- Portfolio/project showcase
- Contact form integration
- SEO optimization with Jekyll SEO Tag
- Responsive design for all devices
k11-software-solutions.github.io/
├── _config.yml # Site configuration
├── _posts/ # Blog posts
│ └── YYYY-MM-DD-title.md
├── _projects/ # Portfolio projects
├── _includes/ # Reusable components
├── _layouts/ # Page templates
├── assets/
│ └── css/
│ └── custom.css # Custom styles
├── index.md # Homepage
├── services.md # Services page
├── portfolio.md # Portfolio page
├── blog.md # Blog index
├── about.md # About us page
├── contact.md # Contact page
├── Gemfile # Ruby dependencies
└── README.md # This file
The website navigation is controlled by the header_pages setting in _config.yml:
header_pages:
- index.md # Home
- services.md # Services
- portfolio.md # Portfolio
- blog.md # Blog
- about.md # About
- contact.md # Contact- Home (
/) - Landing page with company overview - Services (
/services/) - Software development services - Portfolio (
/portfolio/) - Showcase of completed projects - Blog (
/blog/) - All blog posts with excerpts - About (
/about/) - Company information and team - Contact (
/contact/) - Contact form and information
The blog page (blog.md) automatically displays all blog posts dynamically using Jekyll's Liquid templating:
Blog Page URL: https://k11-software-solutions.github.io/blog/
{% for post in site.posts %}
<!-- Post title, date, author, excerpt -->
{% endfor %}Posts are rendered in reverse chronological order (newest first) with:
- Post title (linked to full article)
- Publication date
- Author name (if specified)
- Excerpt/preview
- "Read More" link
The site includes an automatically generated RSS feed for blog subscribers:
RSS Feed URL: https://k11-software-solutions.github.io/feed.xml
This feed is powered by the jekyll-feed plugin and includes:
- All published blog posts
- Full post content
- Publication dates
- Author information
- Post categories
The site also provides a JSON Feed for modern feed readers:
JSON Feed URL: https://k11-software-solutions.github.io/blog/feed.json
This feed follows the JSON Feed specification and includes:
- Latest 20 blog posts
- Full HTML content
- Publication dates
- Author information
- Tags and categories
- Post summaries/excerpts
Readers can subscribe using either feed format:
RSS/XML Feed:
https://k11-software-solutions.github.io/feed.xml
JSON Feed:
https://k11-software-solutions.github.io/blog/feed.json
Popular feed readers:
- Feedly - Supports both RSS and JSON feeds
- Inoreader - Supports both RSS and JSON feeds
- NewsBlur - Supports both formats
- RSS readers built into browsers - Usually RSS/XML only
Each blog post supports:
- Front Matter - Metadata (title, date, author, categories)
- Markdown Content - Rich text formatting
- Code Blocks - Syntax highlighting
- Images - Embedded media
- Links - Internal and external references
- Excerpts - Automatic excerpt generation
- Ruby 2.7 or higher
- RubyGems
- GCC and Make
-
Clone the repository:
git clone https://github.com/K11-Software-Solutions/k11-software-solutions.github.io.git cd k11-software-solutions.github.io -
Install dependencies:
gem install bundler bundle install
-
Run local development server:
bundle exec jekyll serve -
View the site: Open http://localhost:4000 in your browser
- Build site:
bundle exec jekyll build - Serve with live reload:
bundle exec jekyll serve --livereload - Serve with drafts:
bundle exec jekyll serve --drafts - Clean build files:
bundle exec jekyll clean
-
Create a new file in
_posts/with the naming convention:YYYY-MM-DD-your-post-title.md -
Add front matter at the top:
--- layout: post title: "Your Post Title" date: YYYY-MM-DD HH:MM:SS -0800 author: Your Name categories: category1 category2 ---
-
Write your content in Markdown below the front matter
-
Save the file and it will automatically appear on the blog page
Example:
---
layout: post
title: "Getting Started with React"
date: YYYY-MM-DD HH:MM:SS -0800
author: K11 Team
categories: tutorial web-development
---
Your blog post content here...-
Create a new file in
_projects/(e.g.,my-project.md) -
Add front matter:
--- layout: page title: Project Name description: Brief description technologies: [React, Node.js, AWS] ---
-
Add project details in Markdown
Edit any .md file in the root directory to update page content:
index.md- Homepageservices.md- Servicesabout.md- About uscontact.md- Contact information
The site is automatically deployed via GitHub Pages when changes are pushed to the main branch.
-
Make changes and commit:
git add . git commit -m "Your commit message"
-
Push to GitHub:
git push origin main
-
GitHub Pages will automatically build and deploy (takes 1-2 minutes)
-
View your changes at: https://k11-software-solutions.github.io/
Configuration is in _config.yml:
- URL:
https://k11-software-solutions.github.io - Theme: Minima
- Plugins: jekyll-feed, jekyll-seo-tag
The contact page includes a Formspree-based contact form for easy communication.
- Name, Email, Subject, Message fields
- Spam protection via Formspree
- Email notifications for form submissions
- Mobile-friendly design
- Matches website styling
The site includes a placeholder form endpoint. To set up your actual Formspree form:
- Create your Formspree account - Follow the detailed instructions in CONTACT_FORM_SETUP.md
- Get the form endpoint - Copy your form's endpoint URL from Formspree
- Update contact.md - Replace the placeholder form endpoint with your actual endpoint
- Test - Verify the form works on your local site before deploying
See CONTACT_FORM_SETUP.md for complete step-by-step instructions on creating and configuring your Formspree form.
- Visitors fill out the form on
/contact/ - Submissions are sent to Formspree
- Form responses are forwarded to
k11softwaresolutions@gmail.com - Email notifications are sent for each submission
We welcome contributions! To contribute:
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes
- Test locally with
bundle exec jekyll serve - Commit your changes:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature - Open a Pull Request
- Follow existing code style and structure
- Test changes locally before submitting
- Write clear commit messages
- Update documentation as needed
- Keep changes focused and minimal
Copyright © 2024-present K11 Software Solutions. All rights reserved.
- Email: k11softwaresolutions@gmail.com
- Website: https://k11-software-solutions.github.io/
- GitHub: @k11-software-solutions
- LinkedIn: K11 Software Solutions
Built with ❤️ by K11 Software Solutions