newsdev / ai2html

A script for Adobe Illustrator that converts your Illustrator artwork into an html page.
http://ai2html.org
Other
897 stars 145 forks source link

Thoughts #111

Open zzolo opened 5 years ago

zzolo commented 5 years ago

This is in response to: https://github.com/newsdev/ai2html/pull/110#issuecomment-451308104

So, we've been using ai2html a bit on projects. I think we want to ramp up our usage a bit, since we have so many print graphics that could be ported to digital. I know very little about Illustrator, and my goals have been working to try to get ai2html customized and easy to use in our organization. My work so far has been here: https://github.com/striblab/strib-ai2html

The recent move to use config JSON files is huge and allowed me to rip out a bunch of code that was rewriting the ai2html.js script to insert our configuration.

I'd love to see this project become a bit more modular. Specifically, I would love to "build" the ai2html script with custom configuration as well as being able to maybe overwrite specific functions, like what and how things get output.

Maybe this could be handled in a configuration system that allowed for JS and passing in functions to to specific settings. A real rough example might be like:

{
  output_path: function (app, docPath, settings) {
    // Create a custom path based on project name
    return docPath + '/' + settings.project_name
  },
  render: function (html, js, css) {
    return 'Custom template' + html;
  }
}

A lot of it has been removed, which is great, but all the NYT specific code in the project makes it hard to fully understand what is going on easily, and it speaks to how the project can be made better so that each organization can customize things. In theory, there should be no specific NYT code in there, and all of it should be handled with configuration or hooks or whatever.

And I'd love to see consistent code styles, maybe modern JS that gets compiled to JS that Illustrator can understand (via Babel), and a more modular code base. But these are mostly because I would be more comfortable contributing if these things were true.

Again, great project, and thanks for sharing, making better, and being responsive.