GithubHelp home page GithubHelp logo

redwoodjs / bighorn-website Goto Github PK

View Code? Open in Web Editor NEW
4.0 7.0 2.0 14.13 MB

New Website Design for RedwoodJS, Bighorn Epoch

Home Page: https://bighorn.vercel.app

JavaScript 2.14% TypeScript 90.33% MDX 0.44% CSS 5.31% HTML 0.21% Shell 0.23% Dockerfile 1.33%

bighorn-website's Introduction

redwoodjs.com

This repo contains the latest iteration of redwoodjs.com, redesigned for our Bighorn launch.

Development Quick Start

yarn install

.env

You'll need to create a .env file. Start with this in the file:

DATABASE_URL=
SESSION_SECRET=

We're using the database to save Newsletter submissions.

The production database is using Neon.tech

Updating the Content on the Site

All the content on the site is controlled through markdown files in the content directory.

To preview the content changes you've made locally, you'll need to run:

yarn build:content

If everything runs successfully, you'll see a message like this:

Unfortunately, the displayed error message, is a known issue with Contentlayer. (See Issues 598 and 495)

This script generates a .contentlayer folder inside the project's root.

Changelog

---
publishDate: 2024-02-01
published: true
---

Since we're using mdx, you can also include React components within the content. Right below the frontmatter, import the component, using an absolute path:

import Browser from 'web/src/components/Browser/Browser'

Then, you can use the component in the content:

<Browser><div>Some code</div></Browser>

I've created a couple of components that you can use:

  • <Browser />
  • <Video />

I've also installed Prism.js for formatting code blocks.

Events

---
title: "Maker Hour"
date: 2024-01-24T18:00:00-05:00
description: "Each week, we meet to support each other and discuss projects we’re building on top of RedwoodJS."
rsvp: 'https://lu.ma/redwoodjs'
---

Roadmap

---
title: "Autoscaling for dedicated PostgreSQL clusters"
description: "Access and work in your own configurable PostgreSQL cluster, complete with autoscaling support."
status: "soon"
---

Possible status values are: soon, later, planned, and done

Icons

All the icons on the site are delivered through a generated SVG sprite. To add a new icon, add a 24x24 SVG file to the scripts/svg-icons directory. Then, run:

yarn build:icons

This will generate a new icons/sprite.svg file and a corresponding type file (name.d.ts) in the web/public directory.

The new icon will be available within the Icon component, using the same name as the SVG file. For example, github.svg can be displayed using:

<Icon id="github" />

Blog Posts

Blog posts are written and managed inside Hashnode.

Caching

While blog posts and publications are fetched from Hashnode, Redwood's GraphQL server is also caching its responses.

See the graphql function for the useResponseCache config.

Invalidating

The GraphQL mutations:

  • invalidatePost(slug: string)
  • invalidatePosts

will purge the Posts from the response cache.

curl -X POST -H "Content-Type: application/json" --data '{ "query": "mutation { invalidatePosts }" }' https://redwoodjs.com/.netlify/functions/graphql
curl -X POST -H "Content-Type: application/json" --data '{ "query": "mutation { invalidatePost(slug: \"rsc-now-in-redwoodjs\") }" }' https://redwoodjs.com/.netlify/functions/graphql
curl -X POST -H "Content-Type: application/json" --data '{ "query": "query { post(slug: \"rsc-now-in-redwoodjs\") { id, title } }" }' https://redwoodjs.com/.netlify/functions/graphql

A webhook at /

For example:

curl http://localhost:8911/whInvalidatePostsHook

Where the hostname is local or

curl https://redwoodjs.com/.netlify/functions/whInvalidatePostsHook

in production.

Note: Since the webhook is signed, you'd need the secret as well, but Hashnode provides this for the webhook.

bighorn-website's People

Contributors

ahaywood avatar cannikin avatar dthyresson avatar fishb6nes avatar josh-walker-gm avatar jtoar avatar thedavidprice avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

fishb6nes kunniii

bighorn-website's Issues

Adjust blog page width

Problem

  • Blog index page is too wide
CleanShot 2024-03-27 at 20 24 14@2x
  • Individual blog page has too much white space on the right
CleanShot 2024-03-27 at 20 24 20@2x

Potential Solutions

  • Add a sidebar to the index and individual pages
  • The blog index page should be narrower. On the individual blog page, center the column of text. (Medium style)

Sitemap.xml

  • Currently the docs is the only section that's being indexed
  • Need to make sure that the blog is included within the Sitemap

MVP: Static file

Create a Dedicated Roadmap page

Should include:

  • dev server
  • studio integration
  • CLI generators
  • Authentication
  • Caching
  • Codebase directory structure and conventions
  • documentation (ongoing)

Link out to the GitHub project board

Design Feedback

  • Improve Features section (bento box)

    • Sponsored by PVW
    • Missing "Secure by Default" - Including Redwood Auth
    • Add Realtime, Mailer, Studio
    • Tighten Language
  • Fixed nav on scroll

    • Move a button to the top right with the main CTA: "Get Started" -> Goes to the Quick Start
  • Include GitHub Stars -> Go directly to GitHub

  • Click on version number, should take you to GitHub Release

  • Newsletter in Footer, takes you to MailChimp

  • Take out MailChimp

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.