Command-line utility for expanding exported theme files

Former Member
Former Member

Hey all,

I'm just throwing this out there in case it would be helpful to anyone working on Telligent themes.  When working with themes, I've found the following things difficult:

  • Figuring out specific theme changes between migration, staging, and production instances, especially if multiple people are working on them
  • Finding .less and .css files that contain classes I need to modify
  • Finding widgets that contain HTML, JavaScript, and language resources I need to modify
  • Figuring out a good way to manage custom themes in source control

I've created a new GitHub repo here (github.com/.../telligent-theme-utils) with a .NET Core command-line utility that will take an exported theme file and expand it out into a directory structure.  It makes it so much easier to identify what has changed between two versions of a theme, especially across multiple Telligent instances.

I haven't quite gotten to it yet, but I'm planning on adding a packaging command that will take the exploded directory structure and repackage back into a theme XML file.

Also, I don't know if any of you all use Scooter Software's Beyond Compare (Windows, Mac, Linux), but it's my favorite diff tool.

Feel free to reach out if you have any questions or suggestions.



fixed link
[edited by: Mathew DAmico at 7:10 PM (GMT 0) on Mon, Feb 8 2021]
Parents
  • Former Member
    0 Former Member

      - thanks for the pull request with the --clean flag.  I merged it in.  I also just implemented the --package command and fixed everything up so a full round trip (Theme => extract => package => Theme') looks pretty much like the original.  I didn't realize until I was repackaging things that it was important to remember the order that elements were in when they came out of the original theme file (like stylesheet files) so there are extra metadata files to capture that now.  I still need to figure out one issue where there is a slight encoding difference with some special characters.

    From diff tool, top line is repackaged version and bottom line is original.

Reply
  • Former Member
    0 Former Member

      - thanks for the pull request with the --clean flag.  I merged it in.  I also just implemented the --package command and fixed everything up so a full round trip (Theme => extract => package => Theme') looks pretty much like the original.  I didn't realize until I was repackaging things that it was important to remember the order that elements were in when they came out of the original theme file (like stylesheet files) so there are extra metadata files to capture that now.  I still need to figure out one issue where there is a slight encoding difference with some special characters.

    From diff tool, top line is repackaged version and bottom line is original.

Children
No Data