Hacker Newsnew | past | comments | ask | show | jobs | submit | mikaelmorvan's commentslogin

Congrats for getting open sourced


When I share a board with a link, the shared board is read-only even if the shared user can interact on board.

Good product anyway, I'll use it later I think


Yup, this was an intentional design choice we made! Thanks~


In fact the SingleFileZ format is quite magical : It's SingleFile that save the content of the page and the Z stand for Zip.

The SingleFile saved content is saved in Zip format in the result Html page.

The final SingleFileZ html page has Html header, Zip file in the body and a bunch of Javascript to decompress the content when the browser opens it.

It's magic !


Having a component that can save a web page in a very compact format is great! It's far better than MHTML.

In addition, the backup is not as usual the naive backup of files but a real backup of the page as interpreted by the browser.

For me it is the best component for saving web pages from far away.


The main problem with your code is that you only handle simple web1 site.

What about javascript execution ? If you replay your capture, you have no idea of what you will see on general Web2 website.

The only way I know to capture a web page properly is to "execute" it on a browser.

Gildas, the guy behind SingleFile (https://github.com/gildas-lormeau/SingleFile) is well aware of that and his approach realy works everytime.

Try on a Facebook post, a Tweet, ... It just works.


The capture includes JS, so this should work for most JS-dependent sites, with the exception of scripts loading other additional assets.

Tbh, often those are superfluous, or egregious examples of bad web dev, so it seems a reasonable solution for most cases.

SingleFile is a different approach, but it's a lot more involved/less convenient than a cli, and loading in something like WebDriver on the cli for this would be overkill, unless you're doing very serious archival work.


superfluous, or egregious examples of bad web dev?? Do you know what Web 2.0 is? Do you know what are React, Angular, and the other JS Frameworks?

When you create a modern webapp, a lot of data are retrieved from servers as Json and formated in the browser in Javascript. Even sometimes Css is generated on browser-side. Even more, on webapp where user login is taken into account, the display is modified accordingly.

That's the web of 2019. The approach consisting of geting remote files and launching them in a browser is really naive.

Speaking of SingleFile, it as a cli version and can handle full web 2.0 webapp without any problem. And of course, the Web 1.0 webapps work as well.


With the exception of actual XHR requests (which should ideally be for dynamic resources, and as such somewhat outside the remit of saving a webpage), I was referring specifically to JS loading JS, etc. solutions. React, Angular do not recommend/advise you to do this. This isn't a requirement in Web 2.0 or Web 5.0 or anything else.

In terms of React at least, fetch requests are not a part of the framework in any way and any present would typically be done in custom code in lifecycle methods. Even Redux, is—by default—client-side only. Stores are in-memory, actions populating them would make fetch requests with React/Redux-independent logic.

Other JS frameworks are, typically, the same. And all of that is just considering dynamic XHR. Loading scripts is much less typical, and never required. The most common application of this I've seen is the GA snippet, which mainly does it to ensure the load is async without relying on developer implementation: it's 100% unnecessary to do it this way.

So yes, unless you're distributing a tracking snippet that you expect non-devs to be blindly pasting into their wordpress panels and still have it work efficiently, generally speaking use of this method is never necessary, and commonly a red flag for poor architecture.


Sometimes we spent too much time in our own ecosystem. In 2019 most sites globally still use php and jquery.

Web 2.0 refers to the use of ajax. This refers to the early 2000s sajax, jquery..

If you want to separate angular, react, vue maybe it's web 3.0.. but wasn't web 3.0 referred to as mobile?


I think that's exactly what that person means by superfluous and egregious examples of bad web development; SPAs, javascript frameworks of that nature. :p


Yes, the debate between building a SPA with rich features or Web old pages with good SEO is eternal :) We see more and more an hybrid approach that can be called web 1.5 :)


So any ajax and it won't work?


Any ajax won't work offline.

Ajax will* still work fine with an internet connection as long as those ajax endpoints don't require cookies and don't linkrot.

* not 100% sure how the tool handles relative URLs embedded in source : if it's not clever enough though, this is very fixable via PR (as in its not an architectural limitation)


What's the point of saving a webpage if it won't work offline?


I hear ya but another way to look at this is...

The main problem with too many websites is they've become too much about technology and have left visitors, as well as the spirit and intent of the internet behind.


It stopped being about information and started being entertainment.

I agree with you. BadSite: "we want you to experience this.."

GoodSite: "we want you to learn this..."


To clarify myself a bit. Many of the new technologies are great...for building applications; applications where UI and UX are essential.

But for run-of-the-mill websites? Such tools are not only overkill, they break the spirit of the internet.


Is there a CLI version of it?



Does it also capture tracking crap? Wouldn't it be great to grab a URL via CL and read it local without anyone knowing?

If it does capture the tracking shite, would disconnecting from the internet be a good enough blocker?


By default, it will capture everything that would be interpreted/displayed. However, you can also run it with Selenium (and Firefox) instead of Puppeteer, and install your favorite extensions to block all the unwanted resources (there's a switch for that).


Puppeteer and FF will be a thing officialy by Chromium https://github.com/GoogleChrome/puppeteer/tree/master/experi...


Everything has its limits


Brilliant ! What a great idea, even if I don't know what to do whith that :D


You could archive pages! ;)


Hi,

Yes, It's like Firebase with more turnkeys services, serverless capabilities, and with the ability to host it anywhere. Can you send me a mail for financial requests ? morvan (at) zetapush (dot) com

Mikaël


Hello,

When you need to create a Web or mobile application, you have to create your backend, you must set up servers, set up databases (or possibly take them to a hosting company) and you must code your server code.

To do this, you need to hire an architect, a backend developer and for your web or mobile application, Fronts developers. It's very complex, it takes time and developer costs are high.

ZetaPush offers turnkey services that are instantly deployed on ZetaPush infrastructure. A front developer is autonomous, he does not need to have knowledge of software architecture or backend: only JavaScript. One developer versus at least three! It makes the difference! In short, ZetaPush saves companies a lot of time and money when they choose us.

Hope you've got your answer Mikaël


If you want to move to an other BaaS, ZetaPush provides NoSQL as a service, File storage as a service, Search as a service and lot's of other things for mobile, web, server and IoT


Hi, at zetapush (http://zetapush.com), we provide a realtime BaaS with database, file storage, search engine, ... everything with a websocket connection. You can use our javascript SDK to connect to our clusters.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: