Coder Social home page Coder Social logo

dat-ecosystem-archive / dat-foundation-website Goto Github PK

View Code? Open in Web Editor NEW
11.0 5.0 14.0 5.86 MB

[ DEPRECATED - More info on active projects and modules at https://dat-ecosystem.org/ ]

Home Page: https://dat-ecosystem-archive.github.io/dat-foundation-website/

Vue 84.16% JavaScript 2.66% HTML 0.86% SCSS 12.32%

dat-foundation-website's Introduction

deprecated

More info on active projects and modules at dat-ecosystem.org


Dat Foundation website

This is a shiny new website for the Dat Foundation! It is built on VuePress, pulls its content from this GitHub repo, is editable with Netlify CMS, and is continuously integrated with Netlify.

Development

For local development:

Install dependencies using Yarn.

yarn install

Contributing

npm run dev

Things to note:

  • If you edit the VuePress config file (site/config.json) you'll have to restart the development server for any changes to take effect.

Build and deploy

To build the site:

npm run build

This repo is continuously integrated with Netlify and all commits to master will trigger a deploy.

Netlify CMS

Edit the site content at /admin with Netlify CMS!

Edit the CMS configuration in .vuepress/public/admin/config.yml

Login with Netlify Identity

This ties your contributions to your GitHub account.

Editorial Workflow

This is a layer of abstraction on top of standard Git pull requests and merges; learn more here.

Actions in Netlify UI ... Perform these Git actions
Save draft Commits to a new branch (named according to the pattern cms/collectionName-entrySlug), and opens a pull request
Edit draft Pushes another commit to the draft branch/pull request
Approve and publish draft Merges pull request and deletes branch

Content Structure

We deviated from the default VuePress content model in order to integrate Netlify CMS. Pages and Global content is stored in /site/_data as YML and imported directly into views and components as needed. This separation of data from view component is a solution to Netlify CMS occasionally overwriting template data when updating YML frontmatter via the editorial workflow. Unfortunately it makes it harder to take advantage of some of the default VuePress features, and hope that as Netlify CMS matures we can troubleshoot this.

Collections

Collections consist of objects that can be related to pages and other collection objects sitewide. Currently, the collections are People, Projects, Modules, Tags, and Events. These collections serve as a version-controlled directory of all people, projects, modules, and events related to the Dat Foundation, including how they're related to one another.

For example, before displaying a Person on the About/People page, you'd have to add them as a Person in the People collection. That Person is now represented by a single record in the People collection. Different pages can "use" that Person object via relation fields, and any changes you make to that object propagate sitewide at build.

Globals

Things that don't change often. This serves as the canonical source of truth for things like the Dat Foundation mission statement, values, etc. Also the site navigation!

Blog

The blog is a little bit different; it follows normal VuePress content structure in that it's just a directory of markdown files.

Development

For local development:

Install dependencies with npm or Yarn.

npm install

Run the development server.

npm run dev

Things to note:

  • If you edit the VuePress config file (site/config.json) you'll have to restart the development server for any changes to take effect.

Build and deploy

To build the site:

npm run build

This repo is continuously integrated with Netlify and all commits to master will trigger a deploy.

dat-foundation-website's People

Contributors

cblgh avatar da2x avatar dependabot[bot] avatar dpaez avatar frando avatar joehand avatar juliangruber avatar jwerle avatar k-nut avatar martinheidegger avatar ninabreznik avatar okdistribute avatar rangermauve avatar sammacbeth avatar ushakov-igor avatar whoisgina avatar zootella avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

dat-foundation-website's Issues

browser dat tool

How can we provide a great UX for the prompt: Create on the web in 60 seconds.

Or something less cheesy than that. Is there a browser Dat thing we can do here to get people started near instantly?

homepage

  • featured projects
  • featured blog post

Featured modules:

  • 1 item displays full width; 2 display half width
  • If none are chosen, the two latest are displayed

global image alt text

maybe build an image component that takes an image path and an alt text value and generates a <figure> with proper alt text and role

community/forum

This is either an external link in the nav under Community or somehow built into the site. The former sounds easier at this point; Discourse is weird.

internationalization

A clear path as to how we can expand the languages offered on this site. A way to switch between them in the front end.

community/events

Event listing, without filtering; just a calendar! No event/show pages yet; that'd be V2.

explore/design

What does this page look like? Do we want a new repo that holds all of this information? I want to simplify the existing guidelines considerably.

about/foundation

This includes values, mission statement, sponsors, and consortium of projects.

blog functionality

How does the VuePress built-in functionality square with what Ghost provides?

Need to:

  • Build the blog post config
  • Build the blog index template
  • Build the blog show template

docs: alternate layout

the docs need to fall back to the default vuepress layout; how do we assign custom layouts for things?

tag collection

Make a Tags collection that can be used sitewide; on the blog, for projects and modules, for people.

search

Style search results and search box. I think VuePress has Algolia built in to handle this? Need to investigate AND decide if we even want to have search.

community/connect

Not sure if connect is the right word here. It's also updates in some of my comps. This is where the newsletter would live, so you could see old newsletters and contribute to the next one if you'd like. It's sort of like the blog but for contributors. Might need some scaffolding in terms of structure for entries; might just be multiple big piles of markdown; this depends on the format of newsletters currently.

community/contribute

A sort of "help wanted" board with tasks people can help with. Potential features:

  • People can add themselves to the list of people working on something
  • People can add themselves as a contact for a task (for example, "I built a tool that does X and I want some users to implement it in their own things and give me feedback โ€” contact me here with questions."

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.