Generate a theme from a ready site

Hello. I found a static website on the internet and I want to use its design. Is there a way to automatically generate a ready-made theme from such a site?

Hugo itself no, and I doubt other static site generators and CMS have that feature.

Tools, scripts, they might be something out there that can do that … but again you’ll more likely have to port it to Hugo still since if such a tool/script exists, it will only generate the relevant files and codes. Porting it to an SSG or CMS is a totally different ballgame.

There is also the issue of Copyright. Web designs (and codes itself) are protected under the Copyright law.

If the design of a website is under a Permissive or Copyleft license, more likely you can download the source for it, so a tool/script to scrape the design is no longer needed.


I would ask permission and even the topic itself from its author, but he did not indicate any contacts or a license.

You would still need to get permission from the author. And then you would need to rebuild the websites design in hugo’s template language and structure the site scaffold accordingly. So the work has to be manually done no matter how you attempt to tackle it.

If a person did not indicate contacts for communication, then this suggests that he does not want to be disturbed at all for any reason. He hasn’t listed the licenses for articles and designs yet.

Of course, I can just brazenly copy the design without permission, notification, requests, etc., so that later I can hear from the author how bad I am.

It is not because the author did not indicate a license or a way to be contacted that one can use/rob/plunder his work. It is not very elegant (and often not allow by laws) to reuse or even modify a creation without permission. To finish on a more positive note, by default you should at least specify the source (the URL of the site) and indicate somewhere that you have not managed to contact the original author (this is really the minimum). And if the original site has a domain name, you can try