From 7a5b4140a7b99965e3c6b0277b20c8cf3de42e5d Mon Sep 17 00:00:00 2001 From: thomasthaddeus Date: Tue, 5 Dec 2023 16:22:04 -0700 Subject: [PATCH 1/2] update Gemfile --- Gemfile | 8 ++++---- Gemfile.lock | 2 ++ README.md | 4 +++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Gemfile b/Gemfile index 8928339..4a50fbb 100644 --- a/Gemfile +++ b/Gemfile @@ -4,6 +4,7 @@ source 'https://rubygems.org' gem 'jekyll', '~> 4.3.2' # or the latest stable version gem 'liquid' gem 'rack' +gem 'minima' # If you're using GitHub Pages, you might include: #gem 'github-pages', group: :jekyll_plugins @@ -13,12 +14,11 @@ gem 'rack' gem 'jekyll-feed', '~> 0.17' # for RSS feed generation gem 'jekyll-sitemap', '~> 1.4' # for creating a sitemap gem 'jekyll-seo-tag', '~> 2.8.0' # for SEO enhancements +gem 'jekyll-paginate' +gem 'webrick' +gem 'faraday-retry' # For development and testing group :jekyll_plugins do gem 'jekyll-admin', '~> 0.11.1' # for an admin dashboard end - -gem 'webrick' -gem 'faraday-retry' -gem "minima" diff --git a/Gemfile.lock b/Gemfile.lock index 59830ab..89ced45 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -45,6 +45,7 @@ GEM sinatra-contrib (>= 1.4) jekyll-feed (0.17.0) jekyll (>= 3.7, < 5.0) + jekyll-paginate (1.1.0) jekyll-sass-converter (3.0.0) sass-embedded (~> 1.54) jekyll-seo-tag (2.8.0) @@ -109,6 +110,7 @@ DEPENDENCIES jekyll (~> 4.3.2) jekyll-admin (~> 0.11.1) jekyll-feed (~> 0.17) + jekyll-paginate jekyll-seo-tag (~> 2.8.0) jekyll-sitemap (~> 1.4) liquid diff --git a/README.md b/README.md index b955311..b92e847 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # VCW-Tech -Welcome to the repository for My Jekyll Site. This site is built with [Jekyll](https://jekyllrb.com/), a static site generator, and styled using [Bootstrap](https://getbootstrap.com/) (included via CDN). It's automatically built and deployed using GitHub Actions. +Welcome to the repository for VCWTech. This site is built with [Jekyll](https://jekyllrb.com/), a static site generator, and styled using [Bootstrap](https://getbootstrap.com/) (included via CDN). It's automatically built and deployed using GitHub Actions. + +[![Auto Update Changelog](https://github.com/Visionary-Code-Works/vcwtech.github.io/actions/workflows/changelog.yml/badge.svg)](https://github.com/Visionary-Code-Works/vcwtech.github.io/actions/workflows/changelog.yml) ## Features From 57981f6d300ced9ce7a34964973a722ddcb8235a Mon Sep 17 00:00:00 2001 From: thomasthaddeus Date: Wed, 6 Dec 2023 00:29:27 -0700 Subject: [PATCH 2/2] update scss --- _sass/_base.scss | 98 +++++++-------- _sass/_footer.scss | 73 +++++++---- _sass/_header.scss | 45 +++++-- _sass/_mixins.scss | 37 ++++-- _sass/_responsive.scss | 33 +++++ _sass/_sidebar.scss | 268 +++++++++++++++++++++++++++++++++++------ _sass/_variables.scss | 1 - _sass/main.scss | 32 ----- assets/css/custom.css | 38 ------ assets/css/main.css | 4 - assets/css/main.scss | 11 ++ assets/css/style.css | 0 assets/js/main.js | 103 +++++++++++++--- index.html | 41 ++++++- 14 files changed, 565 insertions(+), 219 deletions(-) delete mode 100644 _sass/main.scss delete mode 100644 assets/css/custom.css delete mode 100644 assets/css/main.css create mode 100644 assets/css/main.scss delete mode 100644 assets/css/style.css diff --git a/_sass/_base.scss b/_sass/_base.scss index d458b61..d718f66 100644 --- a/_sass/_base.scss +++ b/_sass/_base.scss @@ -2,52 +2,54 @@ // Body body { - font-family: 'Helvetica Neue', Arial, sans-serif; - font-size: 16px; - line-height: 1.6; - color: #333; - background-color: #fff; + font-family: $fontFamily; // Using variable from _variables.scss + font-size: $baseFontSize; // Using variable from _variables.scss + line-height: 1.5; + color: $textColor; // Using variable from _variables.scss + background-color: $backgroundColor; // Using variable from _variables.scss +} + +// Links +a { + color: $linkColor; // Updated to use $linkColor from _variables.scss + text-decoration: none; + + &:hover { + color: $linkHoverColor; // Updated to use $linkHoverColor from _variables.scss + text-decoration: underline; } - - // Headings - h1, h2, h3, h4, h5, h6 { - color: #333; - margin-top: 1.5rem; - margin-bottom: 1rem; - } - - h1 { font-size: 2.5rem; } - h2 { font-size: 2rem; } - h3 { font-size: 1.75rem; } - h4 { font-size: 1.5rem; } - h5 { font-size: 1.25rem; } - h6 { font-size: 1rem; } - - // Paragraphs - p { - margin-top: 0; - margin-bottom: 1rem; - } - - // Links - a { - color: #007bff; - text-decoration: none; - - &:hover { - text-decoration: underline; - } - } - - // Lists - ul, ol { - padding-left: 2rem; - margin-top: 0; - margin-bottom: 1rem; - } - - li { - margin-bottom: 0.5rem; - } - - // Additional base styles as needed... +} + +// Headings +h1, h2, h3, h4, h5, h6 { + color: $darkColor; // Using variable from _variables.scss + margin-top: 1.5rem; + margin-bottom: 1rem; + font-family: $headingFontFamily; // Using variable from _variables.scss +} + +h1 { font-size: 2.5rem; } +h2 { font-size: 2rem; } +h3 { font-size: 1.75rem; } +h4 { font-size: 1.5rem; } +h5 { font-size: 1.25rem; } +h6 { font-size: 1rem; } + +// Paragraphs +p { + margin-top: 0; + margin-bottom: 1rem; +} + +// Lists +ul, ol { + padding-left: 2rem; + margin-top: 0; + margin-bottom: 1rem; +} + +li { + margin-bottom: 0.5rem; +} + +// Additional base styles as needed... diff --git a/_sass/_footer.scss b/_sass/_footer.scss index f4406c8..ca46b05 100644 --- a/_sass/_footer.scss +++ b/_sass/_footer.scss @@ -1,33 +1,64 @@ // _footer.scss .footer { - background-color: $footerBgColor; // Variable from _variables.scss - color: $footerTextColor; - padding: 2rem 0; - - .footer-links { - a { - color: $footerLinkColor; - &:hover { - color: darken($footerLinkColor, 15%); - } + background-color: $footerBgColor; // Variable from _variables.scss + color: $footerTextColor; + padding: 2rem; + font-size: 0.9rem; + + .footer-container { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + + @media (max-width: $breakpoint-md) { + flex-direction: column; + align-items: flex-start; } + } + + .footer-links { + list-style: none; + padding: 0; - // List styles, if footer links are in list format li { - margin-bottom: 0.5rem; + margin-bottom: 0.5rem; + + a { + color: $footerLinkColor; + text-decoration: none; + + &:hover { + color: darken($footerLinkColor, 10%); + text-decoration: underline; + } + } } - } + } + + .social-links { + display: flex; + align-items: center; - // Additional styling for other footer elements - .social-links { i { - color: #fff; - margin-right: 10px; + color: $footerTextColor; + margin-right: 15px; + font-size: 1.2rem; + + &:hover { + color: $primaryColor; // From _variables.scss + } + } + } + + .footer-credits { + margin-top: 1rem; + text-align: center; + width: 100%; - &:hover { - color: $primaryColor; // From _variables.scss - } + p { + margin-bottom: 0; } - } } +} diff --git a/_sass/_header.scss b/_sass/_header.scss index 904bfa6..f61a87d 100644 --- a/_sass/_header.scss +++ b/_sass/_header.scss @@ -1,19 +1,42 @@ // _header.scss .header { - background-color: $headerBgColor; // Variable from _variables.scss - padding: 1rem 0; + background-color: $headerBgColor; // Variable from _variables.scss + padding: 1rem 0; + border-bottom: 1px solid $lightGray; // Adds a bottom border to the header - .branding { + .branding { a { - color: $headerTextColor; - font-size: 1.5rem; - font-weight: bold; - text-decoration: none; + color: $headerTextColor; + font-size: 1.5rem; + font-weight: bold; + text-decoration: none; + + &:hover { + color: darken($headerTextColor, 10%); + } } - } + } + + .navigation { + display: flex; + justify-content: flex-end; // Aligns navigation items to the right + list-style: none; // Removes list styling + margin: 0; // Removes default margin - .navigation { - // Navigation styles... - } + li { + margin-left: 20px; // Spacing between navigation items + + a { + color: $textColor; + text-decoration: none; + font-weight: normal; + + &:hover { + color: $primaryColor; + text-decoration: underline; + } + } + } } +} diff --git a/_sass/_mixins.scss b/_sass/_mixins.scss index 8a2e597..60499ce 100644 --- a/_sass/_mixins.scss +++ b/_sass/_mixins.scss @@ -1,7 +1,5 @@ // _mixins.scss -// _mixins.scss - // Mixin for Flexbox Centering @mixin flex-center { display: flex; @@ -30,17 +28,38 @@ } } +// Mixin for Box Shadow @mixin box-shadow($shadow) { -webkit-box-shadow: $shadow; -moz-box-shadow: $shadow; box-shadow: $shadow; } - @mixin transition($property, $duration, $timing-function) { - -webkit-transition: $property $duration $timing-function; - -moz-transition: $property $duration $timing-function; - -o-transition: $property $duration $timing-function; - transition: $property $duration $timing-function; - } +// Mixin for CSS Transitions +@mixin transition($property, $duration, $timing-function) { + -webkit-transition: $property $duration $timing-function; + -moz-transition: $property $duration $timing-function; + -o-transition: $property $duration $timing-function; + transition: $property $duration $timing-function; +} + +// Mixin for Border Radius +@mixin border-radius($radius) { + -webkit-border-radius: $radius; + -moz-border-radius: $radius; + border-radius: $radius; +} + +// Mixin for Text Truncate +@mixin text-truncate { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +// Mixin for Background Gradient +@mixin background-gradient($startColor, $endColor) { + background: linear-gradient(to right, $startColor, $endColor); +} - // More mixins as needed... +// More mixins as needed... diff --git a/_sass/_responsive.scss b/_sass/_responsive.scss index e69de29..4bfa528 100644 --- a/_sass/_responsive.scss +++ b/_sass/_responsive.scss @@ -0,0 +1,33 @@ +// _responsive.scss + +// Small devices (landscape phones, less than 768px) +@media (max-width: $breakpoint-sm) { + .navbar { + // Custom styles for mobile nav + } + + .hero-section { + padding: 2rem 1rem; + } + } + + // Medium devices (tablets, 768px and up) + @media (min-width: $breakpoint-md) { + .sidebar { + // Styles for sidebar on tablet + } + } + + // Large devices (desktops, 992px and up) + @media (min-width: $breakpoint-lg) { + .gallery-item { + // Styles for gallery items on desktop + } + } + + // Extra large devices (large desktops, 1200px and up) + @media (min-width: $breakpoint-xl) { + .container { + max-width: 1140px; + } + } diff --git a/_sass/_sidebar.scss b/_sass/_sidebar.scss index 90c05d8..30ddaa3 100644 --- a/_sass/_sidebar.scss +++ b/_sass/_sidebar.scss @@ -1,54 +1,254 @@ // _sidebar.scss .sidebar { - background-color: $sidebarBgColor; - padding: 1rem; - margin-top: 1rem; + background-color: $sidebarBgColor; + padding: 1rem; + margin-top: 1rem; + border-radius: $border-radius; - // Search box styling - .search { - margin-bottom: 2rem; - input[type="text"] { - width: 100%; - padding: 0.5rem; - border: 1px solid $lightGray; - border-radius: 4px; + // Search box styling + .search { + margin-bottom: 2rem; + + input[type="text"] { + width: 100%; + padding: 0.5rem; + border: 1px solid $lightGray; + border-radius: $border-radius; + box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1); + + &:focus { + outline: none; + border-color: $primaryColor; } } + } - // Recent posts styling - .recent-posts { - h3 { - margin-bottom: 1rem; + // Section Titles + h3 { + color: $darkColor; + font-weight: bold; + margin-bottom: 1rem; + } + + // Recent posts styling + .recent-posts { + h3 { + margin-bottom: 1rem; + } + ul { + list-style: none; + padding: 0; + li { + margin-bottom: 0.5rem; + a { + text-decoration: none; + color: $textColor; + + &:hover { + text-decoration: underline; + color: $primaryColor; + } + } } - ul { - list-style: none; - padding: 0; - li { - margin-bottom: 0.5rem; - a { - text-decoration: none; - &:hover { - text-decoration: underline; - } + } + } + + // Categories and tags styling + .categories, + .tags { + ul { + list-style-type: none; + padding: 0; + + li { + margin-bottom: 0.5rem; + + a { + text-decoration: none; + color: $linkColor; + + &:hover { + color: $linkHoverColor; } } } } + } - // Categories and tags styling - .categories, .tags { - ul { - list-style-type: none; - padding: 0; + // Advertisement styling + .ads { + margin-top: 2rem; + padding: 1rem; + background-color: $lightColor; + border: 1px solid $lightGray; + border-radius: $border-radius; + text-align: center; + + // Placeholder for ad content or images + } + + // Newsletter Signup Form + .newsletter-signup { + padding: 1rem; + background-color: $lightColor; + border: 1px solid $lightGray; + border-radius: $border-radius; + margin-top: 2rem; + text-align: center; + + h4 { + margin-bottom: 1rem; + color: $darkColor; + } + + form { + display: flex; + flex-direction: column; + align-items: stretch; + + input[type="email"] { + padding: 0.5rem; + margin-bottom: 1rem; + border: 1px solid $lightGray; + border-radius: $border-radius; + + &:focus { + border-color: $primaryColor; + outline: none; + } + } + + button { + padding: 0.5rem; + border: none; + border-radius: $border-radius; + background-color: $primaryColor; + color: white; + cursor: pointer; + + &:hover { + background-color: darken($primaryColor, 10%); + } + } + } + } + + // Tag Cloud + .tag-cloud { + margin-top: 2rem; + + h4 { + margin-bottom: 1rem; + } + + .tag { + display: inline-block; + background-color: $lightGray; + color: $darkColor; + padding: 0.25rem 0.5rem; + margin: 0.25rem; + font-size: 0.9rem; + border-radius: $border-radius; + text-decoration: none; + + &:hover { + background-color: $primaryColor; + color: white; + } + } + } + + // Social Media Links + .social-media { + margin-top: 2rem; + display: flex; + justify-content: center; + + a { + margin: 0 0.5rem; + color: $darkColor; + font-size: 1.5rem; + + &:hover { + color: $primaryColor; } } + } + // Featured Content + .featured-content { + margin-top: 2rem; + padding: 1rem; + background-color: $lightColor; + border: 1px solid $lightGray; + border-radius: $border-radius; + + .featured-item { + margin-bottom: 1rem; + + h5 { + margin-bottom: 0.5rem; + } - // Advertisement styling - .ads { + p { + margin-bottom: 0; + font-size: $smallFontSize; + } + } + } + + // Archives List + .archives-list { margin-top: 2rem; - // Style for ad content + + h4 { + margin-bottom: 1rem; + } + + ul { + list-style: none; + padding: 0; + + li { + margin-bottom: 0.5rem; + + a { + text-decoration: none; + color: $textColor; + + &:hover { + text-decoration: underline; + } + } + } + } + } + + // Custom Widget Area + .custom-widget { + margin-top: 2rem; + padding: 1rem; + background: $secondaryColor; + color: $lightColor; + border-radius: $border-radius; + text-align: center; + + p { + margin-bottom: 1rem; } - // More sidebar-specific styles... + // Example for a button or link in the widget + a.button { + background-color: $primaryColor; + color: white; + padding: 0.5rem 1rem; + text-decoration: none; + border-radius: $border-radius; + + &:hover { + background-color: darken($primaryColor, 10%); + } + } } + // More sidebar-specific styles... +} diff --git a/_sass/_variables.scss b/_sass/_variables.scss index 270152a..cd299cf 100644 --- a/_sass/_variables.scss +++ b/_sass/_variables.scss @@ -54,5 +54,4 @@ $container-md: 720px; $container-lg: 960px; $container-xl: 1140px; - // More variables as needed... diff --git a/_sass/main.scss b/_sass/main.scss deleted file mode 100644 index 42af507..0000000 --- a/_sass/main.scss +++ /dev/null @@ -1,32 +0,0 @@ -// main.scss - -// Variables and Mixins -@import "variables"; -@import "mixins"; - -// Base styles -body { - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 1.5; - color: $textColor; // Variable defined in _variables.scss - background-color: $backgroundColor; // Variable defined in _variables.scss -} - -a { - color: $primaryColor; // Variable defined in _variables.scss - &:hover { - color: darken($primaryColor, 10%); - } -} - -// Custom components -@import "header"; -@import "footer"; -@import "sidebar"; - -// Responsive styles -@import "responsive"; - -// Bootstrap overrides (if needed) -@import "bootstrap-overrides"; diff --git a/assets/css/custom.css b/assets/css/custom.css deleted file mode 100644 index 0fd1885..0000000 --- a/assets/css/custom.css +++ /dev/null @@ -1,38 +0,0 @@ -.custom-page { - /* Styles for the custom page */ -} - -.custom-header { - background-size: cover; - text-align: center; - color: white; - padding: 50px 0; -} - -.header-content h1 { - font-size: 2.5em; -} - -.intro-section { - padding: 20px; - background-color: #f8f8f8; -} - -.featured-sections { - padding: 20px 0; -} - -.featured-section { - margin-bottom: 20px; -} - -.testimonials { - background-color: #e9ecef; - padding: 20px; -} - -.testimonials blockquote { - font-style: italic; -} - -/* Additional styles as needed */ diff --git a/assets/css/main.css b/assets/css/main.css deleted file mode 100644 index 9f41894..0000000 --- a/assets/css/main.css +++ /dev/null @@ -1,4 +0,0 @@ ---- ---- - -@import "main"; diff --git a/assets/css/main.scss b/assets/css/main.scss new file mode 100644 index 0000000..26ad05f --- /dev/null +++ b/assets/css/main.scss @@ -0,0 +1,11 @@ +--- +--- + +@import "base"; +@import "bootstrap-overrides"; +@import "footer"; +@import "header"; +@import "mixins"; +@import "responsive"; +@import "sidebar"; +@import "variables"; diff --git a/assets/css/style.css b/assets/css/style.css deleted file mode 100644 index e69de29..0000000 diff --git a/assets/js/main.js b/assets/js/main.js index 8f561cc..dc763d9 100644 --- a/assets/js/main.js +++ b/assets/js/main.js @@ -29,12 +29,14 @@ document.addEventListener('DOMContentLoaded', function() { item.addEventListener('click', function() { var src = this.getAttribute('data-src'); var lightboxImage = document.getElementById('lightbox-image'); - if (lightboxImage) { + var lightboxContainer = document.getElementById('lightbox-container'); + if (lightboxImage && lightboxContainer) { lightboxImage.src = src; - // Code to show lightbox + lightboxContainer.style.display = 'block'; // Show the lightbox } }); }); + // Initializing Bootstrap Tooltips if (window.bootstrap && bootstrap.Tooltip) { var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]')); @@ -63,9 +65,14 @@ document.addEventListener('DOMContentLoaded', function() { var loadMoreButton = document.getElementById('load-more'); if (loadMoreButton) { loadMoreButton.addEventListener('click', function() { - // Example: Ajax call to load more content - // Fetch more data and append it to the DOM - console.log('Load more content here...'); + // Example: Fetch more data using Ajax and append it to the DOM + fetch('path/to/more/content').then(function(response) { + return response.text(); + }).then(function(html) { + document.getElementById('content-container').innerHTML += html; + }).catch(function(err) { + console.warn('Something went wrong.', err); + }); }); } @@ -74,11 +81,11 @@ document.addEventListener('DOMContentLoaded', function() { if (myCarousel) { myCarousel.addEventListener('slide.bs.carousel', function (e) { console.log('Carousel slide event!'); + console.log('Carousel is sliding to ' + e.to); // Additional carousel handling code }); } - // Form Validation before Submit var form = document.getElementById('contact-form'); if (form) { @@ -97,6 +104,9 @@ document.addEventListener('DOMContentLoaded', function() { loadScriptButton.addEventListener('click', function() { var script = document.createElement('script'); script.src = 'path/to/your/dynamic/script.js'; + script.onload = function() { + console.log('Script loaded and ready'); + }; document.head.appendChild(script); }); } @@ -106,6 +116,7 @@ document.addEventListener('DOMContentLoaded', function() { if (darkModeToggle) { darkModeToggle.addEventListener('click', function() { document.body.classList.toggle('dark-mode'); + localStorage.setItem('darkMode', document.body.classList.contains('dark-mode')); // Save preference in local storage or handle theme switching logic }); } @@ -147,21 +158,81 @@ document.addEventListener('DOMContentLoaded', function() { if (loadOnScrollElement && window.scrollY + window.innerHeight >= loadOnScrollElement.offsetTop) { // Load content dynamically or display additional content console.log('Load dynamic content here'); + // Example: Similar to 'load more' functionality + } + }); + + // // Tooltips Initialization (If Bootstrap is not used) + // // If you are not using Bootstrap, you can initialize tooltips manually + // const tooltips = document.querySelectorAll('.tooltip'); + // tooltips.forEach(tooltip => { + // tooltip.addEventListener('mouseover', function() { + // const tooltipText = this.getAttribute('data-tooltip'); + // // Show tooltip logic + // }); + // tooltip.addEventListener('mouseout', function() { + // // Hide tooltip logic + // }); + // }); + + // Sticky Navigation on Scroll + const header = document.querySelector('.site-header'); + window.addEventListener('scroll', () => { + if(window.scrollY > 100) { + header.classList.add('sticky'); + } else { + header.classList.remove('sticky'); } }); - // Tooltips Initialization (If Bootstrap is not used) - // If you are not using Bootstrap, you can initialize tooltips manually - const tooltips = document.querySelectorAll('.tooltip'); - tooltips.forEach(tooltip => { - tooltip.addEventListener('mouseover', function() { - // Show tooltip logic + // Back to Top Button + const backToTopButton = document.querySelector('#back-to-top'); + window.addEventListener('scroll', () => { + if (window.scrollY > 300) { + backToTopButton.style.display = 'block'; + } else { + backToTopButton.style.display = 'none'; + } + }); + backToTopButton.addEventListener('click', () => { + window.scrollTo({ top: 0, behavior: 'smooth' }); + }); + + // Toggle Class for Elements on Click + document.querySelectorAll('.toggle-class-trigger').forEach(trigger => { + trigger.addEventListener('click', () => { + document.querySelector(trigger.getAttribute('data-target')).classList.toggle('active'); }); - tooltip.addEventListener('mouseout', function() { - // Hide tooltip logic + }); + + // Lazy Loading Images + if ('IntersectionObserver' in window) { + const imageObserver = new IntersectionObserver((entries, imgObserver) => { + entries.forEach(entry => { + if (entry.isIntersecting) { + const lazyImage = entry.target; + lazyImage.src = lazyImage.dataset.src; + imgObserver.unobserve(lazyImage); + } + }); + }); + + document.querySelectorAll('img.lazy').forEach(img => { + imageObserver.observe(img); + }); + } + + // Accordion Functionality + document.querySelectorAll('.accordion-item').forEach(item => { + item.querySelector('.accordion-header').addEventListener('click', () => { + item.classList.toggle('open'); + const panel = item.querySelector('.accordion-panel'); + if (panel.style.maxHeight) { + panel.style.maxHeight = null; + } else { + panel.style.maxHeight = panel.scrollHeight + 'px'; + } }); }); - // More custom JavaScript code - // ... }); diff --git a/index.html b/index.html index 4acb212..b8dcd58 100644 --- a/index.html +++ b/index.html @@ -8,20 +8,34 @@
+
-

Welcome to Our Awesome Site

-

This is a brief introduction or tagline for the site.

+

Welcome to Visionary Code Works

+

Leading the way in innovative digital solutions.

+
-

Features

+

Our Services

- +
+

Web Development

+

Creating modern, responsive, and effective websites.

+
+
+

UI/UX Design

+

Designing intuitive and user-friendly interfaces.

+
+
+

Digital Marketing

+

Strategies that elevate your brand's online presence.

+
+
-

Recent Blog Posts

+

From Our Blog

    {% for post in site.posts limit:3 %}
  • @@ -32,6 +46,23 @@

    Recent Blog Posts

View all posts
+ + +
+

Client Testimonials

+
+
"Visionary Code Works helped us transform our online presence with their innovative solutions."
+ - Happy Client +
+ +
+ + +
+

Start Your Project with Us

+

Contact us today to discuss how we can help bring your vision to life.

+ Contact Us +