"See a Need, Fill a Need!" ๐ช
-- Bigweld, Robots
Airtable backed static site generator, built with golang
License: MIT License
"See a Need, Fill a Need!" ๐ช
-- Bigweld, Robots
This data ought to come from airtable, via a meta table (...or something, as part of this task you will have to make a decision and determine pros/cons of your solution).
The expectation is there ought to be two templates (representing header and footer) that are reused in all the other content templates
For this task, implement the pipeline necessary for formatting, building and publishing the content to the internet.
In particular,
git checkout -b rumman/first-pr
Currently testing docker on the laptop and also making changes to see what works or doesn't.
Currently, the refresh_data
script (cmd/refresh_data/main.go
) hardcodes a look up to the Home table in airtable.
config.json
looks like this:
{
"nav": [{
"name": "Home",
"key": "Home",
"filenameRoot": "index"
}],
}
As a part of this task, update the implementation of refresh_data
to read the config.json
file, iterate through each record in the JSON struct and query airtable for the tablename found in the key
field.
Each key
field lookup should generate a corresponding [filenameRoot].json
file in the data folder.
For example, if config.json
looked as follows:
{
"nav": [{
"name": "Home",
"key": "Home",
"filenameRoot": "index"
}, {
"name": "About",
"key": "About",
"filenameRoot": "about"
}],
}
and the airtable base has a second About
table defined, then the script should generate TWO files in the data/
folder:
data
|-- index.json
|-- about.json
Since the first filenameRoot
key is index
and the second filenameRoot
key is about
.
If the airtable API errors, ignore that error but do not allow the application to panic! So for instance, if there was no about
table in Airtable, the expected output should still be:
data
|-- index.json
This template is used with the following pages:
All of these pages should use the same underlying template, so implementation of a single template knocks out a significant chunk of the work
Build the bare minimum scripts, dockerfiles, and make targets necessary to easily get up and running with this project.
Document how everything ought to work in README.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.