Giter Club home page Giter Club logo

openresource.dev's Introduction

Open {re}Source logo

openresource.dev

Open {re}Source is your platform for sharing and discovering the open source world.
Understand how it works, and learn how to create, manage, and contribute to open-source projects.
Join the open source community today and start making a difference.

Open {re}Source website · Discord

What's in This Repository

"openresource.dev" is the repository containing the code source deployed to https://openresource.dev.

Status

Contributor Covenant Integration Status

Quick Start

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Run the development server
npm run vercel Run in the same conditions as Vercel
npm run update:showcase Run the showcase script to gather links from https://github.com/orgs/Open-reSource/discussions/3
npm run test Run the tests

Bugs and Feature Requests

Have a bug or a feature request? Please first search for existing and closed issues. If your problem or idea is not addressed yet, please open a new issue.

Contributing

Please read through our contributing guidelines.

Community

Get an update on Open {re}Source's development and chat with the project maintainers and community members:

Copyright and License

Code released under the MIT License.

Content (including images) released under CC BY-NC-SA 4.0:

  • public/images/ directory
  • src/content/articles and src/content/modules directories

Thanks

Built with Astro

openresource.dev's People

Contributors

dependabot[bot] avatar hideoo avatar julien-deramond avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

openresource.dev's Issues

Display "Used by" data in Showcase for GH repositories

Prerequisites

Proposal

Display "Used by" data on the Showcase page for GtiHub repositories.

Example in the following screenshot provided by GitHub assets:

Screenshot 2023-05-01 at 21 57 11

Motivation and context

This information can be really useful to see if the project is actually already used or not without going to GitHub.

Display the headings of articles and chapters

Prerequisites

Proposal

Add something like the following on the page as done by Google Docs:

2023-05-15 19 08 45

Motivation and context

When the content is long, it can be really useful to be able to jump to a specific section (especially if you've already read the content).
Can also be useful for fast readers who analyze the content structure before reading it.

Drop `@tailwindcss/typography`

Prerequisites

Proposal

This issue suggests removing @tailwindcss/typography which is difficult to maintain when we bump dependencies (even for a patch release where rendering can be broken and not easily identifiable).

The aim is to have exactly the same rendering. Should be easily doable with Tailwind and Astro components.

Rename 'Articles' into something else

Prerequisites

Proposal

The idea here would be to find a new name for our articles that are not really articles.
I see them atm more like zooms or focuses that could be linked within the guide to go more in-depth into the topic, and its modules/chapters.

Motivation and context

Better clarity and readability for readers.

Astro opt-in way to minify HTML output

astro v2.5.0

Adds an opt-in way to minify the HTML output.

Using the compressHTML option Astro will remove whitespace from Astro components. This only applies to components written in .astro format and happens in the compiler to maximize performance. You can enable with:

import { defineConfig } from 'astro/config';

export default defineConfig({
 compressHTML: true,
});

Compression occurs both in development mode and in the final build.

Study if this compression can be useful in this repository.

Using a grid to render next/previous buttons in chapters

Feedback provided by @HiDeoo

Prerequisites

Proposal

Using a grid to get identical widths for the next/previous buttons in chapters could make the rendering a little bit better.

GxyZA4G

Motivation

Since this project doesn't have a defined design system, the rules are not yet written and precise. While I'm not sure forcing the width will always be the right solution, in this specific case, it might indeed be better in terms of rendering.

Let's try it!

Structured data for our guide

Structured data has been added for our articles via #225.

The idea here is to do the same for our guide.

However, I'm not sure which type of structured data we need to use for our guide modules and chapters; maybe Course 🤷
What do you think?

Generate Open Graph images for Astro files

Prerequisites

Proposal

Right now, Open Graph images are generated only for what's contained within /src/content. It means that all the Astro pages in src/pages have static images created manually via a Figma template (see https://github.com/Open-reSource/openresource.dev/pull/289/files).

The idea would be to do the exact same thing for src/content but with Astro pages.

Motivation and context

The main motivation is to provide easier maintenance. If a new page is created or that the title or description of an existing page is modified, the image must be recreated manually.

Display programming languages data in Showcase for GH repositories

Prerequisites

Proposal

Display programming languages data on the Showcase page for GtiHub repositories.

Example in the following screenshot provided by GitHub assets:

Screenshot 2023-05-01 at 21 57 11

The languages could be a stacked progress bars like in this screenshot or a list of colored labels, or even something else.

Motivation and context

This information can be useful for the community to find Open Source to contribute to.

Add correct guide chapter description in Open Graph images

Prerequisites

Proposal

Right now, guide chapter descriptions are not visible in Open Graph images. It can be seen for example in https://www.opengraph.xyz/url/https%3A%2F%2Fopenresource.dev%2Fguide%2Fwhat-is-open-source%2Fdefinition-of-open-source.

This is due to a difference of description management which is inconsistent in the code where some descriptions are handled, but also meta descriptions.

Motivation and context

Open Graph images are working in all cases.

CSS inlining for small snippets of CSS

Astro 2.6.0 introduced CSS inlining for small snippets of CSS.

This issue suggests studying this new Astro feature, and evaluating what could be done in openresource.dev.
A PR can directly be opened with the result of this study if useful modifications can be done.

Add skip link

Prerequisites

Proposal / Motivation and context

There's not much to describe here, a skip link should be added to the website for obvious reasons.

Advanced Sitemap with the right `lastmod` values

Prerequisites

Proposal

97b27ba removed the Sitemap semi-advanced generation because the content was not correct since the modification date was global to the website.

It doesn't seem possible right now but the idea of this feature request would be to use the data stored in the frontmatter for articles, chapters, modules, etc. to have the right lastmod value in the sitemap.

serialize function in @astrojs/sitemap seems to be the best shot right now but doesn't seem to allow to get info from the frontmatter.

Motivation and context

changefreq and priority are ignored by Google but it is probably not the case for lastmod even if I'm not certain about it. Hopefully it would help with the SEO of the website.

Throw an error if a static image doesn't exist

Prerequisites

Proposal

In HeadSEO.astro, we deduce the URL of the static images (not generated automatically) from the URL:

if (openGraphData.staticImage) {
const imagePath = canonicalURL.pathname.replaceAll(/\//g, '')
canonicalImageSrc = new URL('images/' + (imagePath ? imagePath : 'index') + '.png', Astro.site);

However, we aren't sure that this image really exists.

The idea would be to throw an error when running npm run build to inform the developer that the image is missing.

⚠️ This would be a temporary solution waiting for #290 to be implemented. Because, in that case, this system would be useless.

Motivation and context

Avoid having Astro pages without Open Graph images.

Selection colors readability

Prerequisites

Describe the issue

I noticed that depending on the theme, the current selection colors works relatively well (mostly on light themes), but can also sometimes makes some elements like titles difficult to read (mostly on dark themes) and also sometimes makes the text even more difficult to read (e.g. the coffee theme).

Some browsers (e.g. Firefox ^^) will even fail to render properly some elements with some themes, for example a selected title with the Dark theme (which can be a default) on Firefox 112.0.2.

firefox

I think it would be nice to fix these issues specially considering that some people use selections to track their reading progress. I suggest the following changes to src/global.css:

+ ::selection {
+   background: hsl(var(--p));
+   color: hsl(var(--pc));
+ }

This changes uses DaisyUI CSS variables to use the primary color and its content variation for the selections. I think this works relatively well with all themes.

Here is a (large) screenshot of a comparison (using Chrome) between the current state (left) and the proposed changes (right) on various themes:

selection

I am willing to submit a pull request if you think this is a good idea or discuss further if you have any concerns or suggestions.

What operating system(s) are you seeing the problem on?

All

What browser(s) are you seeing the problem on?

All

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.