GithubHelp home page GithubHelp logo

jaredkrinke / goldsmith Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 117 KB

A modular static site generator for Deno that's just a cheap knock-off of Metalsmith.

License: MIT License

TypeScript 56.33% JavaScript 43.67%
static-site-generator deno metalsmith typescript goldsmith

goldsmith's Introduction

Goldsmith

A modular static site generator for Deno that's just a cheap knock-off of Metalsmith.

Status

Note that Goldsmith is currently a work in progress. Although it is being used successfully in one small scale project, it has not been thoroughly documented or tested yet.

goldsmith's People

Contributors

jaredkrinke avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

goldsmith's Issues

Link-checking logic should support `name` in addition to `id` (with `id` having precedence)

          > I asked why no id's, but they didn't seem to want to change until "name" stopped working everywhere.

Well, it seems to be deprecated as of HTML 5 (for a): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#name

So I'd say we're both wrong: they should probably not use it (unless targeting HTML 4), but since it works in browsers, I probably should support it (i.e. not flag links as broken in this scenario).

Originally posted by @jaredkrinke in #3 (comment)

TOC gives errors (caused by anchor tags without an `href` attribute)

Hi again. I'm running your unmodified (by me) version and I'm getting errors when the .md file has a TOC. Here is part of the TOC -

<!-- TOC start -->
- [**Introduction - August 2022**](#introduction-august-2022)
- [**Upcoming SISKA Events**](#upcoming-siska-events)
- [**Upcoming NonSISKA Events**](#upcoming-nonsiska-events)
- [**Community Events of Interest**](#community-events-of-interest)
- [**Upcoming Courses**](#upcoming-courses)

Here is the error -

md2blog --clean --serve
←[0m←[1m←[31merror←[0m: TypeError: Cannot read properties of undefined (reading 'split')
    at file://$deno$/bundle.js:7162:66
    at GoldsmithObject.run (file://$deno$/bundle.js:1457:28)
    at async GoldsmithObject.build (file://$deno$/bundle.js:1493:23)
    at async file://$deno$/bundle.js:55045:1

Anything come to mind?

Incremental rebuild support

  • Serialize entire pipeline
  • Check for pipeline changes (or store objects per pipeline?)
  • Add new "transform" plugin type for transforming/renaming items in isolation
  • Add incremental rebuild option
  • Serialize objects
  • Serialize dependency graph
  • Benchmark md2blog before and after
  • Test old and new md2blog to ensure no changes
  • Add tests for incremental updates
  • Consider running transformers in parallel, via workers (if supported)

Convert these plugins to transformers:

  • Front matter
  • Drafts
  • File metadata (note: md2blog uses index plugin data! Good test case)
  • Inject files (md2blog uses site metadata here)
  • Markdown
  • Root paths
  • md2blog's header defaults... I think
  • Layout

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.