diff --git a/src/docs/docusaurus.config.js b/src/docs/docusaurus.config.js index 3b6a0e2dab..d241619322 100644 --- a/src/docs/docusaurus.config.js +++ b/src/docs/docusaurus.config.js @@ -34,6 +34,18 @@ const config = { }), ], ], + i18n: { + defaultLocale: 'en', + locales: ['en', 'fr', 'vi', 'ru', 'uk', 'es', 'zh-cn'], + localeConfigs: { + en: { + htmlLang: 'en-CA', + }, + fr: { + htmlLang: 'fr-fr', + }, + }, + }, themeConfig: /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ @@ -56,6 +68,10 @@ const config = { label: 'GitHub', position: 'right', }, + { + type: 'localeDropdown', + position: 'right', + }, ], }, footer: { diff --git a/src/docs/i18n/es/docusaurus-plugin-content-docs/current/overview.md b/src/docs/i18n/es/docusaurus-plugin-content-docs/current/overview.md new file mode 100644 index 0000000000..956f64483e --- /dev/null +++ b/src/docs/i18n/es/docusaurus-plugin-content-docs/current/overview.md @@ -0,0 +1,120 @@ +--- +sidebar_position: 1 +--- + +# Visión general del Telescope + +## Introduction + +One of the key features of Seneca's open source involvement has been the +emphasis on sharing what we're working on, teaching, and learning through blogging. +We believe that one of the most rewarding parts of learning to work in the +open source community is discovering that one can become part of the fabric +of the web, find a voice, and build a following. + +We also believe that reading each other's blog posts is important. In the blog +posts of our colleagues, we find that we are not alone in our struggles to make +things work, our interests in various topics, and that imposter syndrome isn't +something unique to "me." + +To better enable the discovery of blogs within our community, we set up an open +source blog [Planet](): an aggregated +feed of blog posts from Seneca faculty and students working on open source in a +single page. Our blog Planet currently lives at [http://zenit.senecac.on.ca/~chris.tyler/planet/](http://zenit.senecac.on.ca/~chris.tyler/planet/). + +## What is a Planet? + +> Planet is a feed aggregator application designed to collect posts from the weblogs of members of an Internet community and display them on a single page. Planet runs on a web server. It creates pages with entries from the original feeds in chronological order, most recent entries first. --[Wikipedia]() + +In the early 2000s, before the rise of social media apps like Twitter and Facebook, +Planet solved a important problem in the free and open source community. It used +various "feed" technologies (RSS, Atom, CDF) to allow blog posts from different +platforms to be aggregated into a single page that was constantly updated with +the latest posts by people within a particular community. + +[Written in Python by Jeff Waugh and Scott James Remnant](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/), +Planet could be configured with a list of blog feeds and an HTML template. It would +use these to dynamically generate a site with posts in chronological order from +the specified feeds. + +## In Search of a New Planet + +Our current Planet is dying. The [software we use was last updated 13 years ago](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/). +While the underlying code as drifted further into the past, our needs have moved +forward. Maintaining the existing system, especially with the number of students +involved in open source at Seneca, has become too difficult. Our current site +often breaks, and needs manual interventions on a regular basis. Going forward, +we need a new planet to call home. + +As we get ready to enter the year 2020, we have decided it is time to consider moving to +a new system. Unfortunately, almost every system that came to replace Planet has +itself become unmaintained. + +Rather than try to find an existing solution, we have instead decided to try and +create one. Because we need this software, we also feel that we should +create and maintain it. And, since our need for a Planet comes out of our +collective work on open source, we think that creating it _together as open source_ +would be the most desireable path forward. + +## Trying to Define Our Planet + +We have learned a number of things over the past decade running our own planet. +We've also watched as social media and modern technologies have reshaped our +expectations for what a system like this can and should be. This has gone into our design and implementation of our new Telescope project. + +See [Architecture](architecture.md) for a more complete picture of our current design. + +## Project History + +- [Telescope 1.0](https://blog.humphd.org/telescope-1-0-0-or-dave-is-once-again-asking-for-a-blog/) (April 2020) +- [Telescope 2.0](https://blog.humphd.org/telescope-2-0/) (April 2021) +- [Telescope 3.0](https://blog.humphd.org/toward-telescope-3-0/) (in progress, April 2022) + +### 1.0 + +[Telescope 1.0](https://github.com/Seneca-CDOT/telescope/releases/tag/1.0.0) realized many of our initial goals, including: + +- A monolithic node.js backend web server providing REST APIs and GraphQL +- A node.js queue service for parallel feed processing +- Complete UI overhaul and design +- A GatsbyJS frontend web app using Material UI React components +- Initial SAML2 based Single Sign On Authentication +- Docker/Docker Compose based container management +- CI/CD pipelines using CircleCI and Travis CI +- Pull Request previews using Zeit Now +- A Redis database for caching feeds and posts +- An Elasticsearch database for full-text search of posts +- An Nginx reverse proxy and HTTP cache server +- Certbot for managing SSL certificates with Let’s Encrypt +- A node.js based GitHub Webhook Service to automatically manage deployments based on +- GitHub push events and webhooks to automate staging and production builds, as well as green/blue deployment +- Staging () and production () deployments + +### 2.0 + +[Telescope 2.0](https://github.com/Seneca-CDOT/telescope/releases/tag/2.0.0) improved and extended this design: + +- Improved testing infrastructure, including snapshot, end-to-end, and unit testing +- Reworking CI/CD to GitHub Actions +- Improved SEO +- Adding Firebase as a back-end data store for User info +- Improvements to the SAML based Authentication, JWT Authorization, and user Sign-up Flows + Security +- New UI Design, Logo, CSS, and Theming +- Improved Accessibility and User Experience +- Migration of Monolithic back-end to Microservices (90% complete) and API Gateway using Traefik +- Improvements to Elasticsearch and Redis +- Full port of front-end from GatsbyJS to next.js +- TypeScript rewrite of front-end +- Dependency Updates and Maintenance, both manual and automated (Dependabot) +- Bug fixes and Paying-off Technical Debt +- Progressive Web App (PWA) and Mobile UI Support +- Docker improvements +- Automation and Tooling fixes, updates, and improvements +- Improvements to nginx, caching, and certificate management +- Updates to Documentation +- Improved Developer Experience, including fixes for cross-platform differences + +### 3.0 + +In progress. diff --git a/src/docs/i18n/fr/docusaurus-plugin-content-docs/current/overview.md b/src/docs/i18n/fr/docusaurus-plugin-content-docs/current/overview.md new file mode 100644 index 0000000000..3a863e1ce7 --- /dev/null +++ b/src/docs/i18n/fr/docusaurus-plugin-content-docs/current/overview.md @@ -0,0 +1,120 @@ +--- +sidebar_position: 1 +--- + +# Aperçu du Telescope + +## Introduction + +One of the key features of Seneca's open source involvement has been the +emphasis on sharing what we're working on, teaching, and learning through blogging. +We believe that one of the most rewarding parts of learning to work in the +open source community is discovering that one can become part of the fabric +of the web, find a voice, and build a following. + +We also believe that reading each other's blog posts is important. In the blog +posts of our colleagues, we find that we are not alone in our struggles to make +things work, our interests in various topics, and that imposter syndrome isn't +something unique to "me." + +To better enable the discovery of blogs within our community, we set up an open +source blog [Planet](): an aggregated +feed of blog posts from Seneca faculty and students working on open source in a +single page. Our blog Planet currently lives at [http://zenit.senecac.on.ca/~chris.tyler/planet/](http://zenit.senecac.on.ca/~chris.tyler/planet/). + +## Qu'est-ce que Planet? + +> Planet is a feed aggregator application designed to collect posts from the weblogs of members of an Internet community and display them on a single page. Planet runs on a web server. It creates pages with entries from the original feeds in chronological order, most recent entries first. --[Wikipedia]() + +In the early 2000s, before the rise of social media apps like Twitter and Facebook, +Planet solved a important problem in the free and open source community. It used +various "feed" technologies (RSS, Atom, CDF) to allow blog posts from different +platforms to be aggregated into a single page that was constantly updated with +the latest posts by people within a particular community. + +[Written in Python by Jeff Waugh and Scott James Remnant](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/), +Planet could be configured with a list of blog feeds and an HTML template. It would +use these to dynamically generate a site with posts in chronological order from +the specified feeds. + +## À la recherche d'une nouvelle Planet + +Our current Planet is dying. The [software we use was last updated 13 years ago](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/). +While the underlying code as drifted further into the past, our needs have moved +forward. Maintaining the existing system, especially with the number of students +involved in open source at Seneca, has become too difficult. Our current site +often breaks, and needs manual interventions on a regular basis. Going forward, +we need a new planet to call home. + +As we get ready to enter the year 2020, we have decided it is time to consider moving to +a new system. Unfortunately, almost every system that came to replace Planet has +itself become unmaintained. + +Rather than try to find an existing solution, we have instead decided to try and +create one. Because we need this software, we also feel that we should +create and maintain it. And, since our need for a Planet comes out of our +collective work on open source, we think that creating it _together as open source_ +would be the most desireable path forward. + +## Essayer de définir notre Planet + +We have learned a number of things over the past decade running our own planet. +We've also watched as social media and modern technologies have reshaped our +expectations for what a system like this can and should be. This has gone into our design and implementation of our new Telescope project. + +See [Architecture](architecture.md) for a more complete picture of our current design. + +## Historique du projet + +- [Telescope 1.0](https://blog.humphd.org/telescope-1-0-0-or-dave-is-once-again-asking-for-a-blog/) (April 2020) +- [Telescope 2.0](https://blog.humphd.org/telescope-2-0/) (April 2021) +- [Telescope 3.0](https://blog.humphd.org/toward-telescope-3-0/) (in progress, April 2022) + +### 1.0 + +[Telescope 1.0](https://github.com/Seneca-CDOT/telescope/releases/tag/1.0.0) realized many of our initial goals, including: + +- A monolithic node.js backend web server providing REST APIs and GraphQL +- A node.js queue service for parallel feed processing +- Complete UI overhaul and design +- A GatsbyJS frontend web app using Material UI React components +- Initial SAML2 based Single Sign On Authentication +- Docker/Docker Compose based container management +- CI/CD pipelines using CircleCI and Travis CI +- Pull Request previews using Zeit Now +- A Redis database for caching feeds and posts +- An Elasticsearch database for full-text search of posts +- An Nginx reverse proxy and HTTP cache server +- Certbot for managing SSL certificates with Let’s Encrypt +- A node.js based GitHub Webhook Service to automatically manage deployments based on +- GitHub push events and webhooks to automate staging and production builds, as well as green/blue deployment +- Staging () and production () deployments + +### 2.0 + +[Telescope 2.0](https://github.com/Seneca-CDOT/telescope/releases/tag/2.0.0) improved and extended this design: + +- Improved testing infrastructure, including snapshot, end-to-end, and unit testing +- Reworking CI/CD to GitHub Actions +- Improved SEO +- Adding Firebase as a back-end data store for User info +- Improvements to the SAML based Authentication, JWT Authorization, and user Sign-up Flows + Security +- New UI Design, Logo, CSS, and Theming +- Improved Accessibility and User Experience +- Migration of Monolithic back-end to Microservices (90% complete) and API Gateway using Traefik +- Improvements to Elasticsearch and Redis +- Full port of front-end from GatsbyJS to next.js +- TypeScript rewrite of front-end +- Dependency Updates and Maintenance, both manual and automated (Dependabot) +- Bug fixes and Paying-off Technical Debt +- Progressive Web App (PWA) and Mobile UI Support +- Docker improvements +- Automation and Tooling fixes, updates, and improvements +- Improvements to nginx, caching, and certificate management +- Updates to Documentation +- Improved Developer Experience, including fixes for cross-platform differences + +### 3.0 + +In progress. diff --git a/src/docs/i18n/ru/docusaurus-plugin-content-docs/current/overview.md b/src/docs/i18n/ru/docusaurus-plugin-content-docs/current/overview.md new file mode 100644 index 0000000000..62522ed726 --- /dev/null +++ b/src/docs/i18n/ru/docusaurus-plugin-content-docs/current/overview.md @@ -0,0 +1,120 @@ +--- +sidebar_position: 1 +--- + +# Обзор Telescope + +## Introduction + +One of the key features of Seneca's open source involvement has been the +emphasis on sharing what we're working on, teaching, and learning through blogging. +We believe that one of the most rewarding parts of learning to work in the +open source community is discovering that one can become part of the fabric +of the web, find a voice, and build a following. + +We also believe that reading each other's blog posts is important. In the blog +posts of our colleagues, we find that we are not alone in our struggles to make +things work, our interests in various topics, and that imposter syndrome isn't +something unique to "me." + +To better enable the discovery of blogs within our community, we set up an open +source blog [Planet](): an aggregated +feed of blog posts from Seneca faculty and students working on open source in a +single page. Our blog Planet currently lives at [http://zenit.senecac.on.ca/~chris.tyler/planet/](http://zenit.senecac.on.ca/~chris.tyler/planet/). + +## What is a Planet? + +> Planet is a feed aggregator application designed to collect posts from the weblogs of members of an Internet community and display them on a single page. Planet runs on a web server. It creates pages with entries from the original feeds in chronological order, most recent entries first. --[Wikipedia]() + +In the early 2000s, before the rise of social media apps like Twitter and Facebook, +Planet solved a important problem in the free and open source community. It used +various "feed" technologies (RSS, Atom, CDF) to allow blog posts from different +platforms to be aggregated into a single page that was constantly updated with +the latest posts by people within a particular community. + +[Written in Python by Jeff Waugh and Scott James Remnant](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/), +Planet could be configured with a list of blog feeds and an HTML template. It would +use these to dynamically generate a site with posts in chronological order from +the specified feeds. + +## In Search of a New Planet + +Our current Planet is dying. The [software we use was last updated 13 years ago](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/). +While the underlying code as drifted further into the past, our needs have moved +forward. Maintaining the existing system, especially with the number of students +involved in open source at Seneca, has become too difficult. Our current site +often breaks, and needs manual interventions on a regular basis. Going forward, +we need a new planet to call home. + +As we get ready to enter the year 2020, we have decided it is time to consider moving to +a new system. Unfortunately, almost every system that came to replace Planet has +itself become unmaintained. + +Rather than try to find an existing solution, we have instead decided to try and +create one. Because we need this software, we also feel that we should +create and maintain it. And, since our need for a Planet comes out of our +collective work on open source, we think that creating it _together as open source_ +would be the most desireable path forward. + +## Trying to Define Our Planet + +We have learned a number of things over the past decade running our own planet. +We've also watched as social media and modern technologies have reshaped our +expectations for what a system like this can and should be. This has gone into our design and implementation of our new Telescope project. + +See [Architecture](architecture.md) for a more complete picture of our current design. + +## Project History + +- [Telescope 1.0](https://blog.humphd.org/telescope-1-0-0-or-dave-is-once-again-asking-for-a-blog/) (April 2020) +- [Telescope 2.0](https://blog.humphd.org/telescope-2-0/) (April 2021) +- [Telescope 3.0](https://blog.humphd.org/toward-telescope-3-0/) (in progress, April 2022) + +### 1.0 + +[Telescope 1.0](https://github.com/Seneca-CDOT/telescope/releases/tag/1.0.0) realized many of our initial goals, including: + +- A monolithic node.js backend web server providing REST APIs and GraphQL +- A node.js queue service for parallel feed processing +- Complete UI overhaul and design +- A GatsbyJS frontend web app using Material UI React components +- Initial SAML2 based Single Sign On Authentication +- Docker/Docker Compose based container management +- CI/CD pipelines using CircleCI and Travis CI +- Pull Request previews using Zeit Now +- A Redis database for caching feeds and posts +- An Elasticsearch database for full-text search of posts +- An Nginx reverse proxy and HTTP cache server +- Certbot for managing SSL certificates with Let’s Encrypt +- A node.js based GitHub Webhook Service to automatically manage deployments based on +- GitHub push events and webhooks to automate staging and production builds, as well as green/blue deployment +- Staging () and production () deployments + +### 2.0 + +[Telescope 2.0](https://github.com/Seneca-CDOT/telescope/releases/tag/2.0.0) improved and extended this design: + +- Improved testing infrastructure, including snapshot, end-to-end, and unit testing +- Reworking CI/CD to GitHub Actions +- Improved SEO +- Adding Firebase as a back-end data store for User info +- Improvements to the SAML based Authentication, JWT Authorization, and user Sign-up Flows + Security +- New UI Design, Logo, CSS, and Theming +- Improved Accessibility and User Experience +- Migration of Monolithic back-end to Microservices (90% complete) and API Gateway using Traefik +- Improvements to Elasticsearch and Redis +- Full port of front-end from GatsbyJS to next.js +- TypeScript rewrite of front-end +- Dependency Updates and Maintenance, both manual and automated (Dependabot) +- Bug fixes and Paying-off Technical Debt +- Progressive Web App (PWA) and Mobile UI Support +- Docker improvements +- Automation and Tooling fixes, updates, and improvements +- Improvements to nginx, caching, and certificate management +- Updates to Documentation +- Improved Developer Experience, including fixes for cross-platform differences + +### 3.0 + +In progress. diff --git a/src/docs/i18n/uk/docusaurus-plugin-content-docs/current/overview.md b/src/docs/i18n/uk/docusaurus-plugin-content-docs/current/overview.md new file mode 100644 index 0000000000..770e9d6c12 --- /dev/null +++ b/src/docs/i18n/uk/docusaurus-plugin-content-docs/current/overview.md @@ -0,0 +1,120 @@ +--- +sidebar_position: 1 +--- + +# Огляд Telescope + +## Introduction + +One of the key features of Seneca's open source involvement has been the +emphasis on sharing what we're working on, teaching, and learning through blogging. +We believe that one of the most rewarding parts of learning to work in the +open source community is discovering that one can become part of the fabric +of the web, find a voice, and build a following. + +We also believe that reading each other's blog posts is important. In the blog +posts of our colleagues, we find that we are not alone in our struggles to make +things work, our interests in various topics, and that imposter syndrome isn't +something unique to "me." + +To better enable the discovery of blogs within our community, we set up an open +source blog [Planet](): an aggregated +feed of blog posts from Seneca faculty and students working on open source in a +single page. Our blog Planet currently lives at [http://zenit.senecac.on.ca/~chris.tyler/planet/](http://zenit.senecac.on.ca/~chris.tyler/planet/). + +## What is a Planet? + +> Planet is a feed aggregator application designed to collect posts from the weblogs of members of an Internet community and display them on a single page. Planet runs on a web server. It creates pages with entries from the original feeds in chronological order, most recent entries first. --[Wikipedia]() + +In the early 2000s, before the rise of social media apps like Twitter and Facebook, +Planet solved a important problem in the free and open source community. It used +various "feed" technologies (RSS, Atom, CDF) to allow blog posts from different +platforms to be aggregated into a single page that was constantly updated with +the latest posts by people within a particular community. + +[Written in Python by Jeff Waugh and Scott James Remnant](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/), +Planet could be configured with a list of blog feeds and an HTML template. It would +use these to dynamically generate a site with posts in chronological order from +the specified feeds. + +## In Search of a New Planet + +Our current Planet is dying. The [software we use was last updated 13 years ago](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/). +While the underlying code as drifted further into the past, our needs have moved +forward. Maintaining the existing system, especially with the number of students +involved in open source at Seneca, has become too difficult. Our current site +often breaks, and needs manual interventions on a regular basis. Going forward, +we need a new planet to call home. + +As we get ready to enter the year 2020, we have decided it is time to consider moving to +a new system. Unfortunately, almost every system that came to replace Planet has +itself become unmaintained. + +Rather than try to find an existing solution, we have instead decided to try and +create one. Because we need this software, we also feel that we should +create and maintain it. And, since our need for a Planet comes out of our +collective work on open source, we think that creating it _together as open source_ +would be the most desireable path forward. + +## Trying to Define Our Planet + +We have learned a number of things over the past decade running our own planet. +We've also watched as social media and modern technologies have reshaped our +expectations for what a system like this can and should be. This has gone into our design and implementation of our new Telescope project. + +See [Architecture](architecture.md) for a more complete picture of our current design. + +## Project History + +- [Telescope 1.0](https://blog.humphd.org/telescope-1-0-0-or-dave-is-once-again-asking-for-a-blog/) (April 2020) +- [Telescope 2.0](https://blog.humphd.org/telescope-2-0/) (April 2021) +- [Telescope 3.0](https://blog.humphd.org/toward-telescope-3-0/) (in progress, April 2022) + +### 1.0 + +[Telescope 1.0](https://github.com/Seneca-CDOT/telescope/releases/tag/1.0.0) realized many of our initial goals, including: + +- A monolithic node.js backend web server providing REST APIs and GraphQL +- A node.js queue service for parallel feed processing +- Complete UI overhaul and design +- A GatsbyJS frontend web app using Material UI React components +- Initial SAML2 based Single Sign On Authentication +- Docker/Docker Compose based container management +- CI/CD pipelines using CircleCI and Travis CI +- Pull Request previews using Zeit Now +- A Redis database for caching feeds and posts +- An Elasticsearch database for full-text search of posts +- An Nginx reverse proxy and HTTP cache server +- Certbot for managing SSL certificates with Let’s Encrypt +- A node.js based GitHub Webhook Service to automatically manage deployments based on +- GitHub push events and webhooks to automate staging and production builds, as well as green/blue deployment +- Staging () and production () deployments + +### 2.0 + +[Telescope 2.0](https://github.com/Seneca-CDOT/telescope/releases/tag/2.0.0) improved and extended this design: + +- Improved testing infrastructure, including snapshot, end-to-end, and unit testing +- Reworking CI/CD to GitHub Actions +- Improved SEO +- Adding Firebase as a back-end data store for User info +- Improvements to the SAML based Authentication, JWT Authorization, and user Sign-up Flows + Security +- New UI Design, Logo, CSS, and Theming +- Improved Accessibility and User Experience +- Migration of Monolithic back-end to Microservices (90% complete) and API Gateway using Traefik +- Improvements to Elasticsearch and Redis +- Full port of front-end from GatsbyJS to next.js +- TypeScript rewrite of front-end +- Dependency Updates and Maintenance, both manual and automated (Dependabot) +- Bug fixes and Paying-off Technical Debt +- Progressive Web App (PWA) and Mobile UI Support +- Docker improvements +- Automation and Tooling fixes, updates, and improvements +- Improvements to nginx, caching, and certificate management +- Updates to Documentation +- Improved Developer Experience, including fixes for cross-platform differences + +### 3.0 + +In progress. diff --git a/src/docs/i18n/vi/docusaurus-plugin-content-docs/current/overview.md b/src/docs/i18n/vi/docusaurus-plugin-content-docs/current/overview.md new file mode 100644 index 0000000000..138c74f0a9 --- /dev/null +++ b/src/docs/i18n/vi/docusaurus-plugin-content-docs/current/overview.md @@ -0,0 +1,120 @@ +--- +sidebar_position: 1 +--- + +# Tổng quát về Telescope + +## Introduction + +One of the key features of Seneca's open source involvement has been the +emphasis on sharing what we're working on, teaching, and learning through blogging. +We believe that one of the most rewarding parts of learning to work in the +open source community is discovering that one can become part of the fabric +of the web, find a voice, and build a following. + +We also believe that reading each other's blog posts is important. In the blog +posts of our colleagues, we find that we are not alone in our struggles to make +things work, our interests in various topics, and that imposter syndrome isn't +something unique to "me." + +To better enable the discovery of blogs within our community, we set up an open +source blog [Planet](): an aggregated +feed of blog posts from Seneca faculty and students working on open source in a +single page. Our blog Planet currently lives at [http://zenit.senecac.on.ca/~chris.tyler/planet/](http://zenit.senecac.on.ca/~chris.tyler/planet/). + +## What is a Planet? + +> Planet is a feed aggregator application designed to collect posts from the weblogs of members of an Internet community and display them on a single page. Planet runs on a web server. It creates pages with entries from the original feeds in chronological order, most recent entries first. --[Wikipedia]() + +In the early 2000s, before the rise of social media apps like Twitter and Facebook, +Planet solved a important problem in the free and open source community. It used +various "feed" technologies (RSS, Atom, CDF) to allow blog posts from different +platforms to be aggregated into a single page that was constantly updated with +the latest posts by people within a particular community. + +[Written in Python by Jeff Waugh and Scott James Remnant](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/), +Planet could be configured with a list of blog feeds and an HTML template. It would +use these to dynamically generate a site with posts in chronological order from +the specified feeds. + +## In Search of a New Planet + +Our current Planet is dying. The [software we use was last updated 13 years ago](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/). +While the underlying code as drifted further into the past, our needs have moved +forward. Maintaining the existing system, especially with the number of students +involved in open source at Seneca, has become too difficult. Our current site +often breaks, and needs manual interventions on a regular basis. Going forward, +we need a new planet to call home. + +As we get ready to enter the year 2020, we have decided it is time to consider moving to +a new system. Unfortunately, almost every system that came to replace Planet has +itself become unmaintained. + +Rather than try to find an existing solution, we have instead decided to try and +create one. Because we need this software, we also feel that we should +create and maintain it. And, since our need for a Planet comes out of our +collective work on open source, we think that creating it _together as open source_ +would be the most desireable path forward. + +## Trying to Define Our Planet + +We have learned a number of things over the past decade running our own planet. +We've also watched as social media and modern technologies have reshaped our +expectations for what a system like this can and should be. This has gone into our design and implementation of our new Telescope project. + +See [Architecture](architecture.md) for a more complete picture of our current design. + +## Project History + +- [Telescope 1.0](https://blog.humphd.org/telescope-1-0-0-or-dave-is-once-again-asking-for-a-blog/) (April 2020) +- [Telescope 2.0](https://blog.humphd.org/telescope-2-0/) (April 2021) +- [Telescope 3.0](https://blog.humphd.org/toward-telescope-3-0/) (in progress, April 2022) + +### 1.0 + +[Telescope 1.0](https://github.com/Seneca-CDOT/telescope/releases/tag/1.0.0) realized many of our initial goals, including: + +- A monolithic node.js backend web server providing REST APIs and GraphQL +- A node.js queue service for parallel feed processing +- Complete UI overhaul and design +- A GatsbyJS frontend web app using Material UI React components +- Initial SAML2 based Single Sign On Authentication +- Docker/Docker Compose based container management +- CI/CD pipelines using CircleCI and Travis CI +- Pull Request previews using Zeit Now +- A Redis database for caching feeds and posts +- An Elasticsearch database for full-text search of posts +- An Nginx reverse proxy and HTTP cache server +- Certbot for managing SSL certificates with Let’s Encrypt +- A node.js based GitHub Webhook Service to automatically manage deployments based on +- GitHub push events and webhooks to automate staging and production builds, as well as green/blue deployment +- Staging () and production () deployments + +### 2.0 + +[Telescope 2.0](https://github.com/Seneca-CDOT/telescope/releases/tag/2.0.0) improved and extended this design: + +- Improved testing infrastructure, including snapshot, end-to-end, and unit testing +- Reworking CI/CD to GitHub Actions +- Improved SEO +- Adding Firebase as a back-end data store for User info +- Improvements to the SAML based Authentication, JWT Authorization, and user Sign-up Flows + Security +- New UI Design, Logo, CSS, and Theming +- Improved Accessibility and User Experience +- Migration of Monolithic back-end to Microservices (90% complete) and API Gateway using Traefik +- Improvements to Elasticsearch and Redis +- Full port of front-end from GatsbyJS to next.js +- TypeScript rewrite of front-end +- Dependency Updates and Maintenance, both manual and automated (Dependabot) +- Bug fixes and Paying-off Technical Debt +- Progressive Web App (PWA) and Mobile UI Support +- Docker improvements +- Automation and Tooling fixes, updates, and improvements +- Improvements to nginx, caching, and certificate management +- Updates to Documentation +- Improved Developer Experience, including fixes for cross-platform differences + +### 3.0 + +In progress. diff --git a/src/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/overview.md b/src/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/overview.md new file mode 100644 index 0000000000..d91f8791af --- /dev/null +++ b/src/docs/i18n/zh-cn/docusaurus-plugin-content-docs/current/overview.md @@ -0,0 +1,120 @@ +--- +sidebar_position: 1 +--- + +# Telescope 概述 + +## Introduction + +One of the key features of Seneca's open source involvement has been the +emphasis on sharing what we're working on, teaching, and learning through blogging. +We believe that one of the most rewarding parts of learning to work in the +open source community is discovering that one can become part of the fabric +of the web, find a voice, and build a following. + +We also believe that reading each other's blog posts is important. In the blog +posts of our colleagues, we find that we are not alone in our struggles to make +things work, our interests in various topics, and that imposter syndrome isn't +something unique to "me." + +To better enable the discovery of blogs within our community, we set up an open +source blog [Planet](): an aggregated +feed of blog posts from Seneca faculty and students working on open source in a +single page. Our blog Planet currently lives at [http://zenit.senecac.on.ca/~chris.tyler/planet/](http://zenit.senecac.on.ca/~chris.tyler/planet/). + +## What is a Planet? + +> Planet is a feed aggregator application designed to collect posts from the weblogs of members of an Internet community and display them on a single page. Planet runs on a web server. It creates pages with entries from the original feeds in chronological order, most recent entries first. --[Wikipedia]() + +In the early 2000s, before the rise of social media apps like Twitter and Facebook, +Planet solved a important problem in the free and open source community. It used +various "feed" technologies (RSS, Atom, CDF) to allow blog posts from different +platforms to be aggregated into a single page that was constantly updated with +the latest posts by people within a particular community. + +[Written in Python by Jeff Waugh and Scott James Remnant](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/), +Planet could be configured with a list of blog feeds and an HTML template. It would +use these to dynamically generate a site with posts in chronological order from +the specified feeds. + +## In Search of a New Planet + +Our current Planet is dying. The [software we use was last updated 13 years ago](https://people.gnome.org/~jdub/bzr/planet/devel/trunk/). +While the underlying code as drifted further into the past, our needs have moved +forward. Maintaining the existing system, especially with the number of students +involved in open source at Seneca, has become too difficult. Our current site +often breaks, and needs manual interventions on a regular basis. Going forward, +we need a new planet to call home. + +As we get ready to enter the year 2020, we have decided it is time to consider moving to +a new system. Unfortunately, almost every system that came to replace Planet has +itself become unmaintained. + +Rather than try to find an existing solution, we have instead decided to try and +create one. Because we need this software, we also feel that we should +create and maintain it. And, since our need for a Planet comes out of our +collective work on open source, we think that creating it _together as open source_ +would be the most desireable path forward. + +## Trying to Define Our Planet + +We have learned a number of things over the past decade running our own planet. +We've also watched as social media and modern technologies have reshaped our +expectations for what a system like this can and should be. This has gone into our design and implementation of our new Telescope project. + +See [Architecture](architecture.md) for a more complete picture of our current design. + +## Project History + +- [Telescope 1.0](https://blog.humphd.org/telescope-1-0-0-or-dave-is-once-again-asking-for-a-blog/) (April 2020) +- [Telescope 2.0](https://blog.humphd.org/telescope-2-0/) (April 2021) +- [Telescope 3.0](https://blog.humphd.org/toward-telescope-3-0/) (in progress, April 2022) + +### 1.0 + +[Telescope 1.0](https://github.com/Seneca-CDOT/telescope/releases/tag/1.0.0) realized many of our initial goals, including: + +- A monolithic node.js backend web server providing REST APIs and GraphQL +- A node.js queue service for parallel feed processing +- Complete UI overhaul and design +- A GatsbyJS frontend web app using Material UI React components +- Initial SAML2 based Single Sign On Authentication +- Docker/Docker Compose based container management +- CI/CD pipelines using CircleCI and Travis CI +- Pull Request previews using Zeit Now +- A Redis database for caching feeds and posts +- An Elasticsearch database for full-text search of posts +- An Nginx reverse proxy and HTTP cache server +- Certbot for managing SSL certificates with Let’s Encrypt +- A node.js based GitHub Webhook Service to automatically manage deployments based on +- GitHub push events and webhooks to automate staging and production builds, as well as green/blue deployment +- Staging () and production () deployments + +### 2.0 + +[Telescope 2.0](https://github.com/Seneca-CDOT/telescope/releases/tag/2.0.0) improved and extended this design: + +- Improved testing infrastructure, including snapshot, end-to-end, and unit testing +- Reworking CI/CD to GitHub Actions +- Improved SEO +- Adding Firebase as a back-end data store for User info +- Improvements to the SAML based Authentication, JWT Authorization, and user Sign-up Flows + Security +- New UI Design, Logo, CSS, and Theming +- Improved Accessibility and User Experience +- Migration of Monolithic back-end to Microservices (90% complete) and API Gateway using Traefik +- Improvements to Elasticsearch and Redis +- Full port of front-end from GatsbyJS to next.js +- TypeScript rewrite of front-end +- Dependency Updates and Maintenance, both manual and automated (Dependabot) +- Bug fixes and Paying-off Technical Debt +- Progressive Web App (PWA) and Mobile UI Support +- Docker improvements +- Automation and Tooling fixes, updates, and improvements +- Improvements to nginx, caching, and certificate management +- Updates to Documentation +- Improved Developer Experience, including fixes for cross-platform differences + +### 3.0 + +In progress.