diff --git a/_includes/home-hub.html b/_includes/home-hub.html
index 11666ce..145cb17 100644
--- a/_includes/home-hub.html
+++ b/_includes/home-hub.html
@@ -1,6 +1,7 @@
{% assign projects = site.prexian.projects | where_exp: "item", "item.home_url != nil" %}
{% assign posts = site.prexian.posts_combined %}
{% assign num_posts = site.prexian.num_posts_combined %}
+{% assign symbol_svg = site.static_files | where: "path", "/assets/hub_symbol.svg" | first %}
{% assign featured_projects = projects | where: "featured", true %}
{% assign num_featured_projects = featured_projects | size %}
@@ -51,8 +52,7 @@
From the Blog
{% assign num_other_projects = other_projects | size %}
{% if num_other_projects > 0 %}
- {% assign relative_symbol_path = "/assets/img/symbol.svg" | relative_path %}
-
+
Other Projects
diff --git a/_layouts/default.html b/_layouts/default.html
index 71e7622..e1927de 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -107,6 +107,7 @@
{% endif %}
+ {% assign symbol_svg = site.static_files | where: "path", "/assets/symbol2.svg" | first %}
{% assign config = site.prexian %}
{% if config.site_type == 'hub' %}
{% include logo.html %}
@@ -116,7 +117,7 @@
{{ site.prexian.title }} is
-
+
{% capture hub_title %}{% include hub/title.html %}{% endcapture %}
{% unless hub_title contains "Liquid error" %}
{% assign title_exists = true %}
diff --git a/assets/hub_symbol.svg b/assets/hub_symbol.svg
new file mode 100644
index 0000000..16161ad
--- /dev/null
+++ b/assets/hub_symbol.svg
@@ -0,0 +1,18 @@
+
diff --git a/assets/projects/dataforge/symbol.svg b/assets/projects/dataforge/symbol.svg
new file mode 100644
index 0000000..5cf2689
--- /dev/null
+++ b/assets/projects/dataforge/symbol.svg
@@ -0,0 +1,30 @@
+
diff --git a/assets/symbol2.svg b/assets/symbol2.svg
new file mode 100644
index 0000000..65fa761
--- /dev/null
+++ b/assets/symbol2.svg
@@ -0,0 +1,26 @@
+
diff --git a/lib/prexian/data_generator.rb b/lib/prexian/data_generator.rb
index d42666d..5e0620f 100644
--- a/lib/prexian/data_generator.rb
+++ b/lib/prexian/data_generator.rb
@@ -179,7 +179,7 @@ def add_project_data_to_items(site, items)
def get_projects(site)
projects = site.collections['projects'].docs.select do |item|
pieces = item.url.split('/')
- pieces.length == 4 && pieces[-1] == 'index' && pieces[1] == 'projects'
+ pieces[1] == 'projects'
end
# Add project name (matches directory name, may differ from title)
diff --git a/spec/fixtures/hub/_posts/2024-02-01-dataforge-v2-release.md b/spec/fixtures/hub/_posts/2024-02-01-dataforge-v2-release.md
new file mode 100644
index 0000000..02c31d3
--- /dev/null
+++ b/spec/fixtures/hub/_posts/2024-02-01-dataforge-v2-release.md
@@ -0,0 +1,94 @@
+---
+layout: post
+title: "DataForge v2.0 Released"
+date: 2024-02-01 09:00:00 +0000
+categories: [release, announcement]
+tags: [v2.0, features, performance]
+author: "DataForge Team"
+---
+
+# DataForge v2.0 Released
+
+We're excited to announce the release of DataForge v2.0, our most significant update yet! This major release brings substantial performance improvements, new features, and enhanced developer experience.
+
+## What's New in v2.0
+
+### Performance Improvements
+- **50% faster processing** for large datasets
+- **Reduced memory footprint** by 30%
+- **Optimized streaming** for real-time data processing
+- **Parallel processing** support for multi-core systems
+
+### New Features
+
+#### Enhanced Schema Validation
+- Support for complex nested schemas
+- Custom validation functions
+- Real-time validation feedback
+- Schema inheritance and composition
+
+#### Improved CLI Experience
+- Interactive mode for guided processing
+- Better error messages and debugging
+- Auto-completion for commands
+- Configuration file support
+
+#### Extended Format Support
+- Apache Parquet support
+- Apache Avro integration
+- Protocol Buffers compatibility
+- Custom format plugins
+
+### Developer Experience
+
+#### Better Documentation
+- Comprehensive API reference
+- Step-by-step tutorials
+- Real-world examples
+- Video guides
+
+#### Enhanced Testing
+- Built-in test framework
+- Schema testing utilities
+- Performance benchmarking tools
+- Mock data generators
+
+## Migration Guide
+
+Upgrading from v1.x to v2.0 is straightforward:
+
+```bash
+# Update your installation
+gem update dataforge-cli
+
+# Check compatibility
+dataforge migrate --check
+
+# Run migration if needed
+dataforge migrate --from v1 --to v2
+```
+
+## Breaking Changes
+
+- Configuration file format has been updated
+- Some CLI flags have been renamed for consistency
+- Legacy format plugins need to be updated
+
+See our [migration guide](https://docs.dataforge.example.com/migration/v2) for detailed information.
+
+## Get Started
+
+Download DataForge v2.0 today and experience the next generation of data processing tools!
+
+```bash
+gem install dataforge-cli
+```
+
+## Community
+
+Join our growing community:
+- [GitHub Discussions](https://github.com/techhub/dataforge/discussions)
+- [Discord Server](https://discord.gg/dataforge)
+- [Stack Overflow](https://stackoverflow.com/questions/tagged/dataforge)
+
+Thank you to all contributors who made this release possible!
diff --git a/spec/integration/project_site_spec.rb b/spec/integration/project_site_spec.rb
index f73b2a9..456b6ac 100644
--- a/spec/integration/project_site_spec.rb
+++ b/spec/integration/project_site_spec.rb
@@ -32,7 +32,7 @@
expect { project_reader.read_content }.not_to raise_error
# Check that hub directory structure is created
- hub_path = File.join(site.source, '_hub-site')
+ hub_path = File.join(site.source)
expect(Dir.exist?(hub_path) || Dir.exist?(File.join(hub_path, 'hub'))).to be_truthy
ensure
FileUtils.rm_rf(cache_dir) if Dir.exist?(cache_dir)