gwbasic / z3 Goto Github PK
View Code? Open in Web Editor NEWZ3 Blog Engine: A blog engine for NodeJS
License: MIT License
Z3 Blog Engine: A blog engine for NodeJS
License: MIT License
Animated gifs show their animation in the WYSIWYG editor.
But, on the published page they have no animation!
Need a way to preserve animated gifs uploaded to a page
After logging in, there is no link to create a post. Need a button to create a post.
(Also, allow enabling a login button on the blog itself.)
When pogon.html uses cheerio 1.0.0-rc5, requests fail with the following error:
TypeError: Cannot read property '_options' of undefined at exports.html (/Users/andrewrondeau/git/z3/node_modules/cheerio/lib/static.js:133:10) at initialize.exports.html (/Users/andrewrondeau/git/z3/node_modules/cheerio/lib/api/manipulation.js:697:12) at merge (/Users/andrewrondeau/git/z3/node_modules/pogon.html/pogon.html.js:217:40) at Object.exports.render (/Users/andrewrondeau/git/z3/node_modules/pogon.html/pogon.html.js:89:8) at async View.exports.renderFile [as engine] (/Users/andrewrondeau/git/z3/node_modules/pogon.html/pogon.html.js:185:20)
I'm not sure if that's a cheerio bug or a problem with pogon.html. For now, forcing pogon.html to use an older version of cheerio.
In the editor, add an "upload" button that allows uploading arbitrary media. (Video, audio file)
Then have a way to insert the media into the post.
It's confusing that the blog has no "login" link.
A "login" link should be enabled by default, and then optionally disabled on the configuration page.
Currently, all 3rd party Javascript dependencies come via CDN.
Experiment with using npm and WebPack for 3rd party dependencies.
NOTE: Currently, z3 is "build and run" if you have NodeJS, and deploys easily to Heroku. If this breaks "build and run," it's probably best to stick with CDNs for 3rd party Javascript.
One thing that's useful is allowing other people to view a preview of a blog post.
To do this, allow viewing a preview with a password.
OR: Allow connecting a Facebook account and allowing viewing a preview with a Facebook account.
Use https://www.startpage.com/ as the default search engine
It's based on Google and privacy focused
When editing a blog post, if the editor looses focus, the editor shrinks.
To reproduce:
Observe that the editor shrunk.
(Reproduced with Chrome on Mac)
The editor was originally intended to be WYSIWYG, but there are enough differences between the editor and final view that a preview button is ideal.
For this enhancement:
When sharing to facebook, ensure that the correct image is in the share.
To do this, use <meta property="og:image" ... >
See example at https://developers.facebook.com/docs/plugins/share-button
Note that this may require modifying the publish page to allow selecting the default image.
When viewing the preview of a blog entry, images are not resized.
Instead, images are shown at their full size.
Expected behavior: Show resized images just like the published blog entry
Throughout developing z3, I've found it difficult to work with CKEditor.
In this ticket: Try switching to Jodit: https://xdsoft.net/jodit/. Jodit contains a WYSIWYG mode that, in theory, should fix #5
Alternatively, try Quill: https://quilljs.com/
It appears that edits to the title are ignored.
To reproduce:
Observe that the title is still blank
Expected:
When editing a blog post, the header and footer take up a lot of screen real estate. They should be able to be hidden. In such a situation, only the content specific to the editor will be visible.
I recently encountered a 500 error when publishing a post. Upon closer inspection, an img tag had no src after the image was uploaded.
From the log:
2020-06-05T15:22:30.208817+00:00 app[web.1]: Unhandled error POST /publish/5: TypeError: Cannot read property 'startsWith' of undefined
2020-06-05T15:22:30.208837+00:00 app[web.1]: at Object.exports.extractImages (/app/z3.js:205:25)
2020-06-05T15:22:30.208838+00:00 app[web.1]: at /app/routes/publish.js:131:53
2020-06-05T15:22:30.208839+00:00 app[web.1]: at processTicksAndRejections (internal/process/task_queues.js:97:5)
The code:
` const originalSrc = imageElement.attribs.src;
if (originalSrc.startsWith(filterPrefix)) {`
My steps:
This triggered a 500 error.
But, then on closer inspection:
Buttons to share on Facebook, Twitter, LinkedIn, and Hacker News, would be useful!
Clean up the editor view so that more of the editor fits on screen.
The current problem with the editor is that the global navigation bar, editor links, and then editor toolbar, take up too much space on screen.
In this ticket: Figure out how to use less horizontal space so more screen gets dedicated to the editor itself.
A problem with CKEditor is that it removes unrecognized tags, like <form>. If someone adds custom HTML to a blog post, it will be cleared out as soon as the blog post is edited in WYSIWYG.
To reproduce:
Observe that the form is removed
In this bug:
When previewing a blog entry, every effort is made to make the blog entry look similar to the published blog entry.
The links in the sidebar listing summaries of other articles are broken.
For example: On https://andrewrondeau.herokuapp.com/preview/takehome_vs_whiteboard_coding_the_problem_is_bad_interviews, all three sidebar links to blog entries are broken.
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.