Skip to content

Commit d50a601

Browse files
committed
migrate remaining content
1 parent ac6c3b6 commit d50a601

24 files changed

Lines changed: 1030 additions & 0 deletions

astro-migration/astro.config.mjs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,10 +122,18 @@ export default defineConfig({
122122
label: 'Home',
123123
link: '/',
124124
},
125+
{
126+
label: 'About',
127+
link: '/about',
128+
},
125129
{
126130
label: 'Feed Directory',
127131
link: '/feed-directory/',
128132
},
133+
{
134+
label: 'Creating Custom Feeds',
135+
link: '/html2rss-configs',
136+
},
129137
{
130138
label: 'Web Application',
131139
autogenerate: { directory: 'web-application' },

astro-migration/public/404.html

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>Redirecting...</title>
7+
<style>
8+
body {
9+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
10+
max-width: 600px;
11+
margin: 50px auto;
12+
padding: 20px;
13+
text-align: center;
14+
}
15+
.redirect-message {
16+
background: #f8f9fa;
17+
border: 1px solid #e9ecef;
18+
border-radius: 8px;
19+
padding: 20px;
20+
margin: 20px 0;
21+
}
22+
.spinner {
23+
border: 3px solid #f3f3f3;
24+
border-top: 3px solid #007bff;
25+
border-radius: 50%;
26+
width: 30px;
27+
height: 30px;
28+
animation: spin 1s linear infinite;
29+
margin: 20px auto;
30+
}
31+
@keyframes spin {
32+
0% { transform: rotate(0deg); }
33+
100% { transform: rotate(360deg); }
34+
}
35+
</style>
36+
</head>
37+
<body>
38+
<h1>Page Moved</h1>
39+
<div class="redirect-message">
40+
<p>This page has moved to a new location.</p>
41+
<div class="spinner"></div>
42+
<p>Redirecting you automatically...</p>
43+
<p><small>If you are not redirected automatically, <a href="/" id="fallback-link">click here to go to the homepage</a>.</small></p>
44+
</div>
45+
46+
<script>
47+
// Redirect mapping from Jekyll URLs (with trailing slash) to Astro URLs (without trailing slash)
48+
const redirectMap = {
49+
'/about/': '/about',
50+
'/configs/': '/configs',
51+
'/html2rss-configs/': '/html2rss-configs',
52+
'/get-involved/contributing/': '/get-involved/contributing',
53+
'/get-involved/discussions/': '/get-involved/discussions',
54+
'/get-involved/issues-and-features/': '/get-involved/issues-and-features',
55+
'/get-involved/sponsoring/': '/get-involved/sponsoring',
56+
'/ruby-gem/how-to/advanced-content-extraction/': '/ruby-gem/how-to/advanced-content-extraction',
57+
'/ruby-gem/how-to/custom-http-requests/': '/ruby-gem/how-to/custom-http-requests',
58+
'/ruby-gem/how-to/dynamic-parameters/': '/ruby-gem/how-to/dynamic-parameters',
59+
'/ruby-gem/how-to/handling-dynamic-content/': '/ruby-gem/how-to/handling-dynamic-content',
60+
'/ruby-gem/how-to/managing-feed-configs/': '/ruby-gem/how-to/managing-feed-configs',
61+
'/ruby-gem/how-to/scraping-json/': '/ruby-gem/how-to/scraping-json',
62+
'/ruby-gem/how-to/styling-rss-feed/': '/ruby-gem/how-to/styling-rss-feed',
63+
'/ruby-gem/reference/auto-source/': '/ruby-gem/reference/auto-source',
64+
'/ruby-gem/reference/channel/': '/ruby-gem/reference/channel',
65+
'/ruby-gem/reference/cli-reference/': '/ruby-gem/reference/cli-reference',
66+
'/ruby-gem/reference/headers/': '/ruby-gem/reference/headers',
67+
'/ruby-gem/reference/strategy/': '/ruby-gem/reference/strategy',
68+
'/ruby-gem/reference/stylesheets/': '/ruby-gem/reference/stylesheets',
69+
'/web-application/reference/versioning-and-releases/': '/web-application/reference/versioning-and-releases'
70+
};
71+
72+
// Get the current path
73+
const currentPath = window.location.pathname;
74+
75+
// Check if we have a specific redirect for this path
76+
if (redirectMap[currentPath]) {
77+
// Redirect to the new URL
78+
window.location.replace(redirectMap[currentPath]);
79+
} else if (currentPath.endsWith('/') && currentPath !== '/') {
80+
// Generic redirect: remove trailing slash
81+
const newPath = currentPath.slice(0, -1);
82+
window.location.replace(newPath);
83+
} else {
84+
// No redirect found, go to homepage
85+
document.getElementById('fallback-link').href = '/';
86+
document.querySelector('.redirect-message p').textContent = 'This page could not be found.';
87+
document.querySelector('.redirect-message p:nth-child(2)').textContent = 'Redirecting you to the homepage...';
88+
setTimeout(() => {
89+
window.location.replace('/');
90+
}, 2000);
91+
}
92+
</script>
93+
</body>
94+
</html>

astro-migration/public/_redirects

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Redirects from Jekyll URLs (with trailing slash) to Astro URLs (without trailing slash)
2+
3+
# Root pages
4+
/about/ /about 301
5+
/configs/ /configs 301
6+
/html2rss-configs/ /html2rss-configs 301
7+
8+
# Get Involved pages
9+
/get-involved/contributing/ /get-involved/contributing 301
10+
/get-involved/discussions/ /get-involved/discussions 301
11+
/get-involved/issues-and-features/ /get-involved/issues-and-features 301
12+
/get-involved/sponsoring/ /get-involved/sponsoring 301
13+
14+
# Ruby Gem How-To pages
15+
/ruby-gem/how-to/advanced-content-extraction/ /ruby-gem/how-to/advanced-content-extraction 301
16+
/ruby-gem/how-to/custom-http-requests/ /ruby-gem/how-to/custom-http-requests 301
17+
/ruby-gem/how-to/dynamic-parameters/ /ruby-gem/how-to/dynamic-parameters 301
18+
/ruby-gem/how-to/handling-dynamic-content/ /ruby-gem/how-to/handling-dynamic-content 301
19+
/ruby-gem/how-to/managing-feed-configs/ /ruby-gem/how-to/managing-feed-configs 301
20+
/ruby-gem/how-to/scraping-json/ /ruby-gem/how-to/scraping-json 301
21+
/ruby-gem/how-to/styling-rss-feed/ /ruby-gem/how-to/styling-rss-feed 301
22+
23+
# Ruby Gem Reference pages
24+
/ruby-gem/reference/auto-source/ /ruby-gem/reference/auto-source 301
25+
/ruby-gem/reference/channel/ /ruby-gem/reference/channel 301
26+
/ruby-gem/reference/cli-reference/ /ruby-gem/reference/cli-reference 301
27+
/ruby-gem/reference/headers/ /ruby-gem/reference/headers 301
28+
/ruby-gem/reference/strategy/ /ruby-gem/reference/strategy 301
29+
/ruby-gem/reference/stylesheets/ /ruby-gem/reference/stylesheets 301
30+
31+
# Web Application pages
32+
/web-application/reference/versioning-and-releases/ /web-application/reference/versioning-and-releases 301
33+
34+
# Catch-all for any other trailing slash URLs
35+
/*/ /:splat 301
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
---
2+
title: About html2rss
3+
description: Learn about html2rss, our mission, principles, and the team behind this open-source project.
4+
---
5+
6+
# About html2rss
7+
8+
`html2rss` is an open-source project dedicated to empowering you to take control of your web content. In an age where traditional RSS feeds are often missing, `html2rss` provides a robust and flexible solution to convert almost any HTML content into a structured RSS format.
9+
10+
Started in 2018, the project has evolved into a comprehensive suite of tools designed to help you create and consume RSS feeds effortlessly.
11+
12+
---
13+
14+
## Our Vision and Principles
15+
16+
Our mission is to provide a simple, powerful, and accessible tool that enables individuals and developers to create custom RSS feeds from any web page. We believe in the power of open standards and the freedom to access information on your own terms.
17+
18+
Our project is guided by these core principles:
19+
20+
- **User Empowerment:** Giving you the tools to customize your web experience.
21+
- **Simplicity & Power:** Offering an easy-to-use interface with powerful underlying capabilities.
22+
- **Open Source:** Fostering a collaborative environment where the community can contribute and improve the project.
23+
- **Reliability:** Striving for a stable and dependable tool that consistently delivers.
24+
25+
For insights into our ongoing development, project roadmap, and how you can get involved, please visit our [Get Involved](/get-involved/) page.
26+
27+
---
28+
29+
### The Team
30+
31+
`html2rss` is maintained by a dedicated group of volunteers and contributors from around the world. We are passionate about open source and committed to continuously improving the project.
32+
33+
Want to join us? Check out our [Contributing Guide](/get-involved/contributing/)!
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
title: Configs
3+
description: Redirect to feed directory
4+
---
5+
6+
# Configs
7+
8+
This page has moved to the [Feed Directory](/feed-directory/).
9+
10+
If you are not redirected automatically, [click here to go to the feed directory](/feed-directory/).
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: Contributing
3+
description: Learn how to contribute to the html2rss project
4+
---
5+
6+
# Contributing to html2rss
7+
8+
We're thrilled that you're interested in contributing to `html2rss`! There are many ways to get involved, and we welcome contributions of all kinds.
9+
10+
---
11+
12+
## Code of Conduct
13+
14+
Before you begin, please read our [Code of Conduct](https://github.com/html2rss/.github/blob/main/CODE_OF_CONDUCT.md). We expect all contributors to adhere to this code to ensure that our community is a welcoming and inclusive space for everyone.
15+
16+
---
17+
18+
## How to Contribute
19+
20+
Here are some of the ways you can contribute to the `html2rss` project:
21+
22+
### 1. Create a Feed Config
23+
24+
Are you missing an RSS feed for a website? You can create your own feed config and share it with the community. It's a great way to get started with `html2rss` and help other users.
25+
26+
The html2rss "ecosystem" is a community project. We welcome contributions of all kinds. This includes new feed configs, suggesting and implementing features, providing bug fixes, documentation improvements, and any other kind of help.
27+
28+
Which way you choose to add a new feed config is up to you. You can do it manually. Please [submit a pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request-from-a-fork)!
29+
30+
After you're done, you can test your feed config by running `bundle exec html2rss feed lib/html2rss/configs/<domainname.tld>/<path>.yml`.
31+
32+
#### Preferred way: manually
33+
34+
1. Fork the `html2rss-config` git repository and run `bundle install` (you need to have Ruby >= 3.3 installed).
35+
2. Create a new folder and file following this convention: `lib/html2rss/configs/<domainname.tld>/<path>.yml`
36+
3. Create the feed config in the `<path>.yml` file.
37+
4. Add this spec file in the `spec/html2rss/configs/<domainname.tld>/<path>_spec.rb` file.
38+
39+
```ruby
40+
RSpec.describe '<domainname.tld>/<path>' do
41+
include_examples 'config.yml', described_class
42+
end
43+
```
44+
45+
### 2. Improve this Website
46+
47+
This website is built with Astro and Starlight and is hosted on GitHub Pages. If you have any ideas for improving the documentation or the design, we'd love to hear from you.
48+
49+
[**Find the source code on GitHub**](https://github.com/html2rss/html2rss.github.io)
50+
51+
### 3. Host a Public Instance
52+
53+
The [`html2rss-web`](https://github.com/html2rss/html2rss-web) project is a web application that allows you to create and manage your RSS feeds through a user-friendly interface. You can host your own public instance to help other users create feeds.
54+
55+
[**Learn how to host a public instance**](/web-application/how-to/deployment)
56+
57+
### 4. Improve the `html2rss` Gem
58+
59+
Are you a Ruby developer? You can help us improve the core `html2rss` gem. Whether you're fixing a bug, adding a new feature, or improving the documentation, your contributions are welcome.
60+
61+
[**Check out the documentation for the `html2rss` Gem**](/ruby-gem/)
62+
63+
### 5. Report Bugs & Discuss Features
64+
65+
If you've found a bug, please open an issue on the appropriate GitHub repository. For new feature ideas, we encourage you to start a discussion first.
66+
67+
**Report Bugs:**
68+
69+
- [**`html2rss` issues**](https://github.com/html2rss/html2rss/issues)
70+
- [**`html2rss-web` issues**](https://github.com/html2rss/html2rss-web/issues)
71+
- [**`html2rss-configs` issues**](https://github.com/html2rss/html2rss-configs/issues)
72+
73+
**Discuss Features:**
74+
75+
- [**Start a New Discussion on GitHub**](https://github.com/orgs/html2rss/discussions)
76+
77+
---
78+
79+
We appreciate your interest in contributing to `html2rss`!
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
title: Join Community Discussions
3+
description: Connect with the html2rss community through GitHub discussions
4+
---
5+
6+
# Join Community Discussions
7+
8+
Connect with other users and contributors by joining our community discussions on GitHub. This is a vibrant space for general questions, sharing tips, discussing ideas, and getting feedback from the community.
9+
10+
[**💬 Join Discussions on GitHub**](https://github.com/orgs/html2rss/discussions)
11+
12+
We encourage you to participate, ask questions, and share your insights!
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
title: Report Bugs & Discuss Features
3+
description: Learn how to report bugs and suggest new features for html2rss
4+
---
5+
6+
# Report Bugs & Discuss Features
7+
8+
We appreciate your help in improving `html2rss`! Please follow these guidelines when reporting issues or suggesting new features.
9+
10+
---
11+
12+
### Reporting Bugs
13+
14+
If you've found a bug, please open an issue on the appropriate GitHub repository. This helps us track and resolve problems efficiently.
15+
16+
[**➡️ Open an Issue on GitHub**](https://github.com/html2rss/html2rss/issues)
17+
18+
When opening a bug report, please provide as much detail as possible, including:
19+
20+
- The `html2rss` version you are using.
21+
- Your operating system.
22+
- Your configuration file (if applicable).
23+
- The target URL you are trying to scrape.
24+
- Any error messages you receive.
25+
- Steps to reproduce the issue.
26+
27+
---
28+
29+
### Discussing New Features
30+
31+
For new feature ideas or enhancements, we encourage you to start a discussion on GitHub Discussions first. This allows for community input, refinement of the idea, and helps us prioritize development.
32+
33+
[**💬 Start a New Discussion on GitHub**](https://github.com/orgs/html2rss/discussions)
34+
35+
If the discussion leads to a concrete proposal, a formal feature request issue can then be opened.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
title: Sponsoring
3+
description: Support the html2rss project through sponsorship
4+
---
5+
6+
# Sponsoring html2rss
7+
8+
`html2rss` is an open-source project, and its development is made possible by the support of our community. If you find `html2rss` useful, please consider sponsoring the project.
9+
10+
## Why Sponsor?
11+
12+
- **Ensure the project's longevity:** Your sponsorship helps to ensure that the project remains actively maintained and developed.
13+
- **Support new features:** Your contribution will help to fund the development of new features and improvements.
14+
- **Show your appreciation:** Sponsoring is a great way to show your appreciation for the project and the work that goes into it.
15+
16+
## How to Sponsor
17+
18+
You can sponsor the project through [GitHub Sponsors](https://github.com/sponsors/gildesmarais).

0 commit comments

Comments
 (0)