feat(landing): publish QuantLab landing via GitHub Pages#249
Conversation
Reviewer's GuideAdds a static, single-page QuantLab marketing/landing site under landing/ and configures an accompanying GitHub Pages deployment workflow that publishes the landing contents on pushes to main, with a small JS enhancement for click tracking and scroll reveal animations plus basic docs for structure and deployment requirements. Sequence diagram for landing page scroll reveal and click trackingsequenceDiagram
actor Visitor
participant Browser
participant LandingPage
participant AppJS
Visitor->>Browser: Request QuantLabLanding
Browser->>LandingPage: Load index_html_styles_css_app_js
LandingPage->>AppJS: Execute script app_js
AppJS->>LandingPage: Register click listeners on site_nav_links_buttons_header_cta
AppJS->>LandingPage: Add reveal class and observe panels_timeline_steps_principles_maturity_steps
Visitor->>Browser: Scroll through sections
Browser->>AppJS: IntersectionObserver callback with entries
AppJS->>LandingPage: Add is-visible class and unobserve visible nodes
Visitor->>LandingPage: Click navigation_or_cta_link
LandingPage->>AppJS: Click event
AppJS->>LandingPage: Set body.dataset.lastAction = link_href
File-Level Changes
Assessment against linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 2 issues, and left some high level feedback:
- In
landing/app.jsyou’re settingdocument.body.dataset.lastActionon link clicks but never reading it anywhere; if this isn’t used, consider removing the listener and attribute to keep the script minimal and avoid confusing future readers. - In your responsive CSS (e.g. the
@media (max-width: 900px)block),.site-headeris grouped with grid layouts and receivesgrid-template-columns, which has no effect on a flex container; splitting flex and grid selectors would make the layout intent clearer.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In `landing/app.js` you’re setting `document.body.dataset.lastAction` on link clicks but never reading it anywhere; if this isn’t used, consider removing the listener and attribute to keep the script minimal and avoid confusing future readers.
- In your responsive CSS (e.g. the `@media (max-width: 900px)` block), `.site-header` is grouped with grid layouts and receives `grid-template-columns`, which has no effect on a flex container; splitting flex and grid selectors would make the layout intent clearer.
## Individual Comments
### Comment 1
<location path="landing/styles.css" line_range="53" />
<code_context>
+ margin: 0 auto;
+}
+
+.site-header {
+ display: flex;
+ align-items: center;
</code_context>
<issue_to_address>
**issue:** Anchor navigation with a sticky header will likely hide section headings under the header; consider adding scroll-offset via CSS.
Since `.site-header` is `position: sticky; top: 0`, jumping to `#workflow`, `#preview`, etc. will align those sections at the very top, often hiding their headings under the header. You can avoid this by adding a scroll margin to anchor targets, for example:
```css
section[id] {
scroll-margin-top: 80px; /* approx. header height */
}
```
</issue_to_address>
### Comment 2
<location path="landing/README.md" line_range="3" />
<code_context>
+# QuantLab Landing
+
+Landing estatica preparada para publicarse en GitHub Pages.
+
+## Estructura
</code_context>
<issue_to_address>
**issue (typo):** Consider adding the accent in "estatica" to read "estática".
Suggested implementation:
```
Landing estática preparada para publicarse en GitHub Pages.
```
```
Se puede abrir `index.html` directamente o servir la carpeta `landing/` con cualquier servidor estático.
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
| margin: 0 auto; | ||
| } | ||
|
|
||
| .site-header { |
There was a problem hiding this comment.
issue: Anchor navigation with a sticky header will likely hide section headings under the header; consider adding scroll-offset via CSS.
Since .site-header is position: sticky; top: 0, jumping to #workflow, #preview, etc. will align those sections at the very top, often hiding their headings under the header. You can avoid this by adding a scroll margin to anchor targets, for example:
section[id] {
scroll-margin-top: 80px; /* approx. header height */
}| @@ -0,0 +1,21 @@ | |||
| # QuantLab Landing | |||
|
|
|||
| Landing estatica preparada para publicarse en GitHub Pages. | |||
There was a problem hiding this comment.
issue (typo): Consider adding the accent in "estatica" to read "estática".
Suggested implementation:
Landing estática preparada para publicarse en GitHub Pages.
Se puede abrir `index.html` directamente o servir la carpeta `landing/` con cualquier servidor estático.
Summary
This PR:
landing/landing/Why
This slice matters because:
Scope
This PR does not:
Validation
Validated with:
node --check landing/app.jsgit diff --checkNotes
landing/through GitHub Pages on pushes tomainCloses #220
Summary by Sourcery
Add a static QuantLab marketing landing page and configure it to be deployed via GitHub Pages.
New Features:
Enhancements:
CI: