Giter Club home page Giter Club logo

chromeos / chromeos.dev Goto Github PK

View Code? Open in Web Editor NEW
237.0 237.0 80.0 302.07 MB

chromeOS.dev is the digital home for all things ChromeOS. Learn how to adapt and optimize your existing apps to work on ChromeOS, the success other companies have had doing so, how to use ChromeOS as your developer machine, and keep up-to-date with the latest on ChromeOS.

Home Page: https://chromeos.dev

License: Apache License 2.0

JavaScript 2.12% SCSS 9.15% Shell 0.04% TypeScript 54.56% CSS 0.10% Astro 13.12% Svelte 20.90%
android chromeos linux web

chromeos.dev's People

Contributors

dependabot[bot] avatar emilieroberts avatar fuentespatrick avatar gedaprems avatar ibrahimkarahan avatar jkcinouye avatar joycetoh8 avatar kford55 avatar leopic avatar lnishan avatar mattmonasch avatar moonfall avatar nerdjfpb avatar nickalcantara avatar nohe427 avatar snugug avatar tropicadri avatar vanss472 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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chromeos.dev's Issues

Update Service Worker caching strategies

  • Pre-build strategies so they can be warmed, warm them, and only precache offline pages
  • Remove Service Worker Includes for the time being
  • Move to Network First for home page, news & stories landing page
  • Implement navigation preloads
  • Cache 3P images
  • Migrate assets to Cache First as they now have hashes

Bonus

  • Refactor service worker includes to stream
  • New Cache Strategy for long-lived content pages Discussed w/ @jeffposnick and think the potential issues w/r/t race conditions and trying to bypass the SW lifecycle will lead to issues similar to what the Angular team experienced in angular/angular#28114. Instead, consider using ETag header to notify user that content is updated w/StaleWhileRevalidate, but that needs more investigation.
    • Save content hash to IDB keyed on URL path
    • Generate content hash dict on build (key === URL path), deploy with each SW build
    • On request, check to see if current hash === has in IDB; if it does, serve Cache First, if not, serve Network First, 3s timeout.
    • May be possible to do this as a routing strategy instead of as a caching strategy, or may be able to reuse existing strategies w/in new strategy

Floating button to redirect people to the right place to file bugs

Bugs in Chrome OS need to be filed in the right issue tracker (e.g. Android bugs in issuetracker.google.com or Chrome bugs in crbug.com) so that they're handled timely and properly. We should provide an easy to use interface to collect some bug information and redirect developers to the right place to file their bugs.

Fix 404 Page

The current 404 page doesn't quite render properly and needs to be cached and served properly from our service worker.

New Vite Service Worker Plugin

Current SW compilation from Vite Plugin PWA doesn’t meet the following core needs:

  • Manipulation (filtering, additions, etc…) of files for Workbox’s InjectManifest precache (so we don’t have to precache every single generated Vite file)
  • Not requiring Workbox Window to register a Service Worker
  • Not requiring InjectManifest to compile service worker (for Workbox Recipes compatibility)
  • Option for chunkFileNames to not include a hash
  • Ability to test Service Workers during development (optional)

Share record screen on youtube

Hi i would like to share my screen and microphone on youtube. i've downloaded obs but that only gave me a black screen.
Could you update chrome os to share on youtube and other streaming platforms?

Update Lighthouse config

Increases SEO min, sets Performance min to 80, tests more pages, makes sure Lighthouse results table
only shows if there are results

Linting check on push rather than on commit

Is your feature request related to a problem? Please describe.
Yes, I write an article, I make some changes, I commit those changes, and then when I push the linting fails and I need to re commit my changes after linting.

Describe the solution you'd like
If we are going to block on linting, it would be helpful to do that on commit because the commit workflow takes awhile.

Describe alternatives you've considered
git commit --amend --no-edit -> This does not work though because husky still runs and the command creates a new commit anyways.

Additional context
none

On this page links are broken

Describe the bug
When visiting on the page links, the links are broken with the new tooling

To Reproduce
Steps to reproduce the behavior:

Visit the staging site for the new site and navigate to : https://chromeos.dev/en/posts/dgapi-2-migration#purchase-acknowledgement-moves-to-backend
Happens on all pages.
Click on one of the links of the side.
Nothing happens

Expected behavior
In page navigation occurs

Screenshots
image

Desktop (please complete the following information):

  • OS: [e.g. iOS] Chrome OS
  • Browser [e.g. chrome, safari] Chrome
  • Version [e.g. 22] 96

Additional context
Add any other context about the problem here.

Content Management System

Maintaining our content in static Markdown files tightly couples content and code updates. This creates a large barrier to content creation by requiring that content contributions share our same code development process, locking out a large portion of our contributors from managing their contributions directly. It also leads to potential issues where code may be complected with a content release and either the code or the content gets accidentally released, or can't be fully released or easily rolled back. Finally, it incurs a large maintenance overhead , requiring a number of specialized sets of functionality or processes (frontmatter linting, markdown linting, folder structure, file structure, etc…) to accomplish, some of which must be done manually. For these reasons, and more, we're looking to migrate off of flat Markdown files and into a CMS.

See also my recent blog post on the subject

Menu quebra ao traduzir página para Português Brasil

Olá pessoal, tudo bem?
Em minha visita ao chromeos.dev, observei que o menu quebra ao traduzir para o Português Brasil, em algumas páginas dificulta ler o primeiro título.

Sistema: Chrome OS, versão 85.0.4183.59, canal beta
Dispositivo: Samsung Chromebook 3
Navegador: Chrome padrão.

Update Image Optimization

  • Investigate ImgIX, Cloudinary, and other 3p solutions for image optimization
  • Implement either a 3P solution, or Vite Plugin Img, depending on outcome of investigation
  • FIx resulting bugs from using removing need of picture element
    • Home page fade and parallax
  • Height and width added
  • GIFs using videos instead

3P Solution Criteria

  • Must be able to be used based on URL parameters
  • Must be able to both resize images and change formats
  • (Optionally) allow upload via API call (eventual CMS integration)
  • (Optionally) must be able to convert GIF to Video
  • Get pricing for estimated current usage.

3P Solution Implementation

  • Vite/PostHTML plugin to manipulate images to Picture elements with correct URLs (like Vite Plugin Img)
  • Ensure 3P images can be cached with our Service Worker
  • (Optional) Ensure that all images are present in 3P system at build time (imgix example)

Header link icon should not disappeared when hovered over and clicking should copy to clipboard

When a visitor hovers over a header, a small "link" item appears beside the header. If the mouse hovers over that icon, it disappears.

Clicking does nothing when the icon is visible. In order to copy a link, the user must hover over the header (icon appears), not hover over the icon, then right-click and copy the link.

I also believe the difference with developer.android.com adds confusion. On that site, you hover over the link icon and click to copy the link (example)

Could chromeos.dev:

  • not have the link icon disappear when hovering
  • have clicking on the icon (and/or header) auto copy the link to the clipboard?

Incorrect icon being used in Spanish "Publish" card

Describe the bug
The incorrect icon is being used in a card within the Spanish translation of a section.

To Reproduce
Steps to reproduce the behavior:

  1. Visit the Spanish homepage
  2. Scroll down to the "Comience a construir con información y herramientas para Chrome OS" )Start building with information and tools for Chrome OS) section
  3. See error

Expected behavior
I would expect the "publish" icon to be displayed

Screenshots
English version on the left, Spanish on the right
image

Desktop (please complete the following information):

  • OS: macOS
  • Browser: Chrome
  • Version: 85

Smartphone (please complete the following information):
N/A

Additional context
N/A

Consider using the Content Indexing API

Is your feature request related to a problem? Please describe.
The Content Indexing API allows web apps to tell the browser about URLs that will load offline. This can then feed into the browser's native UI, e.g., in a custom page that the browser displays while you're offline that lists available content.

Describe the solution you'd like
It would be nice to index the offline-capable URLs based on the current cache storage contents.

Describe alternatives you've considered
Just not indexing them would be an alternative, but since the hard part is getting the pages to work offline and that's already done, this is just some extra visibility.

Additional context
I put together a similar PR for web.dev at GoogleChrome/web.dev#2798

Add an RSS feed for news posts

The site should have an RSS feed for posts appearing under https://chromeos.dev/en/posts/*. Ideally the feed URL should be announced in the source code of all pages under https://chromeos.dev/*, so it can be easily discovered by feed readers.

There is eleventy-plugin-rss that makes setting this up relatively straight-forward.

Fix ChromeOS Markdown Blockquote

Prettier auto-formats blockquotes as follows:

> This is a nice quote. Eiusmod incididunt excepteur velit qui amet id voluptate cupidatat. Voluptate exercitation incididunt aute pariatur pariatur deserunt minim proident consequat.
> {cite="Here is the quote attribution"}

> This is a nice quote without attribution. Eiusmod incididunt excepteur velit qui amet id voluptate cupidatat. Voluptate exercitation incididunt aute pariatur pariatur deserunt minim proident consequat.
>
> This is the second paragraph.
> {cite="Here is the quote attribution"}

The first blockquote renders with the citation as expected. The second one doesn't render the citation, but any additional attributes get added as expected. Look into this!

Add missing attributes to code blocks

Codeblocks now don't automatically get their language but rather rely on Markdown rendering to add them.

  • Add {title="Sample JavaScript" .code-figure} to all markdown code blocks (replacing title appropriately)
  • Search for any manual code blocks (pre[class="language-*"]) and update them, too

Add Autoprefixer

  • Removes the need to add prefixes and ensures that our users are getting the right CSS
  • Base on PWA Summit implementation
  • Make sure PostCSS transform for aspect-ratio CSS is in/@supports is working for that

Migrate build/local serving to Vite

Our current Rollup/Gulp combination is slow, cumbersome, and less likely to give us the optimized output we'd want than Vite is, which is optimized for code splitting and modern ES module forward builds.

  • Migrate site serving from Rollup/Gulp/BrowserSync to Vite and Eleventy and ensure Eleventy compiling still works
  • Ensure JS works in dev
  • Ensure Sass works in dev
    • Filed issue that we're currently having
    • Filed PR to help debug error I'm getting
  • Ensure JS compiles for production
    • Regular JS works as expected
    • Workers work as expected
    • Service Worker works
  • Ensure Sass compiles for production
  • Ensure dynamic import polyfill is included (if not already)
  • Make sure Firebase proxies for functions run during dev.
  • Ensure Search indexes compile

Investigate CMS options

Spinning up a local development server to modify content can be cumbersome and a barrier to entry for members of the team. Investigate using a CMS, like Netlify CMS, to provide a user interface for editing content. Minimum success would include:

Potential CMSes to investigate:

Migrate Transforms to PostHTML

Our Eleventy transforms have an expensive build overhead because they're run on every compile for every page and emulate DOM transformations using Cheerio. Moving them to PostHTML plugins via Vite Plugin PostHTML will significantly speed up development time by only running them on the page being served and moving to an AST based transformer.

  • ChromeOS Word
  • DOM Transforms
  • Icons
  • Remove Trailing Slash

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.