kevinhaube / zine Goto Github PK
View Code? Open in Web Editor NEWA micro front-end for creating online photography zines to share.
A micro front-end for creating online photography zines to share.
A single page configuration will include a unique ID mapped to a desired template. This id should be used to generate a component that can be rendered, and provide the necessary props from the configuration to this component.
We should throw if the templateId
is not a valid enumerated TemplateName
.
We should throw if the necessary props are not provided to the generator.
Map.get()
returns undefined)There needs to be a layer controlling when the next page of a Zine
becomes available. To do this, the ZineCover
context provider will handle fetching the active zine config from the API, and allowing access to each next page as the current triggers it.
availablePages
to consumers of the contextZinePage
templates can call once their timeout is upPhotography is meant to be cherished. This timer hook will make a user wait with the image in-view for a designated timeout, thus forcing them into slowing down. This is the whole reason I'm making this thing.
This should start the timer when the view is the page in view. The timer should reset whenever the page leaves the view as a default behavior. An override can be provided to instead pause the timer.
ZineCover
in #4)The README should address the following things:
ZinePage
ecosystem is planned to workyarn start
results in the full presentation of my first zineA Zine
needs to be able to feed in an array of page configurations to be rendered as ZinePages
.
These configurations can include the following parameters for the corresponding purpose:
images
: array of one or more images to render on the pagecaptions
: array of caption cviewTimeRequirement
: the amount of time usePageTimer()
will wait before allowing the next page to rendertemplateId
: the unique ID for the template to renderZinePageProps
ZinePage
component that can take ZinePageProps
Reference: https://daveceddia.com/react-cli-with-bash/
Now that the framework is fleshed out, I want to package a CLI with it so no manual file creation is necessary. In this ticket, components (both logical and block) should be created and added to their directory's index files.
Much like a framed photo, most galleries or zines start with a basic layout -- one image on one page. For the MVP, this will be our default template. A later release will introduce more template options.
ZinePage
without errorThrough the command line, I need to be able to generate a file for the template
directory. This should include a directory named after the template, the template file with a generator and empty rules array exported, and all necessary bits added into the templates
index file.
Through a command line, I need to be able to generate extension hooks and add them to the indexes in extension-hooks
and framework
.
To lock people into my very specific way of having them view my online zine, I will prevent free scrolling. Instead, users will snap scroll between pages.
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.