getting-started

Project Structure

Project Structure

deneb-jekyll/
├── _authors/
├── _config.yml
├── _data/
│   └── settings.yml
├── _includes/
├── _layouts/
├── _pages/
├── _portfolio/
├── _posts/
├── _sass/
├── _services/
├── assets/
│   ├── css/
│   ├── js/
│   └── images/
└── index.md

Root Level Files

  • _config.yml: Primary Jekyll configuration file
  • Gemfile: Ruby gem dependencies
  • index.md: Main homepage content
  • blog.html: Blog listing page
  • 404.html: Custom 404 error page

Core Directories

_data/

Configuration and site-wide data files

  • settings.yml: Theme-specific settings

    • Site information
    • Logo configurations
    • Social media links
    • CTA button settings
  • navigation.yml: Site navigation configuration

    • Main menu items
    • Hierarchical menu structure
    • Navigation weights and submenus
    • Includes:
      • Top navigation menu
      • Dropdown submenus
      • Page routing
    • Supports up to 2 levels of navigation
    • Example structure:
      navigation:
        - text: Home
          url: /
          weight: 1
        - text: Services
          url: /services
          submenu:
            - text: Service Overview
              url: /services
      
  • testimonials.yml: Testimonial section configuration

    • Section heading and description
    • Decorative shape images
    • Additional background images
    • Testimonial list with:
      • Client name
      • Position
      • Profile image
      • Testimonial text
    • Supports multiple testimonial entries
    • Example structure:
      testimonials:
        heading: "What People Say"
        list:
          - name: "John Doe"
            position: "UX Designer"
            image: "/path/to/image.webp"
            text: "Client testimonial text"
      

_includes/

Reusable HTML components

  • Modular snippets for headers, footers
  • Navigation components
  • Utility includes like SEO, analytics

_layouts/

Page layout templates

  • Default page structures
  • Blog post layouts
  • Portfolio and service page layouts

_pages/

Static pages

  • About page
  • Contact page
  • Services overview
  • Portfolio listing

_posts/

Blog content

  • Markdown files for individual blog posts
  • Supports pagination and categorization

_portfolio/

Portfolio project details

  • Individual project showcase pages
  • Project metadata and descriptions

_services/

Service offerings

  • Detailed service description pages
  • Service-specific content

_sass/

SCSS style components

  • Theme styling
  • Responsive design mixins
  • Color and typography variables

assets/

Static assets for the theme

assets/css/
  • style.scss: Main stylesheet
  • Vendor CSS files (Bootstrap, animations)
assets/js/
  • custom.js: Theme-specific JavaScript
  • bootstrap.bundle.min.js: Bootstrap functionality
  • plugins.js: Additional plugin scripts
  • privacy-popup.js: Cookie consent management
assets/images/
  • Theme imagery
  • Logo variations
  • Background and decorative images
  • Portfolio and service thumbnails
assets/type/
  • Web font files
  • Typography CSS
  • Font configurations (Nunito, Poppins)
  1. Modify configuration in _config.yml and _data/settings.yml
  2. Customize layouts in _layouts/
  3. Add content in _posts/, _portfolio/, _services/
  4. Adjust styles in _sass/
  5. Add custom scripts in assets/js/

Customization

  • Override theme defaults in your local project
  • Add custom CSS in assets/css/
  • Modify layouts in _layouts/
  • Customize navigation in _data/navigation.yml

Running the Site

bundle exec jekyll serve

Troubleshooting

  • Ensure all dependencies are installed
  • Check Jekyll and Ruby versions
  • Verify Gemfile and _config.yml configurations