Code Monkey home page Code Monkey logo

helix-website's Introduction

Project Helix Website

www.hlx.live

codecov

Introduction

This repo is what powers the helix website.

Developing

Install the Helix CLI:

sudo npm install -g @adobe/helix-cli

Run it in this repo:

hlx up

Testing

Install dependencies:

npm install

Run tests:

npm test

Watch tests:

npm test:watch

This will run through all your tests, but then only run against any changed tests.

helix-website's People

Contributors

3vil3mpir3 avatar amol-anand avatar asthabh23 avatar auniverseaway avatar bdelacretaz avatar chicharr avatar davidnuescheler avatar dkuntze avatar dominique-pfister avatar dylandepass avatar fkakatie avatar kptdobe avatar kunwarsaluja avatar nicolerego avatar ramboz avatar renovate[bot] avatar rofe avatar rrusher avatar shsteimer avatar snowiewdev avatar solomon71 avatar trieloff avatar tripodsan avatar varunmitra avatar vdua 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

Watchers

 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

helix-website's Issues

Block Party

Expected Behaviour

It would be nice to have a way for the community to submit blocks, code snippets etc.. that can help turbocharge development of Franklin sites for others. The criteria to get a block into the existing boilerplate / block collection is high and we still need a way to share and re-use blocks built by the community rather than re-inventing the wheel every project.

Actual Behaviour

Currently need to search in github.com/hlxsites for similar blocks to then leverage in our own projects

Franklin Bot Registration Form is not keyboard accessible

In the form https://main--helix-website--adobe.hlx.live/tools/bot/register there are two issues with the checkbox

  1. It is not accessible by keyboard. Tab keys do not reach the checkbox.
  2. Without selecting the checkbox if someone tries to submit the form, no error is shown to the user.

Expected Behaviour

  1. One should be able to access the checkbox by keyboard
  2. Error should be displayed

Actual Behaviour

None of the things mentioned happen

Reproduce Scenario (including but not limited to)

Navigate to https://main--helix-website--adobe.hlx.live/tools/bot/register and perform the steps mentioned below

Steps to Reproduce

  1. Enter Data in Github Username field and press tab. The checkbox should be focused but that doesn't happen.
  2. Do not select the checkbox and try to submit the form. The Form doesn't get submitted and no error is displayed.

Platform and Version

Google Chrome (Version 110.0.5481.177)

Sample Code that illustrates the problem

Logs taken while reproducing problem

Do we need templates?

There are mechanics to load a template from a meta tag and add it as body class. We do have a precedence for this, but never had a templates folder at the root. So my question is: do we really need this, or could we lump it into styles.css? My assumption is that such global styles should probably be loaded as quickly as possible.

The feature also hides the body until the template CSS is applied to avoid CLS, but this may also impact FCP and LCP.

Given the exemplary nature of the Helix website itself, we should be really diligent about the best practices we set forth...

Do we need a block config?

In scripts.js, there's a selector block config with paths, script and style filenames. It allows loading a block for any element matching the selector, and avoids loading non-existent files (e.g. if a block only consists of a CSS file).

But it also adds complexity, reduces modularity (blocks need to be registered in scripts.js), which requires a trade-off.

Change SVG injection method

I know we don't have a good consensus on how to handle docs > svgs. This isn't to tackle that.

@augurone had the great suggestion that we should be injecting the SVGs instead of using an image tag. This is definitely better for colorizing and animating... likely more things.

Add pre push hooks

Developers should know when they're pushing code that won't pass tests or linting.

Sidekick config page does not behave as expected

Expected Behaviour

Clicking the Go button on https://www.hlx.live/tools/sidekick/ should successfully add the project.

Actual Behaviour

The go button does not seem to do anything. Instead you can click the Sidekick Configurator button above the form, which gives you a message "Your Sidekick is not configured for this project yet" but then clicking add project also does not seem to do anything.

Reproduce Scenario (including but not limited to)

Steps to Reproduce

  1. new browser, google chrome on Mac OS, sidekick plugin installed but no projects configured.
  2. navigate to https://www.hlx.live/tools/sidekick/
  3. enter a repository url, e.g https://github.com/hlxsites/uhg-surest and click "go"
  4. nothing happens

Notes and Thoughts

  • I was looking at trying to fix this via PR, but to be honest the full expected flow for this page is somewhat confusing to me, so thought I'd start with an issue.
  • I think the sidekick configurator button should not be a button but instead just a headline
  • I think ideally that repository url input could also accept an hlx.live or hlx.page url, and just parse out the gh url from there

Platform and Version

google chrome on Mac OS

Block — New Footer

Extend the current footer to acommodate the redesign

Create a new document /new-footer

Note that the region selector is not required since the site is only one lang for now.

value prop (4)

Add stylelint

CSS should follow the same indenting rules as JS.

Document page naming best practice

Document page naming best practices for authors in https://www.hlx.live/docs/authoring

From @ kptdobe:

In gdrive / sharepoint, it is recommended to use filenames in lowercase, without spaces (dashes instead) and with only latin characters. Dynamic Quotes should become dynamic-quotes. While both works, the recommended version is better to educate authors to maintain clean urls and have a. clear mapping between url and filename.
If you name you document This Is A crazy Name with àccent, spaces & extra fancy.?-things .docx there is no way you can guess the url or the filename from the url

Document happy path for defining fonts

  • Fallback font settings in styles.css (Helkix Font Fallback extension)
  • Font styles in styles.css (Importer UI > eyedropper)
  • Best way to load custom fonts in lazy-styles.css

Franklin Developer Tutorial missing step

Looks like GitHub has updated their "Use this template" button to be a dropdown. The tutorial and video on https://www.hlx.live/developer/tutorial need to be updated to reflect the change.

Expected Behaviour

Tutorial should document all steps exactly as they are required

Actual Behaviour

Tutorial is missing a step which is confusing to a novice

Reproduce Scenario (including but not limited to)

Steps to Reproduce

Browse to https://www.hlx.live/developer/tutorial
Follow the steps to "Use this template"
Missing step: Choose "Create a new repository" in the dropdown that appears

Platform and Version

MacOS 13.3.1(a) on Chrome 114

image

Block — Z Pattern

Use the existing Z Pattern block as a base, add additional content areas to match the redesign

value prop

Franklin Developer Tutorial does not define location or format of fstab.yaml

In the training and sample content, multiple references to fstab.yaml are made, but none of them define exactly WHERE in the GDrive it should go. The sample content does not contain an example fstab.yaml for us to view/modify, so it's very confusing. It's also unclear if there's a special format for it, if we need to do anything special, put URLs in quotes, etc.

image
image

Global Styles

Updates to:

  • Typography
  • Color variables
  • Spacing variables

Align on:

  • Use of media queries and breakpoints

Block — New Header

Extend the existing header block to accommodate the redesign

Create a new document /new-nav to be used in place of the existing nav

AEM Franklin

Block — Tabs

Extend the existing helix tabs block to accommodate the redesign

value prop (1)

Franklin developer tutorial webpage gets stuck when scrolling up

https://www.hlx.live/developer/tutorial

Expected Behaviour

Webpage should scroll smoothly and not get stuck

Actual Behaviour

Webpage gets "stuck" and does not allow me to scroll higher

Reproduce Scenario (including but not limited to)

Steps to Reproduce

Browse to https://www.hlx.live/developer/tutorial
Scroll down past the first video and image
Scroll back up slowly from the second image
Browser looks like it wants to scroll up but code seems to keep kicking the page back down again
Scrolling fast enough can get you past the issue, but it's still easily reproducible afterward

Platform and Version

MacOS 13.3.1(a) on Chrome 114

Sample Code that illustrates the problem

N/A

Logs taken while reproducing problem

N/A

Screen recording

Screen.Recording.2023-06-09.at.5.15.58.PM.mov

Documentation Navigation

Should be able to port this into the documentation listing page and all documentation pages

  • Search functionality ported over from current website (search query should also appear in the URL so search can easily be shared)

Secondary Navigation

Demo Page + Contact Form

Create a new page for the contact form.

Use a standard helix form, i.e. a spreadsheet defines the form and takes the form submissions. Adobe can then hook up automation for form submissions.

Form field TBC.

Frame 64 (2)

Add robots.txt

I think we should keep robots out initially in order to lower the discoverability.

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.