├── .eslintignore ├── defaults ├── context │ ├── ctas │ │ ├── default.html │ │ └── 46f5763d-3ac9-4b83-96c9-30b61d51f486.html │ ├── default-modules │ │ └── 123 │ │ │ ├── 1155231 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ ├── 1155232 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ ├── 1155238 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1155240 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1155241 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ └── module.html │ │ │ ├── 1155639 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1155826 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1155827 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── fields.json │ │ │ └── module.html │ │ │ ├── 1155836 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1346990 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1366599 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1366601 │ │ │ ├── fields.json │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1366603 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1366605 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1366606 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ ├── 1366607 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1366608 │ │ │ ├── module.css │ │ │ ├── module.html │ │ │ ├── module.js │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1366743 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1367088 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ ├── 1367089 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ ├── 1367090 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ ├── 1367092 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1367093 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ ├── 1367094 │ │ │ ├── module.css │ │ │ ├── module.html │ │ │ ├── module.js │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1790628 │ │ │ ├── fields.json │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1790629 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1790630 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1790631 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1790632 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1843376 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1843377 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1847337 │ │ │ ├── fields.json │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 1851328 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1861177 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 1928544 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── meta.json │ │ │ └── module.html │ │ │ ├── 1976948 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ └── meta.json │ │ │ ├── 2191110 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 2712622 │ │ │ ├── fields.json │ │ │ ├── module.css │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 2712624 │ │ │ ├── fields.json │ │ │ ├── module.css │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 2762241 │ │ │ ├── fields.json │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── 2763545 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ └── meta.json │ │ │ ├── 2764908 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 2764909 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 2765204 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── 2794854 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── fields.json │ │ │ └── 2869621 │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ └── meta.json │ ├── owner.json │ ├── hubdb │ │ └── 123 │ │ │ ├── hubdb.db │ │ │ └── table-meta-1029037.json │ ├── contact.json │ ├── company.json │ ├── hubspot-stylesheets │ │ └── hubspot │ │ │ └── styles │ │ │ └── patches │ │ │ └── recommended.css │ ├── request.json │ └── resource-mappings │ │ └── 123 │ │ └── mappings.json ├── designs │ ├── Marketplace │ │ └── www.hubspot-site-setup.com │ │ │ └── Vast_Site_Setup │ │ │ └── Custom_Modules │ │ │ ├── Vast Blog Title.module │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── fields.json │ │ │ └── meta.json │ │ │ ├── Vast Testimonial.module │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ ├── module.css │ │ │ └── fields.json │ │ │ ├── Vast Team Member Module.module │ │ │ ├── module.js │ │ │ ├── module.css │ │ │ ├── meta.json │ │ │ └── module.html │ │ │ ├── Vast Back To Top Button.module │ │ │ ├── fields.json │ │ │ ├── module.html │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ └── meta.json │ │ │ ├── Vast Footer Contact Information.module │ │ │ ├── module.css │ │ │ ├── module.js │ │ │ ├── fields.json │ │ │ ├── meta.json │ │ │ └── module.html │ │ │ ├── Vast Service & Product Description copy.module │ │ │ ├── module.js │ │ │ ├── module.css │ │ │ ├── module.html │ │ │ └── meta.json │ │ │ ├── Vast Well Module copy.module │ │ │ ├── module.js │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ └── module.css │ │ │ ├── Vast Tabber.module │ │ │ ├── fields.json │ │ │ ├── meta.json │ │ │ ├── module.html │ │ │ ├── module.js │ │ │ └── module.css │ │ │ └── Vast FAQ Module.module │ │ │ ├── module.html │ │ │ ├── meta.json │ │ │ ├── module.js │ │ │ ├── fields.json │ │ │ └── module.css │ └── Custom │ │ └── features │ │ ├── modules_example.html │ │ └── hubdb_example.html ├── cli-config.yaml └── server-config.yaml ├── .npmrc ├── .gitignore ├── jest.config.js ├── bin ├── tasks │ ├── constants.js │ ├── blog_download.js │ ├── nav_menu_download.js │ ├── layout_download.js │ ├── content_download.js │ ├── download_ftp_designs.js │ └── resource_mapping_download.js ├── utils │ ├── ftp.js │ └── api.js ├── hubtasks.js ├── cli.js └── main.js ├── tests ├── tasks │ ├── test_base.js │ ├── blog_download.test.js │ ├── hubdb_download.test.js │ ├── layout_download.test.js │ ├── content_download.test.js │ ├── nav_menu_download.test.js │ ├── default_module_download.test.js │ ├── resource_mapping_download.test.js │ ├── download_ftp_designs.test.js │ └── base_task.test.js └── ftp_upload.test.js ├── .eslintrc.js ├── LICENSE └── package.json /.eslintignore: -------------------------------------------------------------------------------- 1 | defaults/ 2 | -------------------------------------------------------------------------------- /defaults/context/ctas/default.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.com/ 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .DS_Store? 3 | node_modules/ 4 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155231/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155231/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155232/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155232/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155238/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155238/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155240/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155240/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155241/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155241/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155639/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155639/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155826/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155826/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155827/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155827/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155836/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155836/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1346990/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1346990/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366599/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366599/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366601/fields.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366601/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366601/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366603/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366603/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366605/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366605/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366606/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366606/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366607/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366607/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366608/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366608/module.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366608/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366743/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366743/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367088/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367088/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367089/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367089/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367090/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367090/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367092/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367092/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367093/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367093/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367094/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367094/module.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367094/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790628/fields.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790628/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790628/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790629/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790629/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790630/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790630/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790631/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790631/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790632/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790632/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843376/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843376/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843377/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843377/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1847337/fields.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1847337/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1847337/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1851328/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1851328/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1861177/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1861177/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1928544/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1928544/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1976948/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1976948/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2191110/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2191110/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712624/fields.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2762241/fields.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2762241/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2762241/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2763545/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2763545/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764908/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764908/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764909/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764909/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2765204/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2765204/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2794854/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2794854/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2869621/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2869621/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | transform: {}, 3 | }; -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764908/module.html: -------------------------------------------------------------------------------- 1 | {{ module.value }} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764909/module.html: -------------------------------------------------------------------------------- 1 | {{ module.value }} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2765204/module.html: -------------------------------------------------------------------------------- 1 | {{ module.color }} -------------------------------------------------------------------------------- /bin/tasks/constants.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | FTP_HOST: 'ftp.hubapi.com' 3 | } 4 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790628/module.html: -------------------------------------------------------------------------------- 1 | {% page_footer "page_footer" %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790629/module.html: -------------------------------------------------------------------------------- 1 | {% cta guid='{{ module.guid }}' %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843376/module.html: -------------------------------------------------------------------------------- 1 | {% text value="{{module.value}}" %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155639/module.html: -------------------------------------------------------------------------------- 1 | {% rich_text html="{{module.html}}" %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366601/module.html: -------------------------------------------------------------------------------- 1 | {% blog_comments "blog_comments" %} 2 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366605/module.html: -------------------------------------------------------------------------------- 1 | {% rich_text html='{{module.html}}' %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367089/module.html: -------------------------------------------------------------------------------- 1 | {% rich_text html='{{module.html}}' %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790631/module.html: -------------------------------------------------------------------------------- 1 | {% inline_rich_text field="html" value="{{ module.html }}" %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1851328/module.html: -------------------------------------------------------------------------------- 1 | {% inline_rich_text field="html" html="{{ module.html }}" %} -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Blog Title.module/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Blog Title.module/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Testimonial.module/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366607/module.html: -------------------------------------------------------------------------------- 1 | {% language_switcher display_mode='{{ module.display_mode }}' %} 2 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Team Member Module.module/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/owner.json: -------------------------------------------------------------------------------- 1 | { 2 | "firstname": "Brian", 3 | "lastname": "Halligan", 4 | "email": "owner@hubspot.com" 5 | } 6 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Back To Top Button.module/fields.json: -------------------------------------------------------------------------------- 1 | [ ] -------------------------------------------------------------------------------- /defaults/context/hubdb/123/hubdb.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HubSpot/local-cms-server-cli/HEAD/defaults/context/hubdb/123/hubdb.db -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Footer Contact Information.module/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Footer Contact Information.module/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Service & Product Description copy.module/module.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Service & Product Description copy.module/module.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155240/module.html: -------------------------------------------------------------------------------- 1 | {% section_header 2 | header='{{ module.header }}', 3 | subheader='{{ module.subheader }}' 4 | %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790630/module.html: -------------------------------------------------------------------------------- 1 | {% simple_menu menu_tree="{{ module.menu_tree }}", orientation="{{ module.orientation }}" %} 2 | 3 | 4 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366599/module.html: -------------------------------------------------------------------------------- 1 | {% password_prompt submit_button_text='{{ module.submit_button_text }}', bad_password_message='{{ module.bad_password_message }}' %} 2 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367092/module.html: -------------------------------------------------------------------------------- 1 | {% if is_listing_view %} 2 | {{ module.blog_listing_source }} 3 | {% else %} 4 | {{ module.blog_post_source }} 5 | {% endif %} -------------------------------------------------------------------------------- /defaults/context/contact.json: -------------------------------------------------------------------------------- 1 | { 2 | "firstname": "Hugh B.", 3 | "lastname": "Spot", 4 | "email": "hubspot@hubspot.com", 5 | "phone": "1-888-482-7768", 6 | "company": "HubSpot" 7 | } 8 | -------------------------------------------------------------------------------- /defaults/context/company.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "HubSpot", 3 | "description": "Marketing and Sales Software", 4 | "address": "25 First Street", 5 | "state": "Massachusetts", 6 | "industry": "Software" 7 | } 8 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Back To Top Button.module/module.html: -------------------------------------------------------------------------------- 1 |
2 | 3 |
-------------------------------------------------------------------------------- /bin/utils/ftp.js: -------------------------------------------------------------------------------- 1 | function getFtpHost(options = { env: 'PROD' }) { 2 | const { env } = options; 3 | return env === 'PROD' ? 'ftp.hubapi.com' : 'ftp.hubapiqa.com'; 4 | } 5 | 6 | module.exports = { 7 | getFtpHost, 8 | }; 9 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1861177/module.html: -------------------------------------------------------------------------------- 1 | {% blog_subscribe "blog_subscribe" 2 | select_blog='{{ module.select_blog }}', 3 | title='{{ module.title }}', 4 | response_message='{{ module.response_message }}' 5 | %} 6 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1847337/module.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Blog Title.module/module.html: -------------------------------------------------------------------------------- 1 | {% if module.title is truthy %} 2 |

{{ module.title }}

3 | {% else %} 4 |

{{ group.public_title }}

5 | {% endif %} -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Well Module copy.module/module.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | $("#well .close").click(function(){ 3 | $(this).parent("#well").fadeOut(); 4 | }); 5 | }); -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155836/module.html: -------------------------------------------------------------------------------- 1 | {% google_search 2 | search_field_label='{{ module.search_field_label }}', 3 | search_button_text='{{ module.search_button_text }}', 4 | prefill_input_with_pathname='{{module.prefill_input_with_pathname}}' 5 | %} 6 | 7 | -------------------------------------------------------------------------------- /tests/tasks/test_base.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const yaml = require('js-yaml'); 3 | 4 | function setupMocks(config) { 5 | fs.readFileSync = jest.fn().mockReturnValue(); 6 | yaml.safeLoad = jest.fn().mockReturnValue(config); 7 | } 8 | 9 | module.exports = { 10 | setupMocks 11 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1346990/module.html: -------------------------------------------------------------------------------- 1 | {% set menu_id = module.id || module.menu %} 2 | {% menu 3 | id="{{ menu_id }}", 4 | root_type="{{ module.root_type }}", 5 | flyouts="{{ module.flyouts }}", 6 | max_levels="{{ module.max_levels }}", 7 | flow="{{ module.flow }}" 8 | %} -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: ['node'], 3 | rules: { 4 | 'class-methods-use-this': 0, 5 | 'no-console': 0, 6 | 'no-new': 0, 7 | 'no-sync': 0, 8 | 'import/no-commonjs': 0, 9 | 'import/no-nodejs-modules': 0, 10 | }, 11 | plugins: ["jest"], 12 | env: { 13 | "jest/globals": true 14 | } 15 | }; 16 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366606/module.html: -------------------------------------------------------------------------------- 1 | {% email_simple_subscription 2 | "email_simple_subscription" 3 | header="{{ module.header }}", 4 | input_help_text="{{ module.input_help_text }}", 5 | input_placeholder="{{ module.input_placeholder }}", 6 | button_text="{{ module.button_text }}", 7 | label="Backup Unsubscribe" 8 | %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790629/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": null, 4 | "hierarchical": false, 5 | "id": "3c02c6b2-ab7e-3782-df14-06e81519fe4f", 6 | "label": "CTA", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "guid", 10 | "required": false, 11 | "sortable": false, 12 | "type": "cta" 13 | } 14 | ] -------------------------------------------------------------------------------- /bin/hubtasks.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const shell = require('shelljs'); 4 | 5 | function runTasks(tasks, printTasks) { 6 | process.env.project_root = process.cwd(); 7 | process.chdir(__dirname); 8 | 9 | const cmd = printTasks ? 'gulp --tasks' : 'gulp ' + tasks.join(' '); 10 | shell.exec(cmd); 11 | } 12 | 13 | module.exports = { 14 | runTasks 15 | }; -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366608/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": null, 4 | "hierarchical": false, 5 | "id": "6b55f80a-5707-405e-38c5-51b553fdbf3f", 6 | "label": "HTML", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "value", 10 | "required": false, 11 | "sortable": false, 12 | "type": "html" 13 | } 14 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367094/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": null, 4 | "hierarchical": false, 5 | "id": "b8371019-a89d-fa70-a5da-ca58367dd61b", 6 | "label": "HubL", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "value", 10 | "required": false, 11 | "sortable": false, 12 | "type": "hubl" 13 | } 14 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764908/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": false, 4 | "hierarchical": false, 5 | "id": "21e82ff2-7430-a79d-d175-099b160679c8", 6 | "label": "Value", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "value", 10 | "required": false, 11 | "sortable": false, 12 | "type": "boolean" 13 | } 14 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2765204/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": "#ffffff", 4 | "hierarchical": false, 5 | "id": "62c88238-eb4a-b9c9-9ae5-90638ff27c05", 6 | "label": "Color", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "color", 10 | "required": false, 11 | "sortable": false, 12 | "type": "color" 13 | } 14 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Back To Top Button.module/module.css: -------------------------------------------------------------------------------- 1 | .back-to-top { 2 | position: fixed; 3 | bottom: 5px; 4 | right: 11px; 5 | width: auto; 6 | font-size: 20px; 7 | padding: 1px 8px 4px; 8 | border-radius: 4px; 9 | background: #34495e; 10 | cursor: pointer; 11 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Tabber.module/fields.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "id" : "9b4d37e3-f70c-056c-98f7-abd496b26024", 3 | "name" : "blog", 4 | "label" : "Blog", 5 | "sortable" : false, 6 | "required" : false, 7 | "locked" : false, 8 | "hierarchical" : false, 9 | "max_depth" : 0, 10 | "type" : "blog", 11 | "default" : null 12 | } ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712624/module.css: -------------------------------------------------------------------------------- 1 | .hs-search-results__listing { 2 | margin: 0; 3 | padding: 0; 4 | list-style: none; 5 | } 6 | .hs-search-results__listing li { 7 | margin: 0; 8 | padding: 0; 9 | } 10 | .hs-search-highlight { 11 | font-weight: bold; 12 | } 13 | .hs-search-results__prev-page { 14 | float: left; 15 | } 16 | .hs-search-results__next-page { 17 | float: right; 18 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367088/module.html: -------------------------------------------------------------------------------- 1 | {% if module.select_blog is number %} 2 | {% set select_blog = module.select_blog %} 3 | {% else %} 4 | {% set select_blog = 'default' %} 5 | {% endif %} 6 | 7 | {% post_listing 8 | select_blog='{{ select_blog }}', 9 | listing_type='{{module.listing_type}}', 10 | list_title='{{ module.list_title }}', 11 | max_links={{ module.max_links }} 12 | %} 13 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367090/module.html: -------------------------------------------------------------------------------- 1 | {% email_subscriptions_confirmation 2 | "email_subscriptions_confirmation" 3 | label='Subscriptions Update Confirmation', 4 | header='{{ module.header }}', 5 | unsubscribe_all_success="{{ module.unsubscribe_all_success }}", 6 | subscription_update_success="{{ module.subscription_update_success }}", 7 | subheader_text="{{ module.subheader_text }}" 8 | %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2762241/module.html: -------------------------------------------------------------------------------- 1 |

It looks like you're currently unsubscribed from receiving email from us, which means we won't be able to complete your request until you 2 | update your subscription preferences.

3 |

Please let us know if you have any questions. We'd be delighted to help you out.

4 |

All the best,

-------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Blog Title.module/fields.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "id" : "ff756479-8c12-d2af-db3d-0b5767b686d1", 3 | "name" : "title", 4 | "label" : "Blog Title", 5 | "sortable" : false, 6 | "required" : false, 7 | "locked" : false, 8 | "validation_regex" : "", 9 | "hierarchical" : false, 10 | "max_depth" : 0, 11 | "allow_new_line" : false, 12 | "type" : "text", 13 | "default" : null 14 | } ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712622/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": null, 5 | "hierarchical": false, 6 | "id": "e75bef76-6568-6550-8840-1d97bfc93c0b", 7 | "label": "Field Placeholder", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "placeholder", 11 | "required": false, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text", 15 | "validation_regex": "" 16 | } 17 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast FAQ Module.module/module.html: -------------------------------------------------------------------------------- 1 | {# Accoordion Layout #} 2 |
3 |
4 |
{{ module.faq_question }}
5 |
6 | {{ module.faq_answer }} 7 |
8 |
9 |
10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843376/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": "Some additional information in one line", 5 | "hierarchical": false, 6 | "id": "08eaed43-5c2a-4d2e-1814-d370b0f2abab", 7 | "label": "Text", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "value", 11 | "required": false, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text", 15 | "validation_regex": "" 16 | } 17 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366743/module.html: -------------------------------------------------------------------------------- 1 | {% if module.select_blog is number %} 2 | {% set select_blog = module.select_blog %} 3 | {% else %} 4 | {% set select_blog = 'default' %} 5 | {% endif %} 6 | 7 | {% post_filter 8 | select_blog='{{ select_blog }}', 9 | expand_link_text='{{ module.expand_link_text }}', 10 | list_title='{{ module.list_title }}', 11 | filter_type='{{ module.filter_type }}', 12 | order_by='{{ module.order_by }}', 13 | max_links={{ module.max_links }} 14 | %} 15 | -------------------------------------------------------------------------------- /bin/utils/api.js: -------------------------------------------------------------------------------- 1 | 2 | const BLOGS_API = 'blogs/v3'; 3 | const CONTENT_API = 'content/api/v4'; 4 | const DESIGN_MANAGER_API = 'designmanager/v1'; 5 | const HUBDB_API = 'hubdb/api/v2'; 6 | 7 | function getApiUrl(path, options = { env: 'PROD' }) { 8 | const { env } = options; 9 | const host = env === 'PROD' ? 'api.hubapi.com' : 'api.hubapiqa.com'; 10 | return `https://${host}/${path}`; 11 | } 12 | 13 | module.exports = { 14 | BLOGS_API, 15 | CONTENT_API, 16 | DESIGN_MANAGER_API, 17 | HUBDB_API, 18 | getApiUrl, 19 | }; 20 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Well Module copy.module/module.html: -------------------------------------------------------------------------------- 1 |
2 | {% if module.ability_to_close %} 3 | 4 | {% endif %} 5 |
6 | 7 | {{ module.well_text_editor }} 8 |
9 |
-------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Footer Contact Information.module/fields.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "id" : "efad4ac2-e9e1-fcc6-f11e-f0eb3e5084e7", 3 | "name" : "company_email", 4 | "label" : "Company Email", 5 | "sortable" : false, 6 | "required" : false, 7 | "locked" : false, 8 | "validation_regex" : "", 9 | "hierarchical" : false, 10 | "max_depth" : 0, 11 | "placeholder" : "Company Email", 12 | "allow_new_line" : false, 13 | "type" : "text", 14 | "default" : "yourname@company.com" 15 | } ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790631/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": "

Please confirm your subscription

", 4 | "hierarchical": false, 5 | "id": "7ea625c5-2a67-2731-0220-1a4d62479799", 6 | "label": "HTML", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "html", 10 | "required": false, 11 | "sortable": false, 12 | "type": "richtext" 13 | } 14 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764909/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "choices": [ 4 | [ 5 | "value_1", 6 | "Label 1" 7 | ], 8 | [ 9 | "value_2", 10 | "Label 2" 11 | ] 12 | ], 13 | "default": null, 14 | "display": "select", 15 | "hierarchical": false, 16 | "id": "eadd88df-bde2-92ca-5906-07339e39f069", 17 | "label": "", 18 | "locked": false, 19 | "max_depth": 0, 20 | "name": "value", 21 | "placeholder": "Search", 22 | "required": false, 23 | "sortable": false, 24 | "type": "choice" 25 | } 26 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Back To Top Button.module/module.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | var $backToTop = $(".back-to-top"); 3 | $backToTop.hide(); 4 | 5 | $(window).scroll(function() { 6 | if ($(this).scrollTop()>50) { 7 | $backToTop.fadeIn(); 8 | } else { 9 | $backToTop.fadeOut(); 10 | } 11 | }); 12 | 13 | $backToTop.find("a").click(function(e) { 14 | e.preventDefault(); 15 | $("html, body").animate({scrollTop: 0}, 500); 16 | }); 17 | }); -------------------------------------------------------------------------------- /defaults/cli-config.yaml: -------------------------------------------------------------------------------- 1 | # global args 2 | hapikey: null 3 | pathToContextDir: context 4 | username: null 5 | password: null 6 | portalId: null 7 | 8 | # task-specific args 9 | download-blogs: 10 | limit: null 11 | 12 | download-content: 13 | limit: null 14 | 15 | download-default-modules: 16 | limit: null 17 | 18 | download-designs: 19 | outDir: designs 20 | 21 | download-hubdb: 22 | batchSize: 1 23 | 24 | download-layouts: 25 | limit: null 26 | 27 | download-menus: 28 | limit: null 29 | 30 | download-resource-mappings: 31 | limit: null 32 | 33 | ftp-upload: 34 | designsPath: designs 35 | files: 36 | - null 37 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366603/module.html: -------------------------------------------------------------------------------- 1 | {% email_subscriptions 2 | "email_subscriptions" 3 | resubscribe_button_text="{{ module.resubscribe_button_text }}", 4 | unsubscribe_single_text="{{ module.unsubscribe_single_text }}", 5 | subheader_text="{{ module.subheader_text }}", 6 | unsubscribe_all_unsubbed_text="{{ module.unsubscribe_all_unsubbed_text }}", 7 | button_text="{{ module.button_text }}", 8 | label="{{ module.label }}", 9 | header="{{ module.header }}", 10 | unsubscribe_all_option="{{ module.unsubscribe_all_option }}", 11 | unsubscribe_all_text="{{ module.unsubscribe_all_text }}" 12 | %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712624/module.html: -------------------------------------------------------------------------------- 1 |
2 | 8 | 9 |
10 | 11 | 12 |
13 |
-------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Service & Product Description copy.module/module.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 |
6 |
7 |

{{ module.service_product_headline }}

8 |
9 |
10 | {{ module.service_product_text }} 11 |
12 |
13 |
14 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155826/module.html: -------------------------------------------------------------------------------- 1 | {# 2 | Header type field used to be named header_type but it should be 3 | header_tag. Any header modules added/configured before the name 4 | change will have their types under header_type so we need to check 5 | both values to determine the tag. 6 | #} 7 | {% set header_tag = module.header_tag || module.header_type %} 8 | {# 9 | We can't set the default to h1 on the field because it would 10 | override existing header_type values, so we need this check 11 | #} 12 | {% if !header_tag %} 13 | {% set header_tag = 'h1' %} 14 | {% endif %} 15 | {% header 16 | header_tag="{{ header_tag }}" 17 | value="{{ module.value }}" 18 | %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155827/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": null, 5 | "hierarchical": false, 6 | "id": "98a15dc8-63cd-8460-825b-8042cac61ec7", 7 | "label": "Module header", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "title", 11 | "required": false, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text" 15 | }, 16 | { 17 | "default": true, 18 | "hierarchical": false, 19 | "id": "62e6386f-dd2d-929c-b1d1-04ab9f8c18ae", 20 | "label": "Open links in new window", 21 | "locked": false, 22 | "max_depth": 0, 23 | "name": "links", 24 | "required": false, 25 | "sortable": false, 26 | "type": "boolean" 27 | } 28 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155231/module.html: -------------------------------------------------------------------------------- 1 | {% if module.target == true %} 2 | {% set target = "_blank" %} 3 | {% else %} 4 | {% set target = "_parent" %} 5 | {% endif %} 6 | 7 | {% if (module.link is string_startingwith "http") or (module.link is string_startingwith "/") %} 8 | {% set link = module.link %} 9 | {% elif !module.link %} 10 | {% set link = "" %} 11 | {% else %} 12 | {% set link = "//" ~ module.link %} 13 | {% endif %} 14 | 15 | {% linked_image 16 | label="Linked Image", 17 | src='{{ module.img.src }}', 18 | alt='{{ module.img.alt }}', 19 | width='{{ module.img.width }}', 20 | height='{{ module.img.height }}', 21 | link='{{ link }}', 22 | target='{{ target }}', 23 | open_in_new_tab='{{ target }}' 24 | %} 25 | -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Testimonial.module/module.html: -------------------------------------------------------------------------------- 1 |
2 |
{{ module.quote }} 3 |
4 |

5 | {{ module.firstlast_name }} 6 | {{ module.company }} 7 |

8 | 9 |
10 |
11 | {% if module.person_headshot.src %} 12 | {{ module.person_headshot.alt }} 13 | {% endif %} 14 |
-------------------------------------------------------------------------------- /tests/tasks/blog_download.test.js: -------------------------------------------------------------------------------- 1 | const BlogTask = require('../../bin/tasks/blog_download').BlogTask; 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = BlogTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | hapikey: 12345, 9 | pathToContextDir: 'context', 10 | [taskName]: { 11 | limit: null 12 | } 13 | }; 14 | testBase.setupMocks(config); 15 | new BlogTask(); 16 | }); 17 | 18 | it('Should throw an error if the required args are absent.', () => { 19 | const config = { 20 | hapikey: null, 21 | pathToContextDir: null, 22 | [taskName]: { 23 | limit: null 24 | } 25 | }; 26 | testBase.setupMocks(config); 27 | expect(() => new BlogTask()).toThrow(); 28 | }); -------------------------------------------------------------------------------- /tests/tasks/hubdb_download.test.js: -------------------------------------------------------------------------------- 1 | const HubDbTask = require('../../bin/tasks/hubdb_download').HubDbTask; 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = HubDbTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | hapikey: 12345, 9 | pathToContextDir: 'context', 10 | [taskName]: { 11 | batchSize: 1 12 | } 13 | }; 14 | testBase.setupMocks(config); 15 | new HubDbTask(); 16 | }); 17 | 18 | it('Should throw an error if the required args are absent.', () => { 19 | const config = { 20 | hapikey: null, 21 | pathToContextDir: null, 22 | [taskName]: { 23 | batchSize: 1 24 | } 25 | }; 26 | testBase.setupMocks(config); 27 | expect(() => new HubDbTask()).toThrow(); 28 | }); -------------------------------------------------------------------------------- /tests/tasks/layout_download.test.js: -------------------------------------------------------------------------------- 1 | const LayoutTask = require('../../bin/tasks/layout_download').LayoutTask; 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = LayoutTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | hapikey: 12345, 9 | pathToContextDir: 'context', 10 | [taskName]: { 11 | limit: null 12 | } 13 | }; 14 | testBase.setupMocks(config); 15 | new LayoutTask(); 16 | }); 17 | 18 | it('Should throw an error if the required args are absent.', () => { 19 | const config = { 20 | hapikey: null, 21 | pathToContextDir: null, 22 | [taskName]: { 23 | limit: null 24 | } 25 | }; 26 | testBase.setupMocks(config); 27 | expect(() => new LayoutTask()).toThrow(); 28 | }); -------------------------------------------------------------------------------- /tests/tasks/content_download.test.js: -------------------------------------------------------------------------------- 1 | const ContentTask = require('../../bin/tasks/content_download').ContentTask; 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = ContentTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | hapikey: 12345, 9 | pathToContextDir: 'context', 10 | [taskName]: { 11 | limit: null 12 | } 13 | }; 14 | testBase.setupMocks(config); 15 | new ContentTask(); 16 | }); 17 | 18 | it('Should throw an error if the required args are absent.', () => { 19 | const config = { 20 | hapikey: null, 21 | pathToContextDir: null, 22 | [taskName]: { 23 | limit: null 24 | } 25 | }; 26 | testBase.setupMocks(config); 27 | expect(() => new ContentTask()).toThrow(); 28 | }); -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155639/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": "

Something Powerful

\n

Tell The Reader More

\n

The headline and subheader tells us what you're offering, and the form header closes the deal. Over here you can explain why your offer is so great it's worth filling out a form for.

\n

Remember:

\n", 4 | "hierarchical": false, 5 | "id": "f93ddec6-90fe-ffc5-238f-655e63b67d95", 6 | "label": "Rich text content", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "html", 10 | "required": false, 11 | "sortable": false, 12 | "type": "richtext", 13 | "validation_regex": "" 14 | } 15 | ] -------------------------------------------------------------------------------- /tests/tasks/nav_menu_download.test.js: -------------------------------------------------------------------------------- 1 | const NavMenuTask = require('../../bin/tasks/nav_menu_download').NavMenuTask; 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = NavMenuTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | hapikey: 12345, 9 | pathToContextDir: 'context', 10 | [taskName]: { 11 | limit: null 12 | } 13 | }; 14 | testBase.setupMocks(config); 15 | new NavMenuTask(); 16 | }); 17 | 18 | it('Should throw an error if the required args are absent.', () => { 19 | const config = { 20 | hapikey: null, 21 | pathToContextDir: null, 22 | [taskName]: { 23 | limit: null 24 | } 25 | }; 26 | testBase.setupMocks(config); 27 | expect(() => new NavMenuTask()).toThrow(); 28 | }); -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366599/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": "Submit", 5 | "hierarchical": false, 6 | "id": "9f90a261-5989-43f9-d07d-2593b533ae18", 7 | "label": "Submit button text", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "submit_button_text", 11 | "required": true, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text" 15 | }, 16 | { 17 | "default": "

Sorry, please try again.

", 18 | "hierarchical": false, 19 | "id": "e06dc069-067a-6cde-7423-dc8db210ea8a", 20 | "label": "Bad password message", 21 | "locked": false, 22 | "max_depth": 0, 23 | "name": "bad_password_message", 24 | "required": true, 25 | "sortable": false, 26 | "type": "richtext" 27 | } 28 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366605/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": "
Not rendering correctly? View this email as a web page here.
", 4 | "hierarchical": false, 5 | "id": "9f92fb47-e93a-5f78-1fa2-689eec102155", 6 | "label": "View as web page text", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "html", 10 | "required": false, 11 | "sortable": false, 12 | "type": "richtext", 13 | "validation_regex": "" 14 | } 15 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712622/module.css: -------------------------------------------------------------------------------- 1 | .hs-search-field { 2 | position: relative; 3 | } 4 | .hs-search-field__input { 5 | box-sizing: border-box; 6 | width: 100%; 7 | } 8 | .hs-search-field__suggestions { 9 | margin: 0; 10 | padding: 0; 11 | list-style: none; 12 | } 13 | .hs-search-field--open .hs-search-field__suggestions { 14 | border: 1px solid #000; 15 | } 16 | .hs-search-field__suggestions li { 17 | display: block; 18 | margin: 0; 19 | padding: 0; 20 | } 21 | .hs-search-field__suggestions #results-for { 22 | font-weight: bold; 23 | } 24 | .hs-search-field__suggestions a, 25 | .hs-search-field__suggestions #results-for { 26 | display: block; 27 | } 28 | .hs-search-field__suggestions a:hover, 29 | .hs-search-field__suggestions a:focus { 30 | background-color: rgba(0,0,0, .1); 31 | outline: none; 32 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Team Member Module.module/module.css: -------------------------------------------------------------------------------- 1 | .team-member-headshot img { 2 | border-radius: 50%; 3 | max-width: 150px; 4 | max-height: 150px; 5 | border-style: solid; 6 | border-width: 5px; 7 | display: inline-block; 8 | width: 100%; 9 | height: auto; 10 | } 11 | .team-member-social a{ 12 | font-size: 30px; 13 | } 14 | .three-column .team-member-social a { 15 | display: block; 16 | } 17 | .three-column .team-member-social i { 18 | padding: 0; 19 | } 20 | .team-member-social i{ 21 | padding-right: 5px; 22 | } 23 | .team-member-social a:last-child i{ 24 | padding-right: 0px; 25 | } 26 | .team-member-name{ 27 | margin: 0px; 28 | font-weight: 100; 29 | } 30 | .team-member-title{ 31 | margin: 0px; 32 | font-weight: 100; 33 | } -------------------------------------------------------------------------------- /tests/tasks/default_module_download.test.js: -------------------------------------------------------------------------------- 1 | const DefaultModulesTask = require('../../bin/tasks/default_module_download').DefaultModulesTask 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = DefaultModulesTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | hapikey: 12345, 9 | pathToContextDir: 'context', 10 | [taskName]: { 11 | limit: null 12 | } 13 | }; 14 | testBase.setupMocks(config); 15 | new DefaultModulesTask(); 16 | }); 17 | 18 | it('Should throw an error if the required args are absent.', () => { 19 | const config = { 20 | hapikey: null, 21 | pathToContextDir: null, 22 | [taskName]: { 23 | limit: null 24 | } 25 | }; 26 | testBase.setupMocks(config); 27 | expect(() => new DefaultModulesTask()).toThrow(); 28 | }); -------------------------------------------------------------------------------- /tests/tasks/resource_mapping_download.test.js: -------------------------------------------------------------------------------- 1 | const ResourceMappingTask = require('../../bin/tasks/resource_mapping_download').ResourceMappingTask; 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = ResourceMappingTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | hapikey: 12345, 9 | pathToContextDir: 'context', 10 | [taskName]: { 11 | limit: null 12 | } 13 | }; 14 | testBase.setupMocks(config); 15 | new ResourceMappingTask(); 16 | }); 17 | 18 | it('Should throw an error if the required args are absent.', () => { 19 | const config = { 20 | hapikey: null, 21 | pathToContextDir: null, 22 | [taskName]: { 23 | limit: null 24 | } 25 | }; 26 | testBase.setupMocks(config); 27 | expect(() => new ResourceMappingTask()).toThrow(); 28 | }); -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Blog Title.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "contains_overridable_hubl_tags" : false, 3 | "content_tags" : [ { 4 | "name" : "OTHER_INDUSTRY", 5 | "source" : "MARKETPLACE" 6 | }, { 7 | "name" : "HIDDEN", 8 | "source" : "MARKETPLACE" 9 | } ], 10 | "css_assets" : [ ], 11 | "editable_contexts" : [ ], 12 | "external_js" : [ ], 13 | "extra_classes" : "", 14 | "global" : false, 15 | "help_text" : "", 16 | "host_template_types" : [ "BLOG_POST", "BLOG_LISTING" ], 17 | "js_assets" : [ ], 18 | "label" : null, 19 | "other_assets" : [ ], 20 | "placement_rules" : [ ], 21 | "purchased" : false, 22 | "smart_type" : "NOT_SMART", 23 | "tags" : [ ], 24 | "portal_id" : 123, 25 | "id" : 6099133579, 26 | "module_id" : 3563467, 27 | "is_available_for_new_content" : true 28 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Tabber.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "contains_overridable_hubl_tags" : true, 3 | "content_tags" : [ { 4 | "name" : "OTHER_INDUSTRY", 5 | "source" : "MARKETPLACE" 6 | }, { 7 | "name" : "HIDDEN", 8 | "source" : "MARKETPLACE" 9 | } ], 10 | "css_assets" : [ ], 11 | "editable_contexts" : [ ], 12 | "external_js" : [ ], 13 | "extra_classes" : "", 14 | "global" : false, 15 | "help_text" : "", 16 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 17 | "js_assets" : [ ], 18 | "label" : null, 19 | "other_assets" : [ ], 20 | "placement_rules" : [ ], 21 | "purchased" : false, 22 | "smart_type" : "NOT_SMART", 23 | "tags" : [ ], 24 | "portal_id" : 123, 25 | "id" : 6098195151, 26 | "module_id" : 3562971, 27 | "is_available_for_new_content" : true 28 | } -------------------------------------------------------------------------------- /tests/tasks/download_ftp_designs.test.js: -------------------------------------------------------------------------------- 1 | const DesignsFtpTask = require('../../bin/tasks/download_ftp_designs').DesignsFtpTask; 2 | const testBase = require('./test_base'); 3 | 4 | const taskName = DesignsFtpTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | username: 'user', 9 | password: 'password', 10 | portalId: 123, 11 | [taskName]: { 12 | outDir: 'designs' 13 | } 14 | }; 15 | testBase.setupMocks(config); 16 | new DesignsFtpTask(); 17 | }); 18 | 19 | it('Should throw an error if the required args are absent.', () => { 20 | const config = { 21 | username: null, 22 | password: null, 23 | portalId: null, 24 | [taskName]: { 25 | outDir: null 26 | } 27 | }; 28 | testBase.setupMocks(config); 29 | expect(() => new DesignsFtpTask()).toThrow(); 30 | }); -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Back To Top Button.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "contains_overridable_hubl_tags" : false, 3 | "content_tags" : [ { 4 | "name" : "OTHER_INDUSTRY", 5 | "source" : "MARKETPLACE" 6 | }, { 7 | "name" : "HIDDEN", 8 | "source" : "MARKETPLACE" 9 | } ], 10 | "css_assets" : [ ], 11 | "editable_contexts" : [ ], 12 | "external_js" : [ ], 13 | "extra_classes" : "", 14 | "global" : false, 15 | "help_text" : "", 16 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 17 | "js_assets" : [ ], 18 | "label" : null, 19 | "other_assets" : [ ], 20 | "placement_rules" : [ ], 21 | "purchased" : false, 22 | "smart_type" : "NOT_SMART", 23 | "tags" : [ ], 24 | "portal_id" : 123, 25 | "id" : 6099133384, 26 | "module_id" : 3563452, 27 | "is_available_for_new_content" : true 28 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Footer Contact Information.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "contains_overridable_hubl_tags" : false, 3 | "content_tags" : [ { 4 | "name" : "OTHER_INDUSTRY", 5 | "source" : "MARKETPLACE" 6 | }, { 7 | "name" : "HIDDEN", 8 | "source" : "MARKETPLACE" 9 | } ], 10 | "css_assets" : [ ], 11 | "editable_contexts" : [ ], 12 | "external_js" : [ ], 13 | "extra_classes" : "", 14 | "global" : false, 15 | "help_text" : "", 16 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 17 | "js_assets" : [ ], 18 | "label" : null, 19 | "other_assets" : [ ], 20 | "placement_rules" : [ ], 21 | "purchased" : false, 22 | "smart_type" : "NOT_SMART", 23 | "tags" : [ ], 24 | "portal_id" : 123, 25 | "id" : 6099133365, 26 | "module_id" : 3563449, 27 | "is_available_for_new_content" : true 28 | } -------------------------------------------------------------------------------- /defaults/context/hubspot-stylesheets/hubspot/styles/patches/recommended.css: -------------------------------------------------------------------------------- 1 | /* HTML 5 Reset */ 2 | 3 | article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { 4 | display: block; 5 | } 6 | 7 | audio, canvas, video { 8 | display: inline-block; 9 | *display: inline; 10 | *zoom: 1; 11 | } 12 | 13 | audio:not([controls]) { 14 | display: none; 15 | } 16 | 17 | /* Support migrations from wordpress */ 18 | 19 | .wp-float-left { 20 | float: left; 21 | margin: 0 20px 20px 0; 22 | } 23 | 24 | .wp-float-right { 25 | float: right; 26 | margin: 0 0 20px 20px; 27 | } 28 | 29 | /* Responsive Google Maps */ 30 | 31 | #map_canvas img, .google-maps img { 32 | max-width: none; 33 | } 34 | 35 | /* line height fix for reCaptcha theme */ 36 | #recaptcha_table td {line-height: 0;} 37 | .recaptchatable #recaptcha_response_field {min-height: 0;line-height: 12px;} 38 | -------------------------------------------------------------------------------- /tests/tasks/base_task.test.js: -------------------------------------------------------------------------------- 1 | const BaseTask = require('../../bin/tasks/base_task').BaseTask; 2 | const request = require('request-promise'); 3 | const testBase = require('./test_base'); 4 | 5 | beforeAll(() => { 6 | testBase.setupMocks({}); 7 | const mockResponse = { 8 | total: 3, 9 | objects: [{ 10 | id: 1, 11 | }] 12 | }; 13 | request.get = jest.fn().mockResolvedValue(JSON.stringify(mockResponse)); 14 | }); 15 | 16 | it('Should return the number of objects specified by limit', async () => { 17 | const objects = await new BaseTask('test-task', []).getObjects('https://test.com/entity', { limit: 1 }); 18 | expect(objects).toHaveLength(1); 19 | }); 20 | 21 | it('Should return all objects if limit is null', async () => { 22 | const objects = await new BaseTask('test-task', []).getObjects('https://test.com/entity', { limit: null }); 23 | expect(objects).toHaveLength(3); 24 | }); 25 | -------------------------------------------------------------------------------- /defaults/context/ctas/46f5763d-3ac9-4b83-96c9-30b61d51f486.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Learn More 6 | -------------------------------------------------------------------------------- /tests/ftp_upload.test.js: -------------------------------------------------------------------------------- 1 | const FtpUploadTask = require('../bin/ftp_upload').FtpUploadTask; 2 | const testBase = require('./tasks/test_base'); 3 | 4 | const taskName = FtpUploadTask.getTaskName(); 5 | 6 | it('Should not throw an error if the required args are present.', () => { 7 | const config = { 8 | portalId: 123, 9 | username: 'user', 10 | password: 'password', 11 | [taskName]: { 12 | designsPath: 'designs', 13 | files: [ 'test.txt' ] 14 | } 15 | }; 16 | testBase.setupMocks(config); 17 | new FtpUploadTask(); 18 | }); 19 | 20 | it('Should throw an error if the required args are absent.', () => { 21 | const config = { 22 | portalId: null, 23 | username: null, 24 | password: null, 25 | [taskName]: { 26 | designsPath: null, 27 | files: null 28 | } 29 | }; 30 | testBase.setupMocks(config); 31 | expect(() => new FtpUploadTask()).toThrow(); 32 | }); -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast FAQ Module.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloned_from_module_id" : 810173, 3 | "contains_overridable_hubl_tags" : false, 4 | "content_tags" : [ { 5 | "name" : "OTHER_INDUSTRY", 6 | "source" : "MARKETPLACE" 7 | }, { 8 | "name" : "HIDDEN", 9 | "source" : "MARKETPLACE" 10 | } ], 11 | "css_assets" : [ ], 12 | "editable_contexts" : [ ], 13 | "external_js" : [ ], 14 | "extra_classes" : "", 15 | "global" : false, 16 | "help_text" : "", 17 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 18 | "js_assets" : [ ], 19 | "label" : null, 20 | "other_assets" : [ ], 21 | "placement_rules" : [ ], 22 | "purchased" : false, 23 | "smart_type" : "NOT_SMART", 24 | "tags" : [ ], 25 | "portal_id" : 123, 26 | "id" : 6098195191, 27 | "module_id" : 3562972, 28 | "is_available_for_new_content" : true 29 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Testimonial.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloned_from_module_id" : 810626, 3 | "contains_overridable_hubl_tags" : false, 4 | "content_tags" : [ { 5 | "name" : "OTHER_INDUSTRY", 6 | "source" : "MARKETPLACE" 7 | }, { 8 | "name" : "HIDDEN", 9 | "source" : "MARKETPLACE" 10 | } ], 11 | "css_assets" : [ ], 12 | "editable_contexts" : [ ], 13 | "external_js" : [ ], 14 | "extra_classes" : "", 15 | "global" : false, 16 | "help_text" : "", 17 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 18 | "js_assets" : [ ], 19 | "label" : null, 20 | "other_assets" : [ ], 21 | "placement_rules" : [ ], 22 | "purchased" : false, 23 | "smart_type" : "NOT_SMART", 24 | "tags" : [ ], 25 | "portal_id" : 123, 26 | "id" : 6099133504, 27 | "module_id" : 3563461, 28 | "is_available_for_new_content" : true 29 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Team Member Module.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloned_from_module_id" : 673515, 3 | "contains_overridable_hubl_tags" : false, 4 | "content_tags" : [ { 5 | "name" : "OTHER_INDUSTRY", 6 | "source" : "MARKETPLACE" 7 | }, { 8 | "name" : "HIDDEN", 9 | "source" : "MARKETPLACE" 10 | } ], 11 | "css_assets" : [ ], 12 | "editable_contexts" : [ ], 13 | "external_js" : [ ], 14 | "extra_classes" : "", 15 | "global" : false, 16 | "help_text" : "", 17 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 18 | "js_assets" : [ ], 19 | "label" : null, 20 | "other_assets" : [ ], 21 | "placement_rules" : [ ], 22 | "purchased" : false, 23 | "smart_type" : "NOT_SMART", 24 | "tags" : [ ], 25 | "portal_id" : 123, 26 | "id" : 6099133516, 27 | "module_id" : 3563463, 28 | "is_available_for_new_content" : true 29 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Well Module copy.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloned_from_module_id" : 1256285, 3 | "contains_overridable_hubl_tags" : false, 4 | "content_tags" : [ { 5 | "name" : "OTHER_INDUSTRY", 6 | "source" : "MARKETPLACE" 7 | }, { 8 | "name" : "HIDDEN", 9 | "source" : "MARKETPLACE" 10 | } ], 11 | "css_assets" : [ ], 12 | "editable_contexts" : [ ], 13 | "external_js" : [ ], 14 | "extra_classes" : "", 15 | "global" : false, 16 | "help_text" : "", 17 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 18 | "js_assets" : [ ], 19 | "label" : null, 20 | "other_assets" : [ ], 21 | "placement_rules" : [ ], 22 | "purchased" : false, 23 | "smart_type" : "NOT_SMART", 24 | "tags" : [ ], 25 | "portal_id" : 123, 26 | "id" : 6099133566, 27 | "module_id" : 3563466, 28 | "is_available_for_new_content" : true 29 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Well Module copy.module/module.css: -------------------------------------------------------------------------------- 1 | /* Well Colors */ 2 | 3 | #well{ 4 | min-height: 20px; 5 | margin-bottom: 20px; 6 | border-radius: 4px; 7 | color: #fff; 8 | } 9 | #well .default{ 10 | border-radius: 4px; 11 | border-style: solid; 12 | border-width: 1px; 13 | } 14 | #well .primary{ 15 | border-radius: 4px; 16 | } 17 | #well .success{ 18 | border-radius: 4px; 19 | } 20 | #well .danger{ 21 | border-radius: 4px; 22 | } 23 | #well .info{ 24 | border-radius: 4px; 25 | 26 | } 27 | #well .plain{ 28 | border-radius: 4px; 29 | } 30 | #well .small{ 31 | padding: 20px; 32 | } 33 | #well .medium{ 34 | padding: 24px; 35 | } 36 | #well .large{ 37 | padding: 28px; 38 | } 39 | #well .close{ 40 | float: right; 41 | padding: 3px 10px 0px 0px; 42 | cursor: pointer; 43 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155240/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": "A clear and bold header", 5 | "hierarchical": false, 6 | "id": "4afa5075-25c8-95e7-8893-c08b7351063d", 7 | "label": "Section header content", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "header", 11 | "required": false, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text", 15 | "validation_regex": "" 16 | }, 17 | { 18 | "allow_new_line": false, 19 | "default": "A more subdued subheader", 20 | "hierarchical": false, 21 | "id": "489067c3-ab1f-7b79-683c-a40b463469d9", 22 | "label": "Section subheader", 23 | "locked": false, 24 | "max_depth": 0, 25 | "name": "subheader", 26 | "required": false, 27 | "show_emoji_picker": false, 28 | "sortable": false, 29 | "type": "text", 30 | "validation_regex": "" 31 | } 32 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366607/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "choices": [ 4 | [ 5 | "localized", 6 | "Localized" 7 | ], 8 | [ 9 | "pagelang", 10 | "PageLang" 11 | ], 12 | [ 13 | "hybrid", 14 | "Hybrid" 15 | ] 16 | ], 17 | "default": "localized", 18 | "help_text": "The language of the text in the language switcher. PageLang means the names of languages will display in the language of the page the switcher is on. Localized means the name of each language will display in that language. Hybrid is a combination of the two.", 19 | "hierarchical": false, 20 | "id": "2e71f343-859b-8c20-1f17-587a747ebc21", 21 | "label": "Display mode", 22 | "locked": false, 23 | "max_depth": 0, 24 | "name": "display_mode", 25 | "placeholder": "Search", 26 | "required": true, 27 | "sortable": false, 28 | "type": "choice" 29 | } 30 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790630/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": [], 4 | "hierarchical": false, 5 | "id": "de863304-d116-95df-701d-946282fb63fc", 6 | "label": "Simple menu", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "menu_tree", 10 | "required": false, 11 | "sortable": false, 12 | "type": "simplemenu" 13 | }, 14 | { 15 | "choices": [ 16 | [ 17 | "horizontal", 18 | "Horizontal" 19 | ], 20 | [ 21 | "vertical", 22 | "Vertical" 23 | ] 24 | ], 25 | "default": "vertical", 26 | "display": "radio", 27 | "hierarchical": false, 28 | "id": "b9755df2-ad38-55a3-f10e-f1bb67127be6", 29 | "label": "Menu orientation", 30 | "locked": false, 31 | "max_depth": 0, 32 | "name": "orientation", 33 | "placeholder": "Search", 34 | "required": false, 35 | "sortable": false, 36 | "type": "choice" 37 | } 38 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Service & Product Description copy.module/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "cloned_from_module_id" : 495058, 3 | "contains_overridable_hubl_tags" : false, 4 | "content_tags" : [ { 5 | "name" : "OTHER_INDUSTRY", 6 | "source" : "MARKETPLACE" 7 | }, { 8 | "name" : "HIDDEN", 9 | "source" : "MARKETPLACE" 10 | } ], 11 | "css_assets" : [ ], 12 | "editable_contexts" : [ ], 13 | "external_js" : [ ], 14 | "extra_classes" : "", 15 | "global" : false, 16 | "help_text" : "", 17 | "host_template_types" : [ "PAGE", "BLOG_POST", "BLOG_LISTING" ], 18 | "js_assets" : [ ], 19 | "label" : null, 20 | "other_assets" : [ ], 21 | "placement_rules" : [ ], 22 | "purchased" : false, 23 | "smart_type" : "NOT_SMART", 24 | "tags" : [ ], 25 | "portal_id" : 123, 26 | "id" : 6098195207, 27 | "module_id" : 3562973, 28 | "is_available_for_new_content" : true 29 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712622/module.html: -------------------------------------------------------------------------------- 1 | {# Need help setting up site search? 2 | Start here: https://knowledge.hubspot.com/articles/kcs_article/cos-general/how-do-i-set-up-a-results-page-for-my-search-field-in-hubspot #} 3 | 4 |
5 |
6 |
7 | 8 | 9 | {# 10 | DEVELOPERS: You can set additional search parameters by adding hidden 11 | inputs like the example below. Both the typeahead and search results 12 | modules will accept these, except 'limit' which only works for results. 13 | 14 | 15 | #} 16 |
17 |
18 | 19 |
-------------------------------------------------------------------------------- /bin/tasks/blog_download.js: -------------------------------------------------------------------------------- 1 | const BaseTask = require('./base_task').BaseTask; 2 | const { getApiUrl, BLOGS_API } = require('../utils/api'); 3 | const logger = require('gulplog'); 4 | 5 | const taskName = 'download-blogs'; 6 | 7 | class BlogTask extends BaseTask { 8 | constructor() { 9 | const requiredArgs = ['hapikey', 'pathToContextDir']; 10 | super(taskName, requiredArgs); 11 | } 12 | 13 | static getTaskName() { 14 | return taskName; 15 | } 16 | 17 | async run() { 18 | const args = this.args; 19 | const requestArgs = { 20 | hapikey: args.hapikey, 21 | casing: 'snake_r', 22 | limit: args.limit 23 | }; 24 | logger.info('Fetching blogs'); 25 | const blogObjects = await this.getObjects( 26 | getApiUrl(`${BLOGS_API}/blogs`, { env: args.env }), 27 | requestArgs 28 | ); 29 | const portalId = blogObjects[0].portal_id; 30 | this.writeObjects(blogObjects, 'blogs', args.pathToContextDir, portalId); 31 | } 32 | } 33 | 34 | module.exports = { BlogTask } 35 | -------------------------------------------------------------------------------- /bin/tasks/nav_menu_download.js: -------------------------------------------------------------------------------- 1 | const BaseTask = require('./base_task').BaseTask; 2 | const { getApiUrl, DESIGN_MANAGER_API } = require('../utils/api'); 3 | const logger = require('gulplog'); 4 | 5 | const taskName = 'download-menus'; 6 | 7 | class NavMenuTask extends BaseTask { 8 | constructor() { 9 | const requiredArgs = ['hapikey', 'pathToContextDir']; 10 | super(taskName, requiredArgs); 11 | } 12 | 13 | static getTaskName() { 14 | return taskName; 15 | } 16 | 17 | async run() { 18 | const args = this.args; 19 | const requestArgs = { 20 | hapikey: args.hapikey, 21 | casing: 'snake_r', 22 | limit: args.limit 23 | }; 24 | logger.info('Fetching nav menus'); 25 | const menus = await this.getObjects( 26 | getApiUrl(`${DESIGN_MANAGER_API}/menus`, { env: args.env }), 27 | requestArgs 28 | ); 29 | const portalId = menus[0].portal_id; 30 | this.writeObjects(menus, 'menus', args.pathToContextDir, portalId); 31 | } 32 | } 33 | 34 | module.exports = { NavMenuTask } 35 | -------------------------------------------------------------------------------- /bin/tasks/layout_download.js: -------------------------------------------------------------------------------- 1 | const BaseTask = require('./base_task').BaseTask; 2 | const { getApiUrl, DESIGN_MANAGER_API } = require('../utils/api'); 3 | const logger = require('gulplog'); 4 | 5 | const taskName = 'download-layouts'; 6 | 7 | class LayoutTask extends BaseTask { 8 | constructor() { 9 | const requiredArgs = ['hapikey', 'pathToContextDir']; 10 | super(taskName, requiredArgs); 11 | } 12 | 13 | static getTaskName() { 14 | return taskName; 15 | } 16 | 17 | async run() { 18 | const args = this.args; 19 | const requestArgs = { 20 | hapikey: args.hapikey, 21 | casing: 'snake_r', 22 | limit: args.limit 23 | }; 24 | logger.info('Fetching layouts'); 25 | const layouts = await this.getObjects( 26 | getApiUrl(`${DESIGN_MANAGER_API}/layouts`, { env: args.env }), 27 | requestArgs 28 | ); 29 | const portalId = layouts[0].portal_id; 30 | this.writeObjects(layouts, 'layouts', args.pathToContextDir, portalId); 31 | } 32 | } 33 | 34 | module.exports = { LayoutTask } 35 | -------------------------------------------------------------------------------- /bin/tasks/content_download.js: -------------------------------------------------------------------------------- 1 | const BaseTask = require('./base_task').BaseTask; 2 | const { getApiUrl, CONTENT_API } = require('../utils/api'); 3 | const logger = require('gulplog'); 4 | 5 | const taskName = 'download-content'; 6 | 7 | class ContentTask extends BaseTask { 8 | constructor() { 9 | const requiredArgs = ['hapikey', 'pathToContextDir']; 10 | super(taskName, requiredArgs); 11 | } 12 | 13 | static getTaskName() { 14 | return taskName; 15 | } 16 | 17 | async run() { 18 | const args = this.args; 19 | const requestArgs = { 20 | hapikey: args.hapikey, 21 | casing: 'snake_r', 22 | limit: args.limit 23 | }; 24 | logger.info('Fetching content'); 25 | const contentObjects = await this.getObjects( 26 | getApiUrl(`${CONTENT_API}/contents`, { env: args.env }), 27 | requestArgs 28 | ) 29 | const portalId = contentObjects[0].portal_id; 30 | this.writeObjects(contentObjects, 'content', args.pathToContextDir, portalId); 31 | } 32 | } 33 | 34 | module.exports = { ContentTask } 35 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2794854/module.html: -------------------------------------------------------------------------------- 1 | {% set wrapper_css = "margin-bottom:0;line-height:1.35;" %} 2 | {% set table_css = "margin-bottom:0;padding:0;" %} 3 |
4 | 5 | 6 | 7 | 11 | 12 | 13 | 14 |
-------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Footer Contact Information.module/module.html: -------------------------------------------------------------------------------- 1 | {% if site_settings.company_phone is truthy %} 2 |
3 | 4 |
5 | {{ site_settings.company_phone }} 6 |
7 |
8 | {% endif %} 9 | {% if module.company_email is truthy %} 10 | 11 |
12 | 13 |
14 | {{ module.company_email }} 15 |
16 |
17 | {% endif %} 18 |
19 | 20 |
21 | {{site_settings.company_street_address_1}}{% unless site_settings.company_street_address_2 == "" %},
{{site_settings.company_street_address_2}} {% endunless %}
22 | {{site_settings.company_city}}, {{ site_settings.company_state}} {{site_settings.company_zip}} 23 |
24 |
25 | -------------------------------------------------------------------------------- /defaults/server-config.yaml: -------------------------------------------------------------------------------- 1 | # _ _ _ _ _____ 2 | #| | | | | | | | / ____| 3 | #| |__| |_ _| |__ | | | (___ ___ _ ____ _____ _ __ 4 | #| __ | | | | '_ \| | \___ \ / _ \ '__\ \ / / _ \ '__| 5 | #| | | | |_| | |_) | |____ ____) | __/ | \ V / __/ | 6 | #|_| |_|\__,_|_.__/|______| |_____/ \___|_| \_/ \___|_| 7 | # 8 | 9 | portalId: 123 10 | 11 | # base directory to load context settings from, defaults to current dir 12 | contextBaseDir: context 13 | 14 | # base directory to load templates from, defaults to current working dir 15 | templateBaseDir: designs 16 | 17 | # advanced settings 18 | # (you shouldn't need to edit anything below here) 19 | # 20 | http: 21 | port: 8080 22 | adminPort: 8080 23 | bindHost: 0.0.0.0 24 | shutdownGracePeriod: 0s 25 | 26 | logging: 27 | level: ERROR 28 | 29 | loggers: 30 | "com.yammer.dropwizard.cli": INFO 31 | "com.hubspot.content": INFO 32 | "com.hubspot.content.hubl.dev.config.LocalHubLDevModule": WARN 33 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155827/module.html: -------------------------------------------------------------------------------- 1 | {% set title = module.title || '' %} 2 | {% set fm = follow_me_links() %} 3 | 4 | {# Reorder networks to change order of icons #} 5 | {%- set networks = [ 6 | 'youtube', 7 | 'pinterest', 8 | 'rss', 9 | 'default', 10 | 'linkedin', 11 | 'twitter', 12 | 'facebook', 13 | 'googlepluspages', 14 | 'instagram', 15 | 'xing' 16 | ] -%} 17 | 18 | {% if title is truthy %} 19 |

{{ title }}

20 | {% endif %} 21 | 22 |
23 | {% for networkName in networks %} 24 | {%- set network = fm|selectattr('iconName','equalto',networkName)|last -%} 25 | {%- set imgURL = network.iconName ~'_legacy_color.png' -%} 26 | {%- if network -%} 27 | 28 | {%- endif -%} 29 | {% endfor %} 30 |
-------------------------------------------------------------------------------- /defaults/context/default-modules/123/1851328/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": "

Hi {{contact.firstname}},

\n

Describe what you have to offer the customer. Why should they read? What did you promise them in the subject line? Tell them something cool. Make them laugh. Make them cry. Well, maybe don't do that...

\n

Use a list to:

\n\n

LINK TO A LANDING PAGE ON YOUR SITE (This is the really important part.)

\n

Now wrap it all up with a pithy little reminder of how much you love them.

\n

Aw. You silver-tongued devil, you.

\n

Sincerely,

\n

Your name

", 4 | "hierarchical": false, 5 | "id": "7b1aa231-5d9d-866b-c94f-b26b6f041526", 6 | "label": "Email body", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "html", 10 | "required": false, 11 | "sortable": false, 12 | "type": "richtext" 13 | } 14 | ] -------------------------------------------------------------------------------- /defaults/context/request.json: -------------------------------------------------------------------------------- 1 | { 2 | "full_url": "http://my.company.com/", 3 | "path": "/", 4 | "cookies": { 5 | "_ga": "GA1.2.1007096672.1413918972", 6 | "__utma": "109362460.1007096672.1413918972.1418421070.1419264987.5", 7 | }, 8 | "path_and_query": "/?foo=bar", 9 | "query": "foo=bar", 10 | "query_dict": { 11 | "foo": "bar" 12 | }, 13 | "domain": "my.company.com", 14 | "scheme": "http", 15 | "referrer": "", 16 | "remote_ip": "1.2.3.4", 17 | "geoip_info": { 18 | "city": "Boston", 19 | "organization": "áMA", 20 | "region": "MA", 21 | "country": "US", 22 | "dma": 506 23 | }, 24 | "search_engine": "", 25 | "search_keyword": "", 26 | "method": "GET", 27 | "debug": false, 28 | "public_content_web": true, 29 | "bot": false, 30 | "smart_content_enabled": true, 31 | "post_dict": { 32 | "foo": "bar" 33 | }, 34 | "geoip_city": "Boston", 35 | "geoip_organization": "áMA", 36 | "geoip_region": "MA", 37 | "geoip_country": "US", 38 | "geoip_dma": 506 39 | } 40 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764908/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029272605, 4 | "contains_overridable_hubl_tags": false, 5 | "content_tags": [], 6 | "created": 1535029272605, 7 | "css_assets": [], 8 | "default": true, 9 | "deleted_at": 0, 10 | "editable_contexts": [], 11 | "external_js": [], 12 | "extra_classes": "", 13 | "folder_id": 6098902230, 14 | "global": false, 15 | "help_text": "", 16 | "host_template_types": [ 17 | "NONE" 18 | ], 19 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-success.svg", 20 | "id": 6098194869, 21 | "is_available_for_new_content": true, 22 | "is_buffered": false, 23 | "js_assets": [], 24 | "label": "Boolean", 25 | "marketplace_version": 22, 26 | "module_id": 2764908, 27 | "name": "Boolean", 28 | "other_assets": [], 29 | "placement_rules": [], 30 | "portal_id": 123, 31 | "purchased": false, 32 | "schema_version": 2, 33 | "smart_type": "NOT_SMART", 34 | "tags": [ 35 | "DEFAULT" 36 | ], 37 | "updated": 1535029272605, 38 | "widget_label": "", 39 | "writeable": false 40 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2764909/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029267561, 4 | "contains_overridable_hubl_tags": false, 5 | "content_tags": [], 6 | "created": 1535029267561, 7 | "css_assets": [], 8 | "default": true, 9 | "deleted_at": 0, 10 | "editable_contexts": [], 11 | "external_js": [], 12 | "extra_classes": "", 13 | "folder_id": 6098902230, 14 | "global": false, 15 | "help_text": "", 16 | "host_template_types": [ 17 | "NONE" 18 | ], 19 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-bulletlist.svg", 20 | "id": 6098194722, 21 | "is_available_for_new_content": true, 22 | "is_buffered": false, 23 | "js_assets": [], 24 | "label": "Choice", 25 | "marketplace_version": 22, 26 | "module_id": 2764909, 27 | "name": "Choice", 28 | "other_assets": [], 29 | "placement_rules": [], 30 | "portal_id": 123, 31 | "purchased": false, 32 | "schema_version": 2, 33 | "smart_type": "NOT_SMART", 34 | "tags": [ 35 | "DEFAULT" 36 | ], 37 | "updated": 1535029267561, 38 | "widget_label": "", 39 | "writeable": false 40 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 HubSpot 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2765204/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029282755, 4 | "contains_overridable_hubl_tags": false, 5 | "content_tags": [], 6 | "created": 1535029282755, 7 | "css_assets": [], 8 | "default": true, 9 | "deleted_at": 0, 10 | "editable_contexts": [], 11 | "external_js": [], 12 | "extra_classes": "", 13 | "folder_id": 6098902230, 14 | "global": false, 15 | "help_text": "", 16 | "host_template_types": [ 17 | "NONE" 18 | ], 19 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-backgroundColor.svg", 20 | "id": 6098903539, 21 | "is_available_for_new_content": true, 22 | "is_buffered": false, 23 | "js_assets": [], 24 | "label": "Color", 25 | "marketplace_version": 22, 26 | "module_id": 2765204, 27 | "name": "Color", 28 | "other_assets": [], 29 | "placement_rules": [], 30 | "portal_id": 123, 31 | "purchased": false, 32 | "schema_version": 2, 33 | "smart_type": "NOT_SMART", 34 | "tags": [ 35 | "DEFAULT" 36 | ], 37 | "updated": 1535029282755, 38 | "widget_label": "", 39 | "writeable": false 40 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2762241/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029277665, 4 | "contains_overridable_hubl_tags": false, 5 | "content_tags": [], 6 | "created": 1535029277665, 7 | "css_assets": [], 8 | "default": true, 9 | "deleted_at": 0, 10 | "editable_contexts": [], 11 | "external_js": [], 12 | "extra_classes": "", 13 | "folder_id": 6098902230, 14 | "global": false, 15 | "help_text": "", 16 | "host_template_types": [ 17 | "NONE" 18 | ], 19 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-email.svg", 20 | "id": 6098475805, 21 | "is_available_for_new_content": true, 22 | "is_buffered": false, 23 | "js_assets": [], 24 | "label": "Resubscribe Email Body", 25 | "marketplace_version": 27, 26 | "module_id": 2762241, 27 | "name": "Resubscribe Email Body", 28 | "other_assets": [], 29 | "placement_rules": [], 30 | "portal_id": 123, 31 | "purchased": false, 32 | "schema_version": 2, 33 | "smart_type": "NOT_SMART", 34 | "tags": [ 35 | "DEFAULT" 36 | ], 37 | "updated": 1535029277665, 38 | "widget_label": "", 39 | "writeable": false 40 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367093/module.html: -------------------------------------------------------------------------------- 1 | {% set max_width = module.img.width %} 2 | {% set wrapper_css = "padding:0px;" %} 3 | {% if widget_css %} 4 | {% set wrapper_css = widget_css %} 5 | {% elif module.hs_enable_module_padding %} 6 | {% set wrapper_css = "padding:10px 20px" %} 7 | {% endif %} 8 | {% if current_column_content_width is number && current_column_content_width < max_width %} 9 | {% set max_width = current_column_content_width %} 10 | {% endif %} 11 | 12 | 13 | 14 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /bin/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const _ = require('underscore'); 4 | const hubtasks = require('./hubtasks'); 5 | const init = require('./init'); 6 | const program = require('commander'); 7 | const server = require('./main.js'); 8 | const FtpUploadTask = require('./ftp_upload').FtpUploadTask; 9 | 10 | program 11 | .command('run-tasks [tasks...]') 12 | .option('--tasks', 'List available tasks') 13 | .action((tasks, cmd) => { 14 | hubtasks.runTasks(tasks, cmd.tasks); 15 | }); 16 | 17 | program 18 | .command('init') 19 | .option('--config', 'Initializes config files') 20 | .option('--designs', 'Initializes an example designs directory') 21 | .option('--context', 'Initializes an example context directory') 22 | .option('--all', 'Initializes config, designs, and context (same as omitting the flag altogether)') 23 | .action(cmd => { 24 | const options = _.pick(cmd, 'config', 'designs', 'context', 'all'); 25 | init.run(options); 26 | }); 27 | 28 | program 29 | .command('start') 30 | .action(() => { 31 | server.run(); 32 | }); 33 | 34 | program 35 | .command('upload') 36 | .action(async () => { 37 | await new FtpUploadTask().run(); 38 | }); 39 | 40 | program.parse(process.argv); -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155826/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": "A clear and bold header", 5 | "hierarchical": false, 6 | "id": "c6be9c54-b3c7-c0ac-7989-8342e434eba5", 7 | "label": "Header content", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "value", 11 | "required": false, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text", 15 | "validation_regex": "" 16 | }, 17 | { 18 | "choices": [ 19 | [ 20 | "h1", 21 | "H1" 22 | ], 23 | [ 24 | "h2", 25 | "H2" 26 | ], 27 | [ 28 | "h3", 29 | "H3" 30 | ], 31 | [ 32 | "h4", 33 | "H4" 34 | ] 35 | ], 36 | "default": "", 37 | "display": "select", 38 | "help_text": "H1 is the largest, followed by H2, and so on", 39 | "hierarchical": false, 40 | "id": "423adb89-a14b-a292-6c33-e3e2bc6d68d5", 41 | "label": "Header type", 42 | "locked": true, 43 | "max_depth": 0, 44 | "name": "header_tag", 45 | "placeholder": "Search", 46 | "required": false, 47 | "sortable": false, 48 | "type": "choice" 49 | } 50 | ] -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@hubspot/local-cms-server-cli", 3 | "version": "0.0.7", 4 | "description": "CLI tools to be paired with @hubspot/local-cms-server", 5 | "main": "gulpfile.js", 6 | "scripts": { 7 | "test": "jest", 8 | "eslint": "eslint ." 9 | }, 10 | "bin": { 11 | "hs-cms-server": "./bin/cli.js" 12 | }, 13 | "files": [ 14 | "bin", 15 | "defaults" 16 | ], 17 | "author": "", 18 | "license": "MIT", 19 | "repository": "https://github.com/HubSpot/local-cms-server-cli", 20 | "dependencies": { 21 | "browser-sync": "^2.26.3", 22 | "commander": "^2.19.0", 23 | "easy-ftp": "^0.3.44", 24 | "eslint": "^5.9.0", 25 | "eslint-config-node": "^4.0.0", 26 | "eslint-plugin-node": "^8.0.0", 27 | "gulp": "^4.0.0", 28 | "gulplog": "^1.0.0", 29 | "inquirer": "^6.2.2", 30 | "js-yaml": "^3.12.1", 31 | "knex": "^0.16.3", 32 | "minimist": "^1.2.0", 33 | "promise": "^8.0.2", 34 | "request": "^2.88.0", 35 | "request-promise": "^4.2.2", 36 | "requestretry": "^3.1.0", 37 | "shelljs": "^0.8.3", 38 | "sqlite3": "^4.0.6", 39 | "underscore": "^1.9.1" 40 | }, 41 | "devDependencies": { 42 | "eslint-plugin-jest": "^22.2.2", 43 | "jest": "^24.1.0" 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367094/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029277877, 4 | "contains_overridable_hubl_tags": false, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | } 10 | ], 11 | "created": 1535029277877, 12 | "css_assets": [], 13 | "default": true, 14 | "deleted_at": 0, 15 | "editable_contexts": [ 16 | "TEMPLATE" 17 | ], 18 | "external_js": [], 19 | "extra_classes": "", 20 | "folder_id": 6098902230, 21 | "global": false, 22 | "help_text": "", 23 | "host_template_types": [ 24 | "NONE" 25 | ], 26 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-customHubl.svg", 27 | "id": 6099133323, 28 | "is_available_for_new_content": true, 29 | "is_buffered": false, 30 | "js_assets": [], 31 | "label": "Custom HubL", 32 | "marketplace_version": 72, 33 | "module_id": 1367094, 34 | "name": "Custom HubL", 35 | "other_assets": [], 36 | "placement_rules": [], 37 | "portal_id": 123, 38 | "purchased": false, 39 | "schema_version": 2, 40 | "smart_type": "NOT_SMART", 41 | "tags": [ 42 | "DEFAULT" 43 | ], 44 | "updated": 1535029277877, 45 | "widget_label": "", 46 | "writeable": false 47 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155232/module.html: -------------------------------------------------------------------------------- 1 | {% if module.link %} 2 | {% if (module.link is string_startingwith "http") or (module.link is string_startingwith "/") %} 3 | {% set link = module.link %} 4 | {% else %} 5 | {% set link = "//" ~ module.link %} 6 | {% endif %} 7 | {% else %} 8 | {% set link = '' %} 9 | {% endif %} 10 | 11 | {% if module.img.override_inherited_src && module.img.src %} 12 | {% logo "hs_logo_widget" 13 | override_inherited_src='{{ module.img.override_inherited_src }}', 14 | alt='{{ module.img.alt }}', 15 | src='{{ module.img.src }}', 16 | link='{{ link }}', 17 | width='{{ module.img.width }}', 18 | height='{{ module.img.height }}', 19 | open_in_new_tab='{{ module.open_in_new_tab }}' 20 | %} 21 | {% elif module.img.override_inherited_src && !module.img.src %} 22 | {% logo "hs_logo_widget" 23 | override_inherited_src='{{ module.img.override_inherited_src }}', 24 | src='', 25 | link='{{ link }}', 26 | suppress_company_name='{{ module.img.suppress_company_name }}', 27 | open_in_new_tab='{{ module.open_in_new_tab }}' 28 | %} 29 | {% else %} 30 | {% logo "hs_logo_widget" 31 | link='{{ link }}', 32 | open_in_new_tab='{{ module.open_in_new_tab }}' 33 | %} 34 | {% endif %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366605/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029278360, 4 | "cdn_purge_embargo_time": 1535029578351, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | } 11 | ], 12 | "created": 1535029267567, 13 | "css_assets": [], 14 | "default": true, 15 | "deleted_at": 0, 16 | "editable_contexts": [], 17 | "external_js": [], 18 | "extra_classes": "", 19 | "folder_id": 6098902230, 20 | "global": false, 21 | "help_text": "", 22 | "host_template_types": [ 23 | "EMAIL" 24 | ], 25 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-email.svg", 26 | "id": 6098902864, 27 | "is_available_for_new_content": true, 28 | "is_buffered": false, 29 | "js_assets": [], 30 | "label": "View As Web Page", 31 | "marketplace_version": 19, 32 | "module_id": 1366605, 33 | "name": "View As Web Page", 34 | "other_assets": [], 35 | "placement_rules": [], 36 | "portal_id": 123, 37 | "purchased": false, 38 | "schema_version": 2, 39 | "smart_type": "NOT_SMART", 40 | "tags": [ 41 | "DEFAULT" 42 | ], 43 | "updated": 1535029278360, 44 | "widget_label": "", 45 | "writeable": false 46 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790632/module.html: -------------------------------------------------------------------------------- 1 | {% if module.rss_feed_type == "external" %} 2 | {% set feed_source = "{is_external=True, rss_url='"~module.rss_url~"', content_group_id=''}" %} 3 | {% set is_external = true %} 4 | {% elif module.rss_feed_type == "blog" %} 5 | {% set feed_source = "{is_external=False, content_group_id='" ~ module.content_group_id ~ "', rss_url=''}" %} 6 | {% set is_external = false %} 7 | {% endif %} 8 | 9 | {% rss_listing 10 | publish_date_text="{{ module.publish_date_text }}", 11 | rss_url="{{ module.rss_url }}", 12 | is_external="{{ is_external }}", 13 | click_through_text="{{ module.click_through_text }}", 14 | show_date="{{ module.show_date }}", 15 | content_group_id="{{ module.content_group_id }}", 16 | include_featured_image="{{ module.include_featured_image }}", 17 | publish_date_format="{{ module.publish_date_format }}", 18 | show_detail="{{ module.show_detail }}", 19 | show_author="{{ module.show_author }}", 20 | number_of_items="{{ module.number_of_items }}", 21 | title="{{ module.title }}", 22 | limit_to_chars="{{ module.limit_to_chars }}", 23 | attribution_text="{{ module.attribution_text }}", 24 | topic_id="{{ module.topic_id }}" 25 | feed_source="{{ feed_source }}" 26 | %} -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367089/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029278989, 4 | "cdn_purge_embargo_time": 1535029578977, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | } 11 | ], 12 | "created": 1535029267594, 13 | "css_assets": [], 14 | "default": true, 15 | "deleted_at": 0, 16 | "editable_contexts": [], 17 | "external_js": [], 18 | "extra_classes": "", 19 | "folder_id": 6098902230, 20 | "global": false, 21 | "help_text": "", 22 | "host_template_types": [ 23 | "EMAIL" 24 | ], 25 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-email.svg", 26 | "id": 6098475459, 27 | "is_available_for_new_content": true, 28 | "is_buffered": false, 29 | "js_assets": [], 30 | "label": "Office Location Information", 31 | "marketplace_version": 28, 32 | "module_id": 1367089, 33 | "name": "Office Location Information", 34 | "other_assets": [], 35 | "placement_rules": [], 36 | "portal_id": 123, 37 | "purchased": false, 38 | "schema_version": 2, 39 | "smart_type": "NOT_SMART", 40 | "tags": [ 41 | "DEFAULT" 42 | ], 43 | "updated": 1535029278989, 44 | "widget_label": "", 45 | "writeable": false 46 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1861177/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": null, 4 | "help_text": "Default will use the current blog when used in a blog template or the primary blog when used elsewhere.", 5 | "hierarchical": false, 6 | "id": "65eb34eb-8c1c-01a3-5e08-60946b4d9ea2", 7 | "label": "Select blog to display", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "select_blog", 11 | "required": false, 12 | "sortable": false, 13 | "type": "blog" 14 | }, 15 | { 16 | "allow_new_line": false, 17 | "default": "Subscribe Here!", 18 | "hierarchical": false, 19 | "id": "7fc80a6f-5107-253d-2f65-591302b81645", 20 | "label": "Title to display above form", 21 | "locked": false, 22 | "max_depth": 0, 23 | "name": "title", 24 | "required": false, 25 | "show_emoji_picker": false, 26 | "sortable": false, 27 | "type": "text" 28 | }, 29 | { 30 | "default": "Thanks for subscribing!", 31 | "hierarchical": false, 32 | "id": "35981351-6a67-cbca-b7bb-dc4e36ded0fe", 33 | "label": "Inline response for users", 34 | "locked": false, 35 | "max_depth": 0, 36 | "name": "response_message", 37 | "required": false, 38 | "sortable": false, 39 | "type": "richtext", 40 | "validation_regex": "" 41 | } 42 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast FAQ Module.module/module.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | var $accordion = $('.accordion'); 3 | 4 | // Initially hide all accordion content 5 | $accordion.find('.accordion_content').hide(); 6 | // Initially display the accordion content with .expanded class 7 | $accordion.find('.accordion_group.expanded .accordion_content').show(); 8 | 9 | $accordion.find('.accordion_header').click(function(){ 10 | 11 | // Hide the displayed sibling accordion content so only one appears at a time 12 | $accordion.find(".accordion_header").not(this).parent(".accordion_group.expanded").removeClass('expanded').children('.accordion_content').stop(true,true).slideUp(); 13 | 14 | if(!$(this).parent('.accordion_group').hasClass('expanded')){ 15 | // Display the accordion content if it is not displayed 16 | $(this).parent(".accordion_group").addClass('expanded').children('.accordion_content').stop(true,true).slideDown(); 17 | } 18 | else{ 19 | // Hide the accordion content if it is displayed 20 | $(this).parent(".accordion_group").removeClass('expanded').children('.accordion_content').stop(true,true).slideUp(); 21 | } 22 | }); 23 | }); -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast FAQ Module.module/fields.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "id" : "df5f0f70-c6a5-7d3d-218b-e4b43d24f4b6", 3 | "name" : "faq_question", 4 | "label" : "FAQ Question", 5 | "sortable" : false, 6 | "required" : false, 7 | "locked" : false, 8 | "hierarchical" : false, 9 | "max_depth" : 0, 10 | "allow_new_line" : false, 11 | "type" : "text", 12 | "default" : "Can I ask you a question?" 13 | }, { 14 | "id" : "775e756a-23e8-9fba-035b-1068fc5a7e3e", 15 | "name" : "faq_answer", 16 | "label" : "FAQ Answer", 17 | "sortable" : false, 18 | "required" : false, 19 | "locked" : false, 20 | "hierarchical" : false, 21 | "max_depth" : 0, 22 | "type" : "richtext", 23 | "default" : "Use the FAQ section of your site to answer those routine questions that always come up and need to be answered. This is a great way to tell us more about what you can offer, fill in some details that might intrigue us, and show us how knowledgeable and helpful you can be." 24 | }, { 25 | "id" : "929200be-8297-2ecc-9ec2-2b7945774eb8", 26 | "name" : "expanded", 27 | "label" : "Expanded?", 28 | "sortable" : false, 29 | "required" : false, 30 | "locked" : false, 31 | "hierarchical" : false, 32 | "max_depth" : 0, 33 | "type" : "boolean", 34 | "default" : null 35 | } ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155836/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": "Search this site on Google", 5 | "hierarchical": false, 6 | "id": "e4d723ac-490b-95ba-88fb-2b0eb3da3b7a", 7 | "label": "Search button label", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "search_field_label", 11 | "required": false, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text" 15 | }, 16 | { 17 | "allow_new_line": false, 18 | "default": "Search Google", 19 | "hierarchical": false, 20 | "id": "b9f9e2e0-8428-e1ad-5779-9d6b6b6fa534", 21 | "label": "Search Button Text", 22 | "locked": false, 23 | "max_depth": 0, 24 | "name": "search_button_text", 25 | "required": true, 26 | "show_emoji_picker": false, 27 | "sortable": false, 28 | "type": "text" 29 | }, 30 | { 31 | "default": false, 32 | "help_text": "Use the end part of the URL to fill the search query field (common on error pages)", 33 | "hierarchical": false, 34 | "id": "2771aa71-b8ee-e409-a2cd-ffe5de428ce3", 35 | "label": "Prefill input with pathname", 36 | "locked": false, 37 | "max_depth": 0, 38 | "name": "prefill_input_with_pathname", 39 | "required": true, 40 | "sortable": false, 41 | "type": "boolean" 42 | } 43 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366608/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029277660, 4 | "contains_overridable_hubl_tags": false, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | } 10 | ], 11 | "created": 1535029277660, 12 | "css_assets": [], 13 | "default": true, 14 | "deleted_at": 0, 15 | "editable_contexts": [], 16 | "external_js": [], 17 | "extra_classes": "", 18 | "folder_id": 6098902230, 19 | "global": false, 20 | "help_text": "", 21 | "host_template_types": [ 22 | "NONE" 23 | ], 24 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Custom%20HTML/icons/Custom%20HTML_icon.svg", 25 | "id": 6099133310, 26 | "is_available_for_new_content": true, 27 | "is_buffered": false, 28 | "js_assets": [], 29 | "label": "Custom HTML", 30 | "marketplace_version": 75, 31 | "master_language": "en", 32 | "module_id": 1366608, 33 | "name": "Custom HTML", 34 | "other_assets": [], 35 | "placement_rules": [], 36 | "portal_id": 123, 37 | "purchased": false, 38 | "schema_version": 2, 39 | "smart_type": "NOT_SMART", 40 | "tags": [ 41 | "DEFAULT" 42 | ], 43 | "updated": 1535029277660, 44 | "updated_by_id": 590478, 45 | "widget_label": "", 46 | "writeable": false 47 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155238/module.html: -------------------------------------------------------------------------------- 1 | {% if module.title is truthy %} 2 | {% set no_title = False %} 3 | {% else %} 4 | {% set no_title = True %} 5 | {% endif %} 6 | 7 | {% if module.form.form_id %} 8 | {% form 9 | form_key='{{ name }}', 10 | form_to_use='{{ module.form.form_id }}', 11 | title='{{ module.title }}', 12 | no_title='{{ no_title }}', 13 | follow_up_type_simple='{{ module.follow_up_type_simple }}', 14 | simple_email_for_live_id='{{ module.simple_email_for_live_id }}', 15 | follow_up_type_automation='{{ module.follow_up_type_automation }}', 16 | form_follow_ups_workflow_id='{{ module.form_follow_ups_workflow_id }}', 17 | response_response_type='{{ module.form.response_type }}', 18 | response_redirect_id='{{ module.form.redirect_id }}', 19 | response_redirect_url='{{ module.form.redirect_url }}', 20 | response_message='{{ module.form.message }}', 21 | notifications_are_overridden='{{ module.notifications_are_overridden }}', 22 | notifications_override_email_addresses='{{ module.notifications_override_email_addresses }}' 23 | gotowebinar_webinar_key='{{ module.form.gotowebinar_webinar_key }}' 24 | sfdc_campaign='{{ module.sfdc_campaign }}' 25 | %} 26 | {% else %} 27 | {% form 28 | title='{{ module.title }}', 29 | no_title='{{ no_title }}', 30 | %} 31 | {% endif %} 32 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843377/module.html: -------------------------------------------------------------------------------- 1 | {% set slides = [] %} 2 | 3 | {% for slide in module.slides %} 4 | 5 | {% if (slide.link_url is string_startingwith "http") or (slide.link_url is string_startingwith "/") %} 6 | {% set link = slide.link_url %} 7 | {% elif !slide.link_url %} 8 | {% set link = none %} 9 | {% else %} 10 | {% set link = "//" ~ slide.link_url %} 11 | {% endif %} 12 | 13 | {{ slides.append({ "caption": slide.caption, 14 | "show_caption": slide.show_caption, 15 | "link_url": link, 16 | "alt_text": slide.img.alt, 17 | "img_src": slide.img.src, 18 | "open_in_new_tab": slide.open_in_new_tab 19 | }) | string | replace('true', '') 20 | }} 21 | {% endfor %} 22 | 23 | {% gallery 24 | "Gallery" 25 | display_mode='{{ module.display_mode }}' 26 | sizing='{{ module.sizing }}', 27 | transition='{{ module.transition }}', 28 | caption_position='{{ module.caption_position }}', 29 | auto_advance='{{ module.auto_advance }}', 30 | overrideable=True, 31 | description_text='', 32 | show_pagination='{{ module.show_pagination }}', 33 | label='{{title}}', 34 | slides='{{ slides }}', 35 | loop_slides='{{ module.loop_slides }}', 36 | num_seconds='{{ module.num_seconds }}', 37 | lightboxRows='{{ module.lightboxRows }}' 38 | %} 39 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2869621/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1546619161558, 4 | "cdn_purge_embargo_time": 1546619461543, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "COMPATIBLE_EMAIL", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "OTHER_INDUSTRY", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029267594, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [], 21 | "external_js": [], 22 | "extra_classes": "", 23 | "folder_id": 6098902230, 24 | "global": false, 25 | "help_text": "", 26 | "host_template_types": [ 27 | "EMAIL" 28 | ], 29 | "id": 6098194729, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Footer", 34 | "marketplace_version": 218, 35 | "master_language": "en", 36 | "module_id": 2869621, 37 | "name": "Footer", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1546619161558, 48 | "updated_by_id": 1303493, 49 | "widget_label": "", 50 | "writeable": false 51 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155231/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029252176, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "NONPROFIT", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_ANY", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029252175, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-linked_image", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "ANY" 27 | ], 28 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-insertImage.svg", 29 | "id": 6098194102, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Image", 34 | "marketplace_version": 82, 35 | "master_language": "en", 36 | "module_id": 1155231, 37 | "name": "Image", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029252176, 48 | "widget_label": "Image", 49 | "writeable": false 50 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155232/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029278020, 4 | "cdn_purge_embargo_time": 1535029578009, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_ANY", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029258241, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [], 21 | "external_js": [], 22 | "extra_classes": "widget-type-logo", 23 | "folder_id": 6098902230, 24 | "global": false, 25 | "help_text": "", 26 | "host_template_types": [ 27 | "ANY" 28 | ], 29 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-logo.svg", 30 | "id": 6098194355, 31 | "is_available_for_new_content": true, 32 | "is_buffered": false, 33 | "js_assets": [], 34 | "label": "Logo", 35 | "marketplace_version": 70, 36 | "module_id": 1155232, 37 | "name": "Logo", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029278020, 48 | "widget_label": "", 49 | "writeable": false 50 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790629/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029262462, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "AVIATION", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_ANY", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029262462, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-cta", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "ANY" 27 | ], 28 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-ctas-2.svg", 29 | "id": 6098194514, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Call-to-Action", 34 | "marketplace_version": 72, 35 | "master_language": "en", 36 | "module_id": 1790629, 37 | "name": "Call-to-Action", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029262462, 48 | "widget_label": "CTA", 49 | "writeable": false 50 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1851328/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029278674, 4 | "cdn_purge_embargo_time": 1535029578663, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "COMPATIBLE_EMAIL", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "OTHER_INDUSTRY", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029267584, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [], 21 | "external_js": [], 22 | "extra_classes": "", 23 | "folder_id": 6098902230, 24 | "global": false, 25 | "help_text": "", 26 | "host_template_types": [ 27 | "EMAIL" 28 | ], 29 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-email-1.svg", 30 | "id": 6098475460, 31 | "is_available_for_new_content": true, 32 | "is_buffered": false, 33 | "js_assets": [], 34 | "label": "Main Email Body", 35 | "marketplace_version": 17, 36 | "module_id": 1851328, 37 | "name": "Main Email Body", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029278674, 48 | "widget_label": "", 49 | "writeable": false 50 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1928544/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029283012, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "COMPATIBLE_BLOG", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_PAGE", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029283011, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-image_slider", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "NONE" 27 | ], 28 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-imageGallery.svg#image-mask", 29 | "id": 6099133539, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Image Slider", 34 | "marketplace_version": 53, 35 | "master_language": "en", 36 | "module_id": 1928544, 37 | "name": "Image Slider", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029283012, 48 | "widget_label": "", 49 | "writeable": false 50 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155232/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": { 4 | "override_inherited_src": false, 5 | "src": null, 6 | "alt": null 7 | }, 8 | "hierarchical": false, 9 | "id": "12216f57-c9d2-9c7d-f634-68b45c16c4cf", 10 | "label": "", 11 | "locked": false, 12 | "max_depth": 0, 13 | "name": "img", 14 | "required": false, 15 | "resizable": true, 16 | "sortable": false, 17 | "type": "logo" 18 | }, 19 | { 20 | "allow_new_line": false, 21 | "default": null, 22 | "help_text": "If no url is specified, your logo will link to your primary domain", 23 | "hierarchical": false, 24 | "id": "c9a2e678-7c48-f0c6-e65b-e885bd2c429b", 25 | "label": "Link URL", 26 | "locked": false, 27 | "max_depth": 0, 28 | "name": "link", 29 | "required": false, 30 | "show_emoji_picker": false, 31 | "sortable": false, 32 | "type": "text" 33 | }, 34 | { 35 | "default": false, 36 | "hierarchical": false, 37 | "id": "0555927e-66cc-b51a-e43e-25e77ad6dd6d", 38 | "label": "Open link in new tab when visitors click", 39 | "locked": false, 40 | "max_depth": 0, 41 | "name": "open_in_new_tab", 42 | "required": false, 43 | "sortable": false, 44 | "type": "boolean", 45 | "visibility": { 46 | "controlling_field": "c9a2e678-7c48-f0c6-e65b-e885bd2c429b" 47 | } 48 | } 49 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790628/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029262541, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "COMPATIBLE_BLOG", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_PAGE", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029262541, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [ 20 | "TEMPLATE" 21 | ], 22 | "external_js": [], 23 | "extra_classes": "widget-type-page_footer", 24 | "folder_id": 6098902230, 25 | "global": false, 26 | "help_text": "", 27 | "host_template_types": [ 28 | "PAGE", 29 | "BLOG_LISTING", 30 | "BLOG_POST" 31 | ], 32 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/vectorpaint.svg", 33 | "id": 6098475319, 34 | "is_available_for_new_content": true, 35 | "is_buffered": false, 36 | "js_assets": [], 37 | "label": "Page Footer", 38 | "marketplace_version": 61, 39 | "module_id": 1790628, 40 | "name": "Page Footer", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "DEFAULT" 49 | ], 50 | "updated": 1535029262541, 51 | "widget_label": "", 52 | "writeable": false 53 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155240/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029252464, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_ANY", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029252463, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-section_header", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "ANY" 27 | ], 28 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-sectionHeader.svg", 29 | "id": 6098194138, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Section Header", 34 | "marketplace_version": 73, 35 | "master_language": "en", 36 | "module_id": 1155240, 37 | "name": "Section Header", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029252464, 48 | "updated_by_id": 969641, 49 | "widget_label": "", 50 | "writeable": false 51 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790631/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029267596, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_EMAIL", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029267596, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-email_optin", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "NONE" 27 | ], 28 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-email.svg", 29 | "id": 6098194732, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Subscription Opt-in", 34 | "marketplace_version": 74, 35 | "master_language": "en", 36 | "module_id": 1790631, 37 | "name": "Subscription Opt-in", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029267596, 48 | "updated_by_id": 969641, 49 | "widget_label": "", 50 | "writeable": false 51 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366607/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029257436, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_PAGE", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029257436, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [ 20 | "TEMPLATE" 21 | ], 22 | "external_js": [], 23 | "extra_classes": "widget-type-language_switcher", 24 | "folder_id": 6098902230, 25 | "global": false, 26 | "help_text": "", 27 | "host_template_types": [ 28 | "PAGE" 29 | ], 30 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-language.svg", 31 | "id": 6098194292, 32 | "is_available_for_new_content": true, 33 | "is_buffered": false, 34 | "js_assets": [], 35 | "label": "Language Switcher", 36 | "marketplace_version": 72, 37 | "master_language": "en", 38 | "module_id": 1366607, 39 | "name": "Language Switcher", 40 | "other_assets": [], 41 | "placement_rules": [], 42 | "portal_id": 123, 43 | "purchased": false, 44 | "schema_version": 2, 45 | "smart_type": "NOT_SMART", 46 | "tags": [ 47 | "DEFAULT" 48 | ], 49 | "updated": 1535029257436, 50 | "widget_label": "", 51 | "writeable": false 52 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1976948/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1546892189484, 4 | "cdn_purge_embargo_time": 1546892489463, 5 | "cloned_from_module_id": 1114821, 6 | "contains_overridable_hubl_tags": false, 7 | "content_tags": [ 8 | { 9 | "name": "COMPATIBLE_EMAIL", 10 | "source": "MARKETPLACE" 11 | } 12 | ], 13 | "created": 1535029262486, 14 | "css_assets": [], 15 | "default": true, 16 | "deleted_at": 0, 17 | "editable_contexts": [], 18 | "external_js": [], 19 | "extra_classes": "", 20 | "folder_id": 6098902230, 21 | "global": false, 22 | "help_text": "", 23 | "host_template_types": [ 24 | "EMAIL" 25 | ], 26 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/button.svg", 27 | "id": 6098902722, 28 | "is_available_for_new_content": true, 29 | "is_buffered": false, 30 | "js_assets": [], 31 | "label": "Button (email)", 32 | "marketplace_delivery_id": 23459553, 33 | "marketplace_version": 65, 34 | "master_language": "en", 35 | "module_id": 1976948, 36 | "name": "Button (email)", 37 | "other_assets": [], 38 | "placement_rules": [], 39 | "portal_id": 123, 40 | "purchased": false, 41 | "schema_version": 2, 42 | "smart_type": "NOT_SMART", 43 | "tags": [ 44 | "DEFAULT" 45 | ], 46 | "updated": 1546892189484, 47 | "updated_by_id": 969641, 48 | "widget_label": "", 49 | "writeable": false 50 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Tabber.module/module.html: -------------------------------------------------------------------------------- 1 |
2 | 3 | 8 | 9 |
10 |
11 | {% rss_listing "recent_posts" rss_url='', show_date=True, feed_source={rss_url='', is_external=False, select_blog="{{ module.blog }}"}, click_through_text='Read more', publish_date_text='posted at', include_featured_image=True, overrideable=False, publish_date_format='', show_detail=False, show_author=False, number_of_items='5', is_external=False, publish_date_format='MMM d, yyyy', title='', label='RSS Listing', limit_to_chars='200', attribution_text='by' %} 12 |
13 |
14 | {% post_listing "popular_posts" label="Popular Posts", list_title="", listing_type="popular", max_links=10, select_blog="{{ module.blog }}" %} 15 |
16 |
17 | {% post_filter "post_categories" label="Post Categories", expand_link_text="see all", filter_type="topic", list_title="Lists by Topic", max_links=10, order_by="post_count", select_blog="{{ module.blog }}" %} 18 |
19 |
20 | 21 |
-------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366603/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029252427, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "COMMUNICATIONS", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_EMAIL", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029252426, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-email_subscriptions", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "EMAIL" 27 | ], 28 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-forms-1.svg", 29 | "id": 6098194129, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Subscription Preferences", 34 | "marketplace_version": 71, 35 | "master_language": "en", 36 | "module_id": 1366603, 37 | "name": "Subscription Preferences", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029252427, 48 | "updated_by_id": 969641, 49 | "widget_label": "", 50 | "writeable": false 51 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155639/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1546619161191, 4 | "cdn_purge_embargo_time": 1546619461177, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_ANY", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029252269, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [], 21 | "external_js": [], 22 | "extra_classes": "widget-type-rich_text", 23 | "folder_id": 6098902230, 24 | "global": false, 25 | "help_text": "", 26 | "host_template_types": [ 27 | "ANY" 28 | ], 29 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-richText.svg", 30 | "id": 6098194111, 31 | "is_available_for_new_content": true, 32 | "is_buffered": false, 33 | "js_assets": [], 34 | "label": "Rich Text", 35 | "marketplace_version": 311, 36 | "master_language": "en", 37 | "module_id": 1155639, 38 | "name": "Rich Text", 39 | "other_assets": [], 40 | "placement_rules": [], 41 | "portal_id": 123, 42 | "purchased": false, 43 | "schema_version": 2, 44 | "smart_type": "NOT_SMART", 45 | "tags": [ 46 | "DEFAULT" 47 | ], 48 | "updated": 1546619161191, 49 | "updated_by_id": 969641, 50 | "widget_label": "", 51 | "writeable": false 52 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366606/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029277660, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_EMAIL", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029277659, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-email_simple_subscription", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "PAGE", 27 | "BLOG_POST", 28 | "BLOG_LISTING" 29 | ], 30 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-forms-1.svg", 31 | "id": 6099133309, 32 | "is_available_for_new_content": true, 33 | "is_buffered": false, 34 | "js_assets": [], 35 | "label": "Backup Unsubscribe", 36 | "marketplace_version": 74, 37 | "master_language": "en", 38 | "module_id": 1366606, 39 | "name": "Backup Unsubscribe", 40 | "other_assets": [], 41 | "placement_rules": [], 42 | "portal_id": 123, 43 | "purchased": false, 44 | "schema_version": 2, 45 | "smart_type": "NOT_SMART", 46 | "tags": [ 47 | "DEFAULT" 48 | ], 49 | "updated": 1535029277660, 50 | "widget_label": "", 51 | "writeable": false 52 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366601/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029262517, 4 | "cdn_purge_embargo_time": 1535029562509, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_BLOG", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029257525, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [ 21 | "TEMPLATE" 22 | ], 23 | "external_js": [], 24 | "extra_classes": "widget-type-blog_comments", 25 | "folder_id": 6098902230, 26 | "global": false, 27 | "help_text": "", 28 | "host_template_types": [ 29 | "BLOG_POST", 30 | "BLOG_LISTING" 31 | ], 32 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-comments.svg", 33 | "id": 6098194312, 34 | "is_available_for_new_content": true, 35 | "is_buffered": false, 36 | "js_assets": [], 37 | "label": "Blog Comments", 38 | "marketplace_version": 72, 39 | "module_id": 1366601, 40 | "name": "Blog Comments", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "DEFAULT" 49 | ], 50 | "updated": 1535029262517, 51 | "widget_label": "", 52 | "writeable": false 53 | } -------------------------------------------------------------------------------- /defaults/context/resource-mappings/123/mappings.json: -------------------------------------------------------------------------------- 1 | { 2 | "6098195264": "generated_layouts/6098195260.html", 3 | "6098195285": "generated_layouts/6098195278.html", 4 | "6098195306": "generated_layouts/6098195298.html", 5 | "6098195325": "generated_layouts/6098195315.html", 6 | "6098195347": "generated_layouts/6098195339.html", 7 | "6098195365": "generated_layouts/6098195358.html", 8 | "6098195390": "generated_layouts/6098195386.html", 9 | "6098195404": "generated_layouts/6098195401.html", 10 | "6098195427": "generated_layouts/6098195420.html", 11 | "6098195433": "generated_layouts/6098195431.html", 12 | "6098195441": "generated_layouts/6098195439.html", 13 | "6098195452": "generated_layouts/6098195448.html", 14 | "6099133329": "Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Coded_Files/vast-modules.css", 15 | "6099133405": "Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Coded_Files/vast-main.js", 16 | "6099133411": "Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Coded_Files/vast-style.css", 17 | "6099133427": "generated_global_groups/6099133423.html", 18 | "6099133441": "generated_global_groups/6099133437.html", 19 | "6099133455": "generated_global_groups/6099133450.html", 20 | "6099133466": "generated_global_groups/6099133462.html", 21 | "6099133575": "generated_layouts/6099133573.html", 22 | "6099133607": "generated_layouts/6099133604.html", 23 | "6994690759": "Custom/example_pages/Example_Vast_Page.html" 24 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Tabber.module/module.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function(){ 2 | // Hide all panes initially except for the first 'active' one 3 | $(".tab-pane").not(".active").hide(); 4 | 5 | // Loop through all the tabber panes 6 | $('.tabber-content .tab-pane').each(function(i, el){ 7 | 8 | // Set the ID 9 | $(el).attr("id", "tab-" + i); 10 | 11 | }); 12 | 13 | // Loop through all the tabber anchors 14 | $(".tabber-tabs a").each(function(i, el){ 15 | 16 | // Set HREF Using the Index 17 | $(el).attr("href", "#tab-" + i); 18 | 19 | // Variable for the Pane ID based on the HREF 20 | var ID = $(el).attr("href"); 21 | 22 | // Click Function 23 | $(this).click(function(e){ 24 | 25 | // Prevent default functionality of the anchor 26 | e.preventDefault(); 27 | 28 | // If the parent LI does not have the active class 29 | if(!$(this).parent().hasClass("active")){ 30 | 31 | // Give the parent LI the active state styles and hide all other panes 32 | $(this).parent().addClass("active").siblings().removeClass("active"); 33 | 34 | // Fade in the corresponding pane and hide all other panes 35 | $(ID).fadeIn().siblings().hide(); 36 | } 37 | }); 38 | }); 39 | }); 40 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367090/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029257515, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_EMAIL", 12 | "source": "MARKETPLACE" 13 | } 14 | ], 15 | "created": 1535029257514, 16 | "css_assets": [], 17 | "default": true, 18 | "deleted_at": 0, 19 | "editable_contexts": [], 20 | "external_js": [], 21 | "extra_classes": "widget-type-email_subscriptions_confirmation", 22 | "folder_id": 6098902230, 23 | "global": false, 24 | "help_text": "", 25 | "host_template_types": [ 26 | "EMAIL" 27 | ], 28 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-forms.svg", 29 | "id": 6098902514, 30 | "is_available_for_new_content": true, 31 | "is_buffered": false, 32 | "js_assets": [], 33 | "label": "Subscriptions Confirmation Message", 34 | "marketplace_version": 72, 35 | "master_language": "en", 36 | "module_id": 1367090, 37 | "name": "Subscriptions Confirmation Message", 38 | "other_assets": [], 39 | "placement_rules": [], 40 | "portal_id": 123, 41 | "purchased": false, 42 | "schema_version": 2, 43 | "smart_type": "NOT_SMART", 44 | "tags": [ 45 | "DEFAULT" 46 | ], 47 | "updated": 1535029257515, 48 | "updated_by_id": 969641, 49 | "widget_label": "", 50 | "writeable": false 51 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2191110/module.html: -------------------------------------------------------------------------------- 1 | {#################################### 2 | HubSpot Divider Module 3 | ##################################### 4 | This module is provided as an easy 5 | to implement option for users. 6 | This module references HubL that is 7 | only compatible with the Drag & Drop 8 | Email editor and may not work across 9 | the HubSpot platform. 10 | #-----------------------------------#} 11 | 12 | 13 | 14 | {# Add left 17 | {% endif %} 18 | {# Main td with bottom border #} 19 | 20 | {# Add right 23 | {% endif %} 24 | 25 |
to align right #} 15 | {% if (module.alignment != 'left') and (module.width != 100) %} 16 |    to align left #} 21 | {% if (module.alignment != 'right') and (module.width != 100) %} 22 |  
-------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Team Member Module.module/module.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |
4 | {% if module.team_member_head_shot.src %} 5 | {{ module.team_member_head_shot.alt }} 6 | {% endif %} 7 |

8 | {% if module.facebook_link %} 9 | 10 | {% endif %} 11 | {% if module.linkedin_link %} 12 | 13 | {% endif %} 14 | {% if module.twitter_link %} 15 | 16 | {% endif %} 17 |

18 |
19 |
20 |

{{ module.team_member_name }}

21 |
{{ module.team_member_title }}
22 |

{{ module.team_member_bio }}

23 |
24 |
25 |
-------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366743/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029267615, 4 | "cdn_purge_embargo_time": 1535029567600, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_ANY", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029257849, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [ 21 | "TEMPLATE" 22 | ], 23 | "external_js": [], 24 | "extra_classes": "widget-type-post_filter", 25 | "folder_id": 6098902230, 26 | "global": false, 27 | "help_text": "", 28 | "host_template_types": [ 29 | "ANY" 30 | ], 31 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-blog.svg", 32 | "id": 6098194336, 33 | "is_available_for_new_content": true, 34 | "is_buffered": false, 35 | "js_assets": [], 36 | "label": "Post Filter", 37 | "marketplace_version": 75, 38 | "master_language": "en", 39 | "module_id": 1366743, 40 | "name": "Post Filter", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "DEFAULT" 49 | ], 50 | "updated": 1535029267615, 51 | "updated_by_id": 969641, 52 | "widget_label": "", 53 | "writeable": false 54 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367088/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029258028, 4 | "cdn_purge_embargo_time": 1535029558014, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_ANY", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029257684, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [ 21 | "TEMPLATE" 22 | ], 23 | "external_js": [], 24 | "extra_classes": "widget-type-post_listing", 25 | "folder_id": 6098902230, 26 | "global": false, 27 | "help_text": "", 28 | "host_template_types": [ 29 | "ANY" 30 | ], 31 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-blog.svg", 32 | "id": 6098194325, 33 | "is_available_for_new_content": true, 34 | "is_buffered": false, 35 | "js_assets": [], 36 | "label": "Post Listing", 37 | "marketplace_version": 79, 38 | "master_language": "en", 39 | "module_id": 1367088, 40 | "name": "Post Listing", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "DEFAULT" 49 | ], 50 | "updated": 1535029258028, 51 | "updated_by_id": 969641, 52 | "widget_label": "", 53 | "writeable": false 54 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843376/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029278517, 4 | "cdn_purge_embargo_time": 1535029578505, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "COMMERCE", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_ANY", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "OTHER_INDUSTRY", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029267570, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [], 25 | "external_js": [], 26 | "extra_classes": "widget-type-text", 27 | "folder_id": 6098902230, 28 | "global": false, 29 | "help_text": "", 30 | "host_template_types": [ 31 | "ANY" 32 | ], 33 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-text.svg", 34 | "id": 6098194723, 35 | "is_available_for_new_content": true, 36 | "is_buffered": false, 37 | "js_assets": [], 38 | "label": "One Line of Text", 39 | "marketplace_version": 78, 40 | "module_id": 1843376, 41 | "name": "One Line of Text", 42 | "other_assets": [], 43 | "placement_rules": [], 44 | "portal_id": 123, 45 | "purchased": false, 46 | "schema_version": 2, 47 | "smart_type": "NOT_SMART", 48 | "tags": [ 49 | "DEFAULT" 50 | ], 51 | "updated": 1535029278517, 52 | "widget_label": "Text", 53 | "writeable": false 54 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367089/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": "

{{site_settings.company_name}}   {{site_settings.company_street_address_1}}  {{site_settings.company_street_address_2}}  {{site_settings.company_city}}  {{site_settings.company_state}}   {{site_settings.company_zip}}   {{site_settings.company_country}}

You received this email because you are subscribed to {{ subscription_name }} from {{site_settings.company_name}} .

Update your email preferences to choose the types of emails you receive.

 Unsubscribe from all future emails  

", 4 | "hierarchical": false, 5 | "id": "de146fec-e936-fa13-7b17-1ce114935605", 6 | "label": "Location text", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "html", 10 | "required": false, 11 | "sortable": false, 12 | "type": "richtext", 13 | "validation_regex": "" 14 | } 15 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155238/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029252423, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_BLOG", 12 | "source": "MARKETPLACE" 13 | }, 14 | { 15 | "name": "COMPATIBLE_PAGE", 16 | "source": "MARKETPLACE" 17 | } 18 | ], 19 | "created": 1535029252422, 20 | "css_assets": [], 21 | "default": true, 22 | "deleted_at": 0, 23 | "editable_contexts": [], 24 | "external_js": [], 25 | "extra_classes": "widget-type-form", 26 | "folder_id": 6098902230, 27 | "global": false, 28 | "help_text": "", 29 | "host_template_types": [ 30 | "PAGE", 31 | "BLOG_POST", 32 | "BLOG_LISTING" 33 | ], 34 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-forms.svg", 35 | "id": 6098194128, 36 | "is_available_for_new_content": true, 37 | "is_buffered": false, 38 | "js_assets": [], 39 | "label": "Form", 40 | "marketplace_version": 74, 41 | "master_language": "en", 42 | "module_id": 1155238, 43 | "name": "Form", 44 | "other_assets": [], 45 | "placement_rules": [], 46 | "portal_id": 123, 47 | "purchased": false, 48 | "schema_version": 2, 49 | "smart_type": "NOT_SMART", 50 | "tags": [ 51 | "DEFAULT" 52 | ], 53 | "updated": 1535029252423, 54 | "widget_label": "Form", 55 | "writeable": false 56 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1861177/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029258432, 4 | "cdn_purge_embargo_time": 1535029558422, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "TWO_COLUMN", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "DRAG_AND_DROP", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "OTHER_INDUSTRY", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029257439, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [ 25 | "TEMPLATE" 26 | ], 27 | "external_js": [], 28 | "extra_classes": "widget-type-blog_subscribe", 29 | "folder_id": 6098902230, 30 | "global": false, 31 | "help_text": "", 32 | "host_template_types": [ 33 | "ANY" 34 | ], 35 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-forms-1.svg", 36 | "id": 6098475061, 37 | "is_available_for_new_content": true, 38 | "is_buffered": false, 39 | "js_assets": [], 40 | "label": "Blog Email Subscription", 41 | "module_id": 1861177, 42 | "name": "Blog Email Subscription", 43 | "other_assets": [], 44 | "placement_rules": [], 45 | "portal_id": 123, 46 | "purchased": false, 47 | "schema_version": 2, 48 | "smart_type": "NOT_SMART", 49 | "tags": [ 50 | "DEFAULT" 51 | ], 52 | "updated": 1535029258432, 53 | "widget_label": "", 54 | "writeable": false 55 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367092/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029258057, 4 | "cdn_purge_embargo_time": 1535029558032, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "TWO_COLUMN", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "DRAG_AND_DROP", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "OTHER_INDUSTRY", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029257517, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [ 25 | "TEMPLATE" 26 | ], 27 | "external_js": [], 28 | "extra_classes": "widget-type-blog_content", 29 | "folder_id": 6098902230, 30 | "global": false, 31 | "help_text": "", 32 | "host_template_types": [ 33 | "BLOG_POST", 34 | "BLOG_LISTING" 35 | ], 36 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-blog.svg", 37 | "id": 6098194309, 38 | "is_available_for_new_content": true, 39 | "is_buffered": false, 40 | "js_assets": [], 41 | "label": "Blog Content", 42 | "module_id": 1367092, 43 | "name": "Blog Content", 44 | "other_assets": [], 45 | "placement_rules": [], 46 | "portal_id": 123, 47 | "purchased": false, 48 | "schema_version": 2, 49 | "smart_type": "NOT_SMART", 50 | "tags": [ 51 | "DEFAULT" 52 | ], 53 | "updated": 1535029258057, 54 | "widget_label": "", 55 | "writeable": false 56 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366599/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029267597, 4 | "cdn_purge_embargo_time": 1535029567586, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "SINGLE_COLUMN", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "DRAG_AND_DROP", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "OTHER_INDUSTRY", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029257500, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [], 25 | "external_js": [], 26 | "extra_classes": "widget-type-password_prompt", 27 | "folder_id": 6098902230, 28 | "global": false, 29 | "help_text": "", 30 | "host_template_types": [ 31 | "PAGE", 32 | "BLOG_POST", 33 | "BLOG_LISTING" 34 | ], 35 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-locked.svg", 36 | "id": 6098902511, 37 | "is_available_for_new_content": true, 38 | "is_buffered": false, 39 | "js_assets": [], 40 | "label": "Password Prompt", 41 | "module_id": 1366599, 42 | "name": "Password Prompt", 43 | "other_assets": [], 44 | "placement_rules": [], 45 | "portal_id": 123, 46 | "purchased": false, 47 | "schema_version": 2, 48 | "smart_type": "NOT_SMART", 49 | "tags": [ 50 | "DEFAULT" 51 | ], 52 | "updated": 1535029267597, 53 | "widget_label": "", 54 | "writeable": false 55 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1346990/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029252486, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "NONPROFIT", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_BLOG", 12 | "source": "MARKETPLACE" 13 | }, 14 | { 15 | "name": "COMPATIBLE_PAGE", 16 | "source": "MARKETPLACE" 17 | } 18 | ], 19 | "created": 1535029252486, 20 | "css_assets": [], 21 | "default": true, 22 | "deleted_at": 0, 23 | "editable_contexts": [ 24 | "TEMPLATE" 25 | ], 26 | "external_js": [], 27 | "extra_classes": "widget-type-menu", 28 | "folder_id": 6098902230, 29 | "global": false, 30 | "help_text": "", 31 | "host_template_types": [ 32 | "PAGE", 33 | "BLOG_POST", 34 | "BLOG_LISTING" 35 | ], 36 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-menu.svg", 37 | "id": 6098194144, 38 | "is_available_for_new_content": true, 39 | "is_buffered": false, 40 | "js_assets": [], 41 | "label": "Menu", 42 | "marketplace_version": 72, 43 | "master_language": "en", 44 | "module_id": 1346990, 45 | "name": "Menu", 46 | "other_assets": [], 47 | "placement_rules": [], 48 | "portal_id": 123, 49 | "purchased": false, 50 | "schema_version": 2, 51 | "smart_type": "NOT_SMART", 52 | "tags": [ 53 | "DEFAULT" 54 | ], 55 | "updated": 1535029252486, 56 | "widget_label": "", 57 | "writeable": false 58 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155836/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1535029252422, 4 | "contains_overridable_hubl_tags": true, 5 | "content_tags": [ 6 | { 7 | "name": "OTHER_INDUSTRY", 8 | "source": "MARKETPLACE" 9 | }, 10 | { 11 | "name": "COMPATIBLE_BLOG", 12 | "source": "MARKETPLACE" 13 | }, 14 | { 15 | "name": "COMPATIBLE_PAGE", 16 | "source": "MARKETPLACE" 17 | } 18 | ], 19 | "created": 1535029252421, 20 | "css_assets": [], 21 | "default": true, 22 | "deleted_at": 0, 23 | "editable_contexts": [], 24 | "external_js": [], 25 | "extra_classes": "widget-type-google_search", 26 | "folder_id": 6098902230, 27 | "global": false, 28 | "help_text": "", 29 | "host_template_types": [ 30 | "PAGE", 31 | "BLOG_POST", 32 | "BLOG_LISTING" 33 | ], 34 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/edited-search.svg", 35 | "id": 6098194127, 36 | "is_available_for_new_content": true, 37 | "is_buffered": false, 38 | "js_assets": [], 39 | "label": "Google Search", 40 | "marketplace_version": 74, 41 | "master_language": "en", 42 | "module_id": 1155836, 43 | "name": "Google Search", 44 | "other_assets": [], 45 | "placement_rules": [], 46 | "portal_id": 123, 47 | "purchased": false, 48 | "schema_version": 2, 49 | "smart_type": "NOT_SMART", 50 | "tags": [ 51 | "DEFAULT" 52 | ], 53 | "updated": 1535029252422, 54 | "widget_label": "", 55 | "writeable": false 56 | } -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Tabber.module/module.css: -------------------------------------------------------------------------------- 1 | .body-container .custom-tabber-wrap .tabber-tabs { 2 | border-bottom: 1px solid #ddd; 3 | list-style: none; 4 | padding: 0; 5 | margin: 40px 0 -2px; 6 | } 7 | .custom-tabber-wrap .tabber-tabs > li { 8 | float: left; 9 | } 10 | .custom-tabber-wrap .tabber-tabs > li > a { 11 | padding-right: 12px; 12 | padding-left: 12px; 13 | margin-right: 2px; 14 | line-height: 14px; 15 | padding-top: 8px; 16 | padding-bottom: 8px; 17 | line-height: 20px; 18 | border: 1px solid transparent; 19 | text-decoration: none; 20 | display: block; 21 | } 22 | .custom-tabber-wrap .tabber-tabs > .active > a, 23 | .custom-tabber-wrap .tabber-tabs > .active > a:hover, 24 | .custom-tabber-wrap .tabber-tabs > .active > a:focus { 25 | color: #555555; 26 | cursor: default; 27 | background-color: #ffffff; 28 | border: 1px solid #ddd; 29 | border-bottom-color: transparent; 30 | border-bottom-left-radius: 0; 31 | border-bottom-right-radius: 0; 32 | } 33 | 34 | .custom-tabber-wrap .tabber-content .tab-pane { 35 | background: #fff; 36 | padding: 8px; 37 | border: 1px solid #ddd; 38 | } 39 | .custom-tabber-wrap .tabber-content .tab-pane.active:nth-child(1) { 40 | border-top-left-radius: 0; 41 | } 42 | .body-container .custom-tabber-wrap .tabber-content ul { 43 | padding: 0; 44 | margin: 0; 45 | } 46 | .custom-tabber-wrap .tabber-content .block h3 { 47 | display: none; 48 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790630/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1538589897818, 4 | "cdn_purge_embargo_time": 1538590197807, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "COMPATIBLE_BLOG", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_PAGE", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029277661, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [], 21 | "external_js": [], 22 | "extra_classes": "widget-type-simple_menu", 23 | "folder_id": 6098902230, 24 | "global": false, 25 | "help_text": "", 26 | "host_template_types": [ 27 | "PAGE", 28 | "BLOG_LISTING", 29 | "BLOG_POST" 30 | ], 31 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Simple%20Menu/icons/Simple%20Menu_icon.svg", 32 | "id": 6098475803, 33 | "is_available_for_new_content": true, 34 | "is_buffered": false, 35 | "js_assets": [], 36 | "label": "Simple Menu", 37 | "marketplace_version": 66, 38 | "master_language": "en", 39 | "module_id": 1790630, 40 | "name": "Simple Menu", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "DEFAULT" 49 | ], 50 | "updated": 1538589897818, 51 | "updated_by_id": 846186, 52 | "widget_label": "", 53 | "writeable": false 54 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1790632/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1538667926565, 4 | "cdn_purge_embargo_time": 1538668226539, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "COMPATIBLE_BLOG", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_PAGE", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029277664, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [], 21 | "external_js": [], 22 | "extra_classes": "widget-type-rss_listing", 23 | "folder_id": 6098902230, 24 | "global": false, 25 | "help_text": "", 26 | "host_template_types": [ 27 | "PAGE", 28 | "BLOG_LISTING", 29 | "BLOG_POST" 30 | ], 31 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/RSS%20Listing/icons/RSS%20Listing_icon.svg", 32 | "id": 6098903263, 33 | "is_available_for_new_content": true, 34 | "is_buffered": false, 35 | "js_assets": [], 36 | "label": "RSS Listing", 37 | "marketplace_version": 73, 38 | "master_language": "en", 39 | "module_id": 1790632, 40 | "name": "RSS Listing", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "DEFAULT" 49 | ], 50 | "updated": 1538667926565, 51 | "updated_by_id": 969641, 52 | "widget_label": "", 53 | "writeable": false 54 | } -------------------------------------------------------------------------------- /bin/tasks/download_ftp_designs.js: -------------------------------------------------------------------------------- 1 | const BaseTask = require('./base_task').BaseTask; 2 | const { getFtpHost } = require('../utils/ftp'); 3 | const Ftp = require('easy-ftp'); 4 | const logger = require('gulplog'); 5 | const Promise = require('promise'); 6 | 7 | const taskName = 'download-designs'; 8 | 9 | class DesignsFtpTask extends BaseTask { 10 | constructor() { 11 | const requiredArgs = ['password', 'username', 'portalId', 'outDir']; 12 | super(taskName, requiredArgs); 13 | } 14 | 15 | static getTaskName() { 16 | return taskName; 17 | } 18 | 19 | async run() { 20 | const args = this.args; 21 | 22 | const config = { 23 | host: getFtpHost({ env: args.env }), 24 | username: args.username, 25 | password: args.password, 26 | secure: true, 27 | port: 3200 28 | }; 29 | const client = new Ftp(); 30 | client.connect(config); 31 | const remoteDir = "/portals/" + args.portalId + "/content/designs/"; 32 | const localDir = this.project_root + "/" + args.outDir; 33 | await this.downloadPromise(client, [{remote: remoteDir, local: localDir}]); 34 | logger.info("Done with FTP download"); 35 | client.close(); 36 | } 37 | 38 | async downloadPromise(ftpClient, downloadDirs) { 39 | return new Promise((fulfill) => { 40 | ftpClient.download(downloadDirs, err => { 41 | if (err) { 42 | logger.warn("Error: %s", JSON.stringify(err, null, 2)); 43 | } 44 | fulfill(); 45 | }); 46 | }); 47 | } 48 | } 49 | 50 | module.exports = { DesignsFtpTask }; 51 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1847337/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1537559182692, 4 | "cdn_purge_embargo_time": 1537559482685, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_ANY", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029262481, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [ 21 | "TEMPLATE" 22 | ], 23 | "external_js": [], 24 | "extra_classes": "widget-type-space", 25 | "folder_id": 6098902230, 26 | "global": false, 27 | "help_text": "", 28 | "host_template_types": [ 29 | "ANY" 30 | ], 31 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Horizontal%20Spacer/icons/Horizontal%20Spacer_icon.svg", 32 | "id": 6098475320, 33 | "is_available_for_new_content": true, 34 | "is_buffered": false, 35 | "js_assets": [], 36 | "label": "Horizontal Spacer", 37 | "marketplace_version": 78, 38 | "master_language": "en", 39 | "module_id": 1847337, 40 | "name": "Horizontal Spacer", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "DEFAULT" 49 | ], 50 | "updated": 1537559182692, 51 | "updated_by_id": 590478, 52 | "widget_label": "Spacer", 53 | "writeable": false 54 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2794854/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1539011507694, 4 | "cdn_purge_embargo_time": 1539011807684, 5 | "cloned_from_module_id": 976280, 6 | "contains_overridable_hubl_tags": false, 7 | "content_tags": [ 8 | { 9 | "name": "EMAIL", 10 | "source": "MARKETPLACE" 11 | }, 12 | { 13 | "name": "COMPATIBLE_ANY", 14 | "source": "MARKETPLACE" 15 | } 16 | ], 17 | "created": 1535029272587, 18 | "css_assets": [], 19 | "default": true, 20 | "deleted_at": 0, 21 | "editable_contexts": [], 22 | "external_js": [], 23 | "extra_classes": "widget-type-social_sharing", 24 | "folder_id": 6098902230, 25 | "global": false, 26 | "help_text": "", 27 | "host_template_types": [ 28 | "EMAIL" 29 | ], 30 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Web%20version%20link/icons/Web%20version%20link_icon.svg", 31 | "id": 6098194866, 32 | "is_available_for_new_content": true, 33 | "is_buffered": false, 34 | "js_assets": [], 35 | "label": "Web version link", 36 | "marketplace_version": 26, 37 | "master_language": "en", 38 | "module_id": 2794854, 39 | "name": "Web version link", 40 | "other_assets": [], 41 | "placement_rules": [], 42 | "portal_id": 123, 43 | "purchased": false, 44 | "schema_version": 2, 45 | "smart_type": "NOT_SMART", 46 | "tags": [ 47 | "DEFAULT" 48 | ], 49 | "updated": 1539011507694, 50 | "updated_by_id": 1189077, 51 | "widget_label": "", 52 | "writeable": false 53 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2191110/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1546619161382, 4 | "cdn_purge_embargo_time": 1546619461365, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "EMAIL", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_EMAIL", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "OTHER_INDUSTRY", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029267575, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [], 25 | "external_js": [], 26 | "extra_classes": "", 27 | "folder_id": 6098902230, 28 | "global": false, 29 | "help_text": "", 30 | "host_template_types": [ 31 | "EMAIL" 32 | ], 33 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Email%20Divider/icons/Email%20Divider_icon.svg", 34 | "id": 6098475458, 35 | "is_available_for_new_content": true, 36 | "is_buffered": false, 37 | "js_assets": [], 38 | "label": "Email Divider", 39 | "marketplace_version": 31, 40 | "master_language": "en", 41 | "module_id": 2191110, 42 | "name": "Email Divider", 43 | "other_assets": [], 44 | "placement_rules": [], 45 | "portal_id": 123, 46 | "purchased": false, 47 | "schema_version": 2, 48 | "smart_type": "NOT_SMART", 49 | "tags": [ 50 | "DEFAULT" 51 | ], 52 | "updated": 1546619161382, 53 | "updated_by_id": 1303493, 54 | "widget_label": "", 55 | "writeable": false 56 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155826/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1544634283049, 4 | "cdn_purge_embargo_time": 1544634583038, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_ANY", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "EMAIL", 17 | "source": "MARKETPLACE" 18 | }, 19 | { 20 | "name": "COMPATIBLE_EMAIL", 21 | "source": "MARKETPLACE" 22 | } 23 | ], 24 | "created": 1535029257422, 25 | "css_assets": [], 26 | "default": true, 27 | "deleted_at": 0, 28 | "editable_contexts": [], 29 | "external_js": [], 30 | "extra_classes": "widget-type-header", 31 | "folder_id": 6098902230, 32 | "global": false, 33 | "help_text": "", 34 | "host_template_types": [ 35 | "ANY" 36 | ], 37 | "icon": "https://cdn2.hubspotqa.com/hubfs/99263981/high-header.svg", 38 | "id": 6098194288, 39 | "is_available_for_new_content": true, 40 | "is_buffered": false, 41 | "js_assets": [], 42 | "label": "Header", 43 | "marketplace_version": 60, 44 | "master_language": "en", 45 | "module_id": 1155826, 46 | "name": "Header", 47 | "other_assets": [], 48 | "placement_rules": [], 49 | "portal_id": 123, 50 | "purchased": false, 51 | "schema_version": 2, 52 | "smart_type": "NOT_SMART", 53 | "tags": [ 54 | "DEFAULT" 55 | ], 56 | "updated": 1544634283049, 57 | "widget_label": "", 58 | "writeable": false 59 | } -------------------------------------------------------------------------------- /defaults/designs/Custom/features/modules_example.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | {{ page_meta.html_title }} 13 | {% if site_settings.favicon_src %}{% endif %} 14 | 15 | {{ required_head_tags }} 16 | 17 | 18 |
19 |

absolute path

20 | {% module "module" path="/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Testimonial" %} 21 |

relative path

22 | {% module "module" path="../..//Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Testimonial" %} 23 |

default module

24 | {% module "module" path="@hubspot/rich_text" %} 25 |
26 | 27 | {{ standard_footer_includes }} 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367093/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1546619161721, 4 | "cdn_purge_embargo_time": 1546619461709, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "NONPROFIT", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_EMAIL", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "OTHER_INDUSTRY", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029262484, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [], 25 | "external_js": [], 26 | "extra_classes": "", 27 | "folder_id": 6098902230, 28 | "global": false, 29 | "help_text": "", 30 | "host_template_types": [ 31 | "EMAIL" 32 | ], 33 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Image%20(email)/icons/Image%20(email)_icon.svg", 34 | "id": 6098194517, 35 | "is_available_for_new_content": true, 36 | "is_buffered": false, 37 | "js_assets": [], 38 | "label": "Image (email)", 39 | "marketplace_version": 201, 40 | "master_language": "en", 41 | "module_id": 1367093, 42 | "name": "Image (email)", 43 | "other_assets": [], 44 | "placement_rules": [], 45 | "portal_id": 123, 46 | "purchased": false, 47 | "schema_version": 2, 48 | "smart_type": "NOT_SMART", 49 | "tags": [ 50 | "DEFAULT" 51 | ], 52 | "updated": 1546619161721, 53 | "updated_by_id": 1189077, 54 | "widget_label": "Image", 55 | "writeable": false 56 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1928544/module.html: -------------------------------------------------------------------------------- 1 | {% set slides = [] %} 2 | 3 | {% for slide in module.slides %} 4 | 5 | {% if (slide.link_url is string_startingwith "http") or (slide.link_url is string_startingwith "/") %} 6 | {% set link = slide.link_url %} 7 | {% elif !slide.link_url %} 8 | {% set link = none %} 9 | {% else %} 10 | {% set link = "//" ~ slide.link_url %} 11 | {% endif %} 12 | 13 | {{ slides.append({ "caption": slide.caption, 14 | "show_caption": slide.show_caption, 15 | "link_url": link, 16 | "alt_text": slide.img.alt, 17 | "img_src": slide.img.src, 18 | "open_in_new_tab": slide.open_in_new_tab 19 | }) | string | replace('true', '') 20 | }} 21 | {% endfor %} 22 | 23 | {% if module.display_mode == 'thumbnail' %} 24 | {% set withThumbnail = true %} 25 | {% set lightbox = false %} 26 | {% elif module.display_mode == 'lightbox' %} 27 | {% set lightbox = true %} 28 | {% set withThumbnail = true %} 29 | {% endif %} 30 | 31 | {% image_slider 32 | with_thumbnail_nav = '{{ withThumbnail }}', 33 | lightbox = '{{ lightbox }}', 34 | sizing='{{ module.sizing }}', 35 | transition='{{ module.transition }}', 36 | caption_position='{{ module.caption_position }}', 37 | auto_advance='{{ module.auto_advance }}', 38 | overrideable=True, 39 | description_text='', 40 | show_pagination='{{ module.show_pagination }}', 41 | label='{{title}}', 42 | slides='{{ slides }}', 43 | loop_slides='{{ module.loop_slides }}', 44 | num_seconds='{{ module.num_seconds }}', 45 | %} -------------------------------------------------------------------------------- /defaults/context/hubdb/123/table-meta-1029037.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": 1029037, 3 | "name": "Local HubL Example", 4 | "portalId": 123, 5 | "createdAt": 1543523212829, 6 | "publishedAt": 1543523356801, 7 | "updatedAt": 1543523352856, 8 | "columns": [ 9 | { 10 | "name": "Name", 11 | "id": 1, 12 | "deleted": false, 13 | "type": "TEXT" 14 | }, 15 | { 16 | "name": "multiselect_column", 17 | "label": "Multiselect Column", 18 | "id": 2, 19 | "deleted": false, 20 | "options": [ 21 | { 22 | "id": 1, 23 | "name": "Option 1", 24 | "type": "option" 25 | }, 26 | { 27 | "id": 2, 28 | "name": "Option 2", 29 | "type": "option" 30 | }, 31 | { 32 | "id": 3, 33 | "name": "Option 3", 34 | "type": "option" 35 | } 36 | ], 37 | "type": "MULTISELECT", 38 | "optionCount": 3 39 | }, 40 | { 41 | "name": "number_column", 42 | "label": "Number Column", 43 | "id": 3, 44 | "deleted": false, 45 | "type": "NUMBER" 46 | } 47 | ], 48 | "label": "Local HubL Example", 49 | "updated": 1543523352856, 50 | "deleted": false, 51 | "rowCount": 3, 52 | "createdBy": { 53 | "id": 6440056, 54 | "email": "hspot@hubspot.com", 55 | "firstName": "Hugh", 56 | "lastName": "Spot" 57 | }, 58 | "updatedBy": { 59 | "id": 6440056, 60 | "email": "hspot@hubspot.com", 61 | "firstName": "Hugh", 62 | "lastName": "Spot" 63 | }, 64 | "columnCount": 3 65 | } 66 | -------------------------------------------------------------------------------- /bin/main.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const browserSync = require('browser-sync'); 4 | const fs = require('fs'); 5 | const retry = require('requestretry'); 6 | const shell = require('shelljs'); 7 | const yaml = require('js-yaml'); 8 | 9 | const CONFIG_FILE = 'server-config.yaml'; 10 | const cwd = process.cwd(); 11 | const URL = "http://localhost:8080"; 12 | 13 | function run() { 14 | if (!fs.existsSync(`${process.cwd()}/${CONFIG_FILE}`)) { 15 | console.log(`No ${CONFIG_FILE} found in the current directory. Exiting`); 16 | return; 17 | } 18 | 19 | const conf = yaml.safeLoad(fs.readFileSync(`${cwd}/${CONFIG_FILE}`)); 20 | const designsDir = conf.templateBaseDir; 21 | const contextDir = conf.contextBaseDir; 22 | 23 | const cmd = ` 24 | docker run -p 8080:8080 \ 25 | -v ${cwd}/${designsDir}:/local-cms-server/${designsDir} \ 26 | -v ${cwd}/${contextDir}:/local-cms-server/${contextDir} \ 27 | -v ${cwd}/${CONFIG_FILE}:/local-cms-server/${CONFIG_FILE} \ 28 | hubspot/local-cms-server 29 | `; 30 | 31 | console.log("Running: " + cmd); 32 | shell.exec(cmd, { async: true } ); 33 | openBrowser(); 34 | } 35 | 36 | function openBrowser() { 37 | retry({ 38 | url: URL, 39 | json: true, 40 | maxAttempts: 100, 41 | retryDelay: 1000 42 | }) 43 | .then(() => { 44 | browserSync.init({ 45 | proxy: URL, 46 | files: [ 47 | './designs/**', 48 | './context/**' 49 | ] 50 | }); 51 | }) 52 | .catch(() => { 53 | console.log(`Unable to open browser. Try manually navigating to ${URL}`); 54 | }); 55 | } 56 | 57 | module.exports = { 58 | run 59 | }; -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712622/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1543337156735, 4 | "cdn_purge_embargo_time": 1543337456727, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "COMPATIBLE_BLOG", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_PAGE", 13 | "source": "MARKETPLACE" 14 | } 15 | ], 16 | "created": 1535029277663, 17 | "css_assets": [], 18 | "default": true, 19 | "deleted_at": 0, 20 | "editable_contexts": [], 21 | "external_js": [], 22 | "extra_classes": "", 23 | "folder_id": 6098902230, 24 | "global": false, 25 | "help_text": "", 26 | "host_template_types": [ 27 | "PAGE", 28 | "BLOG_POST", 29 | "BLOG_LISTING" 30 | ], 31 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Site%20Search%20Input/icons/Site%20Search%20Input_icon.svg", 32 | "id": 6098903269, 33 | "is_available_for_new_content": true, 34 | "is_buffered": false, 35 | "js_assets": [], 36 | "label": "Site Search Input", 37 | "marketplace_delivery_id": 19993005, 38 | "marketplace_version": 11, 39 | "module_id": 2712622, 40 | "name": "Site Search Input", 41 | "other_assets": [], 42 | "placement_rules": [], 43 | "portal_id": 123, 44 | "purchased": false, 45 | "schema_version": 2, 46 | "smart_type": "NOT_SMART", 47 | "tags": [ 48 | "SEARCH_ASSET", 49 | "HIDDEN", 50 | "search", 51 | "DEFAULT" 52 | ], 53 | "updated": 1543337156735, 54 | "updated_by_id": 2411823, 55 | "widget_label": "", 56 | "writeable": false 57 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/2763545/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1543429593395, 4 | "cdn_purge_embargo_time": 1543429893377, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "SOCIAL", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "EMAIL", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "COMPATIBLE_EMAIL", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029283012, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [], 25 | "external_js": [], 26 | "extra_classes": "", 27 | "folder_id": 6098902230, 28 | "global": false, 29 | "help_text": "", 30 | "host_template_types": [ 31 | "EMAIL" 32 | ], 33 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Follow%20Me%20-%20Email/icons/Follow%20Me%20-%20Email_icon.svg", 34 | "id": 6098195129, 35 | "is_available_for_new_content": true, 36 | "is_buffered": false, 37 | "js_assets": [], 38 | "label": "Follow Me - Email", 39 | "marketplace_delivery_id": 20399412, 40 | "marketplace_version": 49, 41 | "master_language": "en", 42 | "module_id": 2763545, 43 | "name": "Follow Me - Email", 44 | "other_assets": [], 45 | "placement_rules": [], 46 | "portal_id": 123, 47 | "purchased": false, 48 | "schema_version": 2, 49 | "smart_type": "NOT_SMART", 50 | "tags": [ 51 | "DEFAULT" 52 | ], 53 | "updated": 1543429593395, 54 | "updated_by_id": 1303493, 55 | "widget_label": "", 56 | "writeable": false 57 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1843377/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1536096696565, 4 | "cdn_purge_embargo_time": 1536096996551, 5 | "contains_overridable_hubl_tags": true, 6 | "content_tags": [ 7 | { 8 | "name": "OTHER_INDUSTRY", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "COMPATIBLE_BLOG", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "COMPATIBLE_PAGE", 17 | "source": "MARKETPLACE" 18 | } 19 | ], 20 | "created": 1535029252335, 21 | "css_assets": [], 22 | "default": true, 23 | "deleted_at": 0, 24 | "editable_contexts": [], 25 | "external_js": [], 26 | "extra_classes": "widget-type-gallery", 27 | "folder_id": 6098902230, 28 | "global": false, 29 | "help_text": "", 30 | "host_template_types": [ 31 | "PAGE", 32 | "BLOG_POST", 33 | "BLOG_LISTING" 34 | ], 35 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Image%20Gallery/icons/Image%20Gallery_icon.svg", 36 | "id": 6098194118, 37 | "is_available_for_new_content": true, 38 | "is_buffered": false, 39 | "js_assets": [], 40 | "label": "Image Gallery", 41 | "marketplace_version": 78, 42 | "master_language": "en", 43 | "module_id": 1843377, 44 | "name": "Image Gallery", 45 | "other_assets": [], 46 | "placement_rules": [], 47 | "portal_id": 123, 48 | "purchased": false, 49 | "schema_version": 2, 50 | "smart_type": "NOT_SMART", 51 | "tags": [ 52 | "DEFAULT" 53 | ], 54 | "updated": 1536096696565, 55 | "updated_by_id": 846186, 56 | "widget_label": "", 57 | "writeable": false 58 | } -------------------------------------------------------------------------------- /bin/tasks/resource_mapping_download.js: -------------------------------------------------------------------------------- 1 | const _ = require('underscore'); 2 | const BaseTask = require('./base_task').BaseTask; 3 | const { getApiUrl, DESIGN_MANAGER_API } = require('../utils/api'); 4 | const fs = require('fs'); 5 | const logger = require('gulplog'); 6 | const shell = require('shelljs'); 7 | 8 | const taskName = 'download-resource-mappings'; 9 | 10 | class ResourceMappingTask extends BaseTask { 11 | constructor() { 12 | const requiredArgs = ['hapikey', 'pathToContextDir']; 13 | super(taskName, requiredArgs); 14 | } 15 | 16 | static getTaskName() { 17 | return taskName; 18 | } 19 | 20 | async run() { 21 | const args = this.args; 22 | const requestArgs = { 23 | hapikey: args.hapikey, 24 | casing: 'snake_r', 25 | limit: args.limit 26 | }; 27 | logger.info('Fetching resource mappings'); 28 | const templates = await this.getObjects( 29 | getApiUrl(`${DESIGN_MANAGER_API}/templates`, { env: args.env }), 30 | requestArgs 31 | ); 32 | const portalId = templates[0].portal_id; 33 | const mappings = this.getIdToPathMap(templates); 34 | const outDir = this.project_root + "/" + args.pathToContextDir + "/resource-mappings/" + portalId; 35 | shell.mkdir('-p', outDir); 36 | logger.info("Writing mappings to %s", outDir); 37 | fs.writeFileSync(outDir + "/mappings.json", JSON.stringify(mappings, null, 2)); 38 | } 39 | 40 | getIdToPathMap(resources) { 41 | const arrayOfMappings = resources.map(resource => ({ [resource.id]: resource.path })); 42 | return _.reduce(arrayOfMappings, 43 | (idsToPaths, idToPath) => ({ ...idsToPaths, ...idToPath }), 44 | {}); 45 | } 46 | } 47 | 48 | module.exports = { ResourceMappingTask } 49 | -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155231/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": { 4 | "src": "https://static.hubspot.com/final/img/content/email-template-images/placeholder_200x200.png", 5 | "alt": "placeholder_200x200", 6 | "width": 200, 7 | "height": 200 8 | }, 9 | "hierarchical": false, 10 | "id": "c0659ae1-c6f6-be47-f874-aee733929395", 11 | "label": "Image", 12 | "locked": false, 13 | "max_depth": 0, 14 | "name": "img", 15 | "required": false, 16 | "resizable": true, 17 | "sortable": false, 18 | "type": "image" 19 | }, 20 | { 21 | "allow_new_line": false, 22 | "default": "", 23 | "help_text": "This is where you'd like to send your visitors when they click on the image. Please include a protocol (i.e. \"http://\") in the URL.", 24 | "hierarchical": false, 25 | "id": "63e5353d-6345-69dd-c6dc-bbd2a3049d97", 26 | "label": "Link (optional)", 27 | "locked": false, 28 | "max_depth": 0, 29 | "name": "link", 30 | "placeholder": "http://...", 31 | "required": false, 32 | "show_emoji_picker": false, 33 | "sortable": false, 34 | "type": "text", 35 | "validation_regex": "", 36 | "visibility": { 37 | "controlling_field": "c0659ae1-c6f6-be47-f874-aee733929395" 38 | } 39 | }, 40 | { 41 | "default": false, 42 | "hierarchical": false, 43 | "id": "4e826dd6-cf20-b308-cbb3-de456080195e", 44 | "label": "Open link in new tab", 45 | "locked": false, 46 | "max_depth": 0, 47 | "name": "target", 48 | "required": false, 49 | "sortable": false, 50 | "type": "boolean", 51 | "visibility": { 52 | "controlling_field": "63e5353d-6345-69dd-c6dc-bbd2a3049d97", 53 | "operator": "NOT_EMPTY" 54 | } 55 | } 56 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Testimonial.module/module.css: -------------------------------------------------------------------------------- 1 | .quote-box { 2 | background: #f5f5f5; 3 | padding: 30px; 4 | padding-bottom: 15px; 5 | -webkit-border-radius: 4px; 6 | -moz-border-radius: 4px; 7 | -ms-border-radius: 4px; 8 | -o-border-radius: 4px; 9 | border-radius: 4px; 10 | -moz-background-clip: padding; 11 | -webkit-background-clip: padding-box; 12 | background-clip: padding-box; 13 | position: relative; 14 | margin-bottom: 30px; 15 | } 16 | .quote-box:after { 17 | content: ""; 18 | display: block; 19 | width: 0; 20 | height: 0; 21 | border-left: 20px solid transparent; 22 | border-right: 20px solid transparent; 23 | border-top: 20px solid #f5f5f5; 24 | position: absolute; 25 | bottom: -20px; 26 | margin-left: -20px; 27 | left: 50%; 28 | } 29 | .quote { 30 | border: none; 31 | padding: 0; 32 | font-size: 16px; 33 | color: #666666; 34 | margin: 0px; 35 | } 36 | .details { 37 | font-size: 13px; 38 | } 39 | .name { 40 | display: block; 41 | font-weight: normal; 42 | font-family: 'Montserrat', sans-serif; 43 | } 44 | .quote-box .title { 45 | display: block; 46 | color: #b3b3b3; 47 | margin-bottom: 0; 48 | font-weight: normal; 49 | font-size: 13px; 50 | } 51 | .quote-box .fa{ 52 | font-size: 18px; 53 | position: absolute; 54 | right: 30px; 55 | bottom: 30px; 56 | } 57 | 58 | .img-rounded { 59 | border-radius: 6px; 60 | } 61 | .testimonial-headshot { 62 | text-align: center; 63 | } 64 | .testimonial-headshot img{ 65 | border-radius: 50%; 66 | max-width: 150px !important; 67 | max-height: 150px !important; 68 | margin-top: -10px; 69 | border: 5px solid #f5f5f5; 70 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1366606/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": "Email Unsubscribe", 5 | "hierarchical": false, 6 | "id": "55f058f2-ee78-2624-cd8b-562e2aa392ba", 7 | "label": "Header", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "header", 11 | "required": false, 12 | "show_emoji_picker": false, 13 | "sortable": false, 14 | "type": "text", 15 | "validation_regex": "" 16 | }, 17 | { 18 | "allow_new_line": false, 19 | "default": "Your email address:", 20 | "hierarchical": false, 21 | "id": "33717e20-8dfa-1c1b-3a99-b97cc6490237", 22 | "label": "Email input help text", 23 | "locked": false, 24 | "max_depth": 0, 25 | "name": "input_help_text", 26 | "required": false, 27 | "show_emoji_picker": false, 28 | "sortable": false, 29 | "type": "text", 30 | "validation_regex": "" 31 | }, 32 | { 33 | "allow_new_line": false, 34 | "default": "email@example.com", 35 | "hierarchical": false, 36 | "id": "b0b9fefc-8a0f-5bfb-b39c-355b31e0d99f", 37 | "label": "Email input placeholder text", 38 | "locked": false, 39 | "max_depth": 0, 40 | "name": "input_placeholder", 41 | "required": false, 42 | "show_emoji_picker": false, 43 | "sortable": false, 44 | "type": "text", 45 | "validation_regex": "" 46 | }, 47 | { 48 | "allow_new_line": false, 49 | "default": "Unsubscribe", 50 | "hierarchical": false, 51 | "id": "000eda6e-1e7f-c072-e329-8028e4c9c23a", 52 | "label": "Button text", 53 | "locked": false, 54 | "max_depth": 0, 55 | "name": "button_text", 56 | "required": false, 57 | "show_emoji_picker": false, 58 | "sortable": false, 59 | "type": "text", 60 | "validation_regex": "" 61 | } 62 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1155241/module.html: -------------------------------------------------------------------------------- 1 | {% set size = "24px" %} 2 | {% set borderRadius = "3px" %} 3 | {% set linkStyle = "width:"~size~";border-width:0px;border:0px;text-decoration:none;" %} 4 | {% set imgStyle = "height:"~size~";width:"~size~";border-radius:"~borderRadius~";border-width:0px;border:0px;" %} 5 | 6 | 7 | {% macro render_social_icon(networkName) %} 8 | {% set network = module[networkName] %} 9 | {% if (networkName == "pinterest" and network.pinterest_media and network.enabled) or (networkName != "pinterest" and network.enabled) %} 10 | {% if networkName == "pinterest" %} 11 | {% set pinterest_media = module.pinterest.pinterest_media.src %} 12 | {% endif %} 13 | {% set logo = networkName ~'-color.png' %} 14 | {% set urlOperator = "&" if "?" in page_meta.canonical_url else "&" %} 15 | {% if module.link %} 16 | {% set social_link_url = module.link ~ urlOperator ~ "utm_medium=social&utm_source="|safe ~ networkName %} 17 | {% else %} 18 | {% set social_link_url = page_meta.canonical_url ~ urlOperator ~ "utm_medium=social&utm_source="|safe ~ networkName %} 19 | {% endif %} 20 | 21 | 22 | {{ "Share on " ~ networkName }} 23 | 24 | {% endif %} 25 | {% endmacro %} 26 | 27 |
28 | {{ render_social_icon('facebook') }} 29 | {{ render_social_icon('linkedin') }} 30 | {{ render_social_icon('twitter') }} 31 | {{ render_social_icon('google_plus') }} 32 | {{ render_social_icon('pinterest') }} 33 | {{ render_social_icon('email') }} 34 |
-------------------------------------------------------------------------------- /defaults/context/default-modules/123/2794854/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": false, 4 | "hierarchical": false, 5 | "id": "8420dbbd-9d64-7877-8de3-3328aa76c635", 6 | "label": "Padding", 7 | "locked": true, 8 | "max_depth": 0, 9 | "name": "hs_enable_module_padding", 10 | "required": false, 11 | "sortable": false, 12 | "type": "boolean" 13 | }, 14 | { 15 | "default": { 16 | "size": { 17 | "value": 12, 18 | "units": "px" 19 | }, 20 | "color": "#00a4bd", 21 | "styles": { 22 | "bold": false, 23 | "italic": false, 24 | "underline": true 25 | }, 26 | "font": "arial, helvetica, sans-serif" 27 | }, 28 | "hierarchical": false, 29 | "id": "52418c67-9802-01a8-7a7f-6f9d9f2f448c", 30 | "label": "Font", 31 | "locked": false, 32 | "max_depth": 0, 33 | "name": "font", 34 | "required": true, 35 | "sortable": false, 36 | "type": "font" 37 | }, 38 | { 39 | "choices": [ 40 | [ 41 | "left", 42 | "Left" 43 | ], 44 | [ 45 | "center", 46 | "Center" 47 | ], 48 | [ 49 | "right", 50 | "Right" 51 | ] 52 | ], 53 | "default": "right", 54 | "display": "select", 55 | "hierarchical": false, 56 | "id": "74b1532f-7c7e-9aa8-381a-0a36a72dba79", 57 | "label": "Align", 58 | "locked": false, 59 | "max_depth": 0, 60 | "name": "align", 61 | "placeholder": "Search", 62 | "required": true, 63 | "sortable": false, 64 | "type": "choice" 65 | }, 66 | { 67 | "default": false, 68 | "hierarchical": false, 69 | "id": "ef8ecea2-7c2f-d69e-a09d-192402506281", 70 | "label": "Padding", 71 | "locked": false, 72 | "max_depth": 0, 73 | "name": "side_padding", 74 | "required": false, 75 | "sortable": false, 76 | "type": "boolean" 77 | } 78 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast Testimonial.module/fields.json: -------------------------------------------------------------------------------- 1 | [ { 2 | "id" : "46ef6d42-ecbe-e471-4a63-1a4130ae4148", 3 | "name" : "firstlast_name", 4 | "label" : "First/Last Name", 5 | "help_text" : "", 6 | "sortable" : false, 7 | "required" : false, 8 | "locked" : false, 9 | "hierarchical" : false, 10 | "max_depth" : 0, 11 | "allow_new_line" : false, 12 | "type" : "text", 13 | "default" : "Rachel Decker" 14 | }, { 15 | "id" : "fdb8479a-9c0b-e46f-313b-771182d3e13e", 16 | "name" : "company", 17 | "label" : "Company", 18 | "help_text" : "", 19 | "sortable" : false, 20 | "required" : false, 21 | "locked" : false, 22 | "hierarchical" : false, 23 | "max_depth" : 0, 24 | "allow_new_line" : false, 25 | "type" : "text", 26 | "default" : "HubSpot, inc." 27 | }, { 28 | "id" : "8c576c34-48c8-e73c-a116-767f41b9d9b9", 29 | "name" : "person_headshot", 30 | "label" : "Person Headshot", 31 | "help_text" : "", 32 | "sortable" : false, 33 | "required" : false, 34 | "locked" : false, 35 | "hierarchical" : false, 36 | "max_depth" : 0, 37 | "resizable" : true, 38 | "type" : "image", 39 | "default" : { 40 | "src" : "https://static.hsappstatic.net/content_shared_assets/static-1.3981/img/testimonial_headshot.jpg", 41 | "alt" : "testimonial_headshot.jpg", 42 | "width" : "400", 43 | "height" : "400" 44 | } 45 | }, { 46 | "id" : "ef15e54f-9d37-5694-ef90-9fd56f371490", 47 | "name" : "quote", 48 | "label" : "Quote", 49 | "help_text" : "Add a quote to solidify why a prospect should choose your company.", 50 | "sortable" : false, 51 | "required" : false, 52 | "locked" : false, 53 | "hierarchical" : false, 54 | "max_depth" : 0, 55 | "type" : "richtext", 56 | "default" : "Never underestimate the power of a great testimonial. A few words of praise from a happy customer can work wonders. A big, friendly smile never hurts, either." 57 | } ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367090/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "allow_new_line": false, 4 | "default": "", 5 | "hierarchical": false, 6 | "id": "5265a2e4-5e45-7f66-59ba-af65367c38e1", 7 | "label": "Header", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "header", 11 | "placeholder": "Header Text", 12 | "required": false, 13 | "show_emoji_picker": false, 14 | "sortable": false, 15 | "type": "text", 16 | "validation_regex": "" 17 | }, 18 | { 19 | "default": "If this is not your email address, please ignore this page since the email associated with this page was most likely forwarded to you.", 20 | "hierarchical": false, 21 | "id": "2315a4fd-524e-3c04-7df5-8942a2bfc60f", 22 | "label": "Subheader", 23 | "locked": false, 24 | "max_depth": 0, 25 | "name": "subheader_text", 26 | "required": false, 27 | "sortable": false, 28 | "type": "richtext" 29 | }, 30 | { 31 | "allow_new_line": false, 32 | "default": "You have successfully unsubscribed from all email communications.", 33 | "hierarchical": false, 34 | "id": "32754710-9bae-8683-cb5f-61bd07dfb31e", 35 | "label": "Message on unsubscribe", 36 | "locked": false, 37 | "max_depth": 0, 38 | "name": "unsubscribe_all_success", 39 | "required": false, 40 | "show_emoji_picker": false, 41 | "sortable": false, 42 | "type": "text", 43 | "validation_regex": "" 44 | }, 45 | { 46 | "allow_new_line": false, 47 | "default": "You have successfully updated your email preferences.", 48 | "hierarchical": false, 49 | "id": "7487aa59-db64-6d78-f356-3b34862dc6cf", 50 | "label": "Message on subscription update", 51 | "locked": false, 52 | "max_depth": 0, 53 | "name": "subscription_update_success", 54 | "required": false, 55 | "show_emoji_picker": false, 56 | "sortable": false, 57 | "type": "text", 58 | "validation_regex": "" 59 | } 60 | ] -------------------------------------------------------------------------------- /defaults/designs/Marketplace/www.hubspot-site-setup.com/Vast_Site_Setup/Custom_Modules/Vast FAQ Module.module/module.css: -------------------------------------------------------------------------------- 1 | .accordion {} 2 | .accordion_group { 3 | margin-bottom: 2px; 4 | background: #f0f0f0; 5 | padding: 5px 10px; 6 | } 7 | .accordion_header { 8 | cursor: pointer; 9 | font-size: 18px; 10 | line-height: 16px; 11 | width: 100%; 12 | padding: 10px 15px; 13 | } 14 | .accordion_icon{ 15 | color: #34495e; 16 | padding-right: 16px; 17 | background-color: #34495e; 18 | margin-right: 10px; 19 | font-size: 14px; 20 | border-radius: 3px; 21 | } 22 | .accordion_content { 23 | padding: 10px 15px; 24 | display: none; 25 | } 26 | 27 | .accordion_group .accordion_icon { 28 | position: relative; 29 | } 30 | .accordion_group .accordion_icon::before, 31 | .accordion_group .accordion_icon::after { 32 | content: ''; 33 | display: block; 34 | position: absolute; 35 | top: 50%; 36 | right: 3px; 37 | width: 10px; 38 | height: 2px; 39 | margin-top: -1px; 40 | -webkit-transform-origin: 50% 50%; 41 | -ms-transform-origin: 50% 50%; 42 | transform-origin: 50% 50%; 43 | -webkit-transition: all .25s; 44 | transition: all .25s; 45 | background-color: #f0f0f0; 46 | } 47 | .accordion_group.expanded .accordion_icon::before { 48 | -webkit-transform: rotate(0deg); 49 | -ms-transform: rotate(0deg); 50 | transform: rotate(0deg); 51 | opacity: 0; 52 | } 53 | .accordion_group .accordion_icon::before { 54 | -webkit-transform: rotate(-90deg); 55 | -ms-transform: rotate(-90deg); 56 | transform: rotate(-90deg); 57 | opacity: 1; 58 | } 59 | .accordion_group .accordion_icon::after { 60 | -webkit-transform: rotate(0deg); 61 | -ms-transform: rotate(0deg); 62 | transform: rotate(0deg); 63 | } 64 | .accordion_group.expanded .accordion_icon::after { 65 | -webkit-transform: rotate(180deg); 66 | -ms-transform: rotate(180deg); 67 | transform: rotate(180deg) 68 | } -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367093/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": null, 4 | "hierarchical": false, 5 | "id": "c0659ae1-c6f6-be47-f874-aee733929395", 6 | "label": "Image", 7 | "locked": false, 8 | "max_depth": 0, 9 | "name": "img", 10 | "required": true, 11 | "resizable": true, 12 | "sortable": false, 13 | "type": "image" 14 | }, 15 | { 16 | "allow_new_line": false, 17 | "default": null, 18 | "hierarchical": false, 19 | "id": "63e5353d-6345-69dd-c6dc-bbd2a3049d97", 20 | "label": "Link (optional)", 21 | "locked": false, 22 | "max_depth": 0, 23 | "name": "link", 24 | "required": false, 25 | "show_emoji_picker": false, 26 | "sortable": false, 27 | "type": "text", 28 | "visibility": { 29 | "controlling_field": "c0659ae1-c6f6-be47-f874-aee733929395", 30 | "operator": "NOT_EMPTY" 31 | } 32 | }, 33 | { 34 | "choices": [ 35 | [ 36 | "left", 37 | "Left" 38 | ], 39 | [ 40 | "center", 41 | "Center" 42 | ], 43 | [ 44 | "right", 45 | "Right" 46 | ] 47 | ], 48 | "default": "center", 49 | "display": "select", 50 | "hierarchical": false, 51 | "id": "04695ecb-8cd7-1cc4-9a65-1129d47beae2", 52 | "label": "Alignment", 53 | "locked": false, 54 | "max_depth": 0, 55 | "name": "alignment", 56 | "placeholder": "Search", 57 | "required": true, 58 | "sortable": false, 59 | "type": "choice", 60 | "visibility": { 61 | "controlling_field": "c0659ae1-c6f6-be47-f874-aee733929395" 62 | } 63 | }, 64 | { 65 | "default": true, 66 | "hierarchical": false, 67 | "id": "e887cb2e-5736-69a2-5e0f-8b5ffaf58011", 68 | "label": "Padding", 69 | "locked": false, 70 | "max_depth": 0, 71 | "name": "hs_enable_module_padding", 72 | "required": false, 73 | "sortable": false, 74 | "type": "boolean", 75 | "visibility": { 76 | "controlling_field": "c0659ae1-c6f6-be47-f874-aee733929395", 77 | "operator": "NOT_EMPTY" 78 | } 79 | } 80 | ] -------------------------------------------------------------------------------- /defaults/context/default-modules/123/1367088/fields.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "default": null, 4 | "help_text": "Default will use the current blog when used in a blog template or the primary blog when used elsewhere.", 5 | "hierarchical": false, 6 | "id": "5c3b2c23-6585-a913-cabe-1d5ba025a1b9", 7 | "label": "Select blog to display", 8 | "locked": false, 9 | "max_depth": 0, 10 | "name": "select_blog", 11 | "required": false, 12 | "sortable": false, 13 | "type": "blog" 14 | }, 15 | { 16 | "choices": [ 17 | [ 18 | "recent", 19 | "Most recent" 20 | ], 21 | [ 22 | "popular_all_time", 23 | "Most popular - all time" 24 | ], 25 | [ 26 | "popular_past_year", 27 | "Most popular - past year" 28 | ], 29 | [ 30 | "popular_past_six_months", 31 | "Most popular - past six months" 32 | ], 33 | [ 34 | "popular_past_month", 35 | "Most popular - past month" 36 | ] 37 | ], 38 | "default": "recent", 39 | "hierarchical": false, 40 | "id": "f245b59c-d2ea-08ab-a40a-e545bc71d2cf", 41 | "label": "List blog posts by", 42 | "locked": false, 43 | "max_depth": 0, 44 | "name": "listing_type", 45 | "placeholder": "Search", 46 | "required": true, 47 | "sortable": false, 48 | "type": "choice" 49 | }, 50 | { 51 | "allow_new_line": false, 52 | "default": "Recent Posts", 53 | "hierarchical": false, 54 | "id": "643831b9-0aa6-a0ef-f3db-b5a71143168e", 55 | "label": "List title to display", 56 | "locked": false, 57 | "max_depth": 0, 58 | "name": "list_title", 59 | "required": false, 60 | "show_emoji_picker": false, 61 | "sortable": false, 62 | "type": "text" 63 | }, 64 | { 65 | "default": 5, 66 | "hierarchical": false, 67 | "id": "1417ad86-21ca-17b6-09a8-65ca54def75b", 68 | "label": "Maximum blog posts to list", 69 | "locked": false, 70 | "max_depth": 0, 71 | "min": 1, 72 | "name": "max_links", 73 | "required": false, 74 | "sortable": false, 75 | "step": 1, 76 | "type": "number" 77 | } 78 | ] -------------------------------------------------------------------------------- /defaults/designs/Custom/features/hubdb_example.html: -------------------------------------------------------------------------------- 1 |
2 |

Local HubDB Example

3 |

See the full HubDB HubL documentation here

4 |
5 |

hubdb_table

6 |

Gets information on a table including its name, columns, last updated, etc...

7 | {% set table_info = hubdb_table(1029037) %} 8 |

Showing information for table {{table_info.id}} ({{table_info.name}})

9 |

The table was created at {{table_info.created_at}} and has {{table_info.row_count}} rows

10 |
11 | 12 |
13 |

hubdb_table_row

14 |

Gets a single row

15 | {% set single_row = hubdb_table_row(1029037, 6655243623) %} 16 |

Showing information for row {{single_row.hs_id}}

17 |

This row was created at {{single_row.hs_created_at}} and is named {{single_row.name}}

18 |
19 | 20 |
21 |

hubdb_table_column

22 |

Gets information on a column in a table such as its label, type, and options.

23 | {% set column_info = hubdb_table_column(1029037, "multiselect_column") %} 24 |

Column ID {{column_info.id}} is named {{column_info.name}} with label {{column_info.label}} and type {{column_info.type}}

25 |

It has the options {{column_info.options}}

26 |

You can get an option by name, like so: {{column_info.getOptionByName("Option 1")}}

27 |
28 | 29 |
30 |

hubdb_table_rows

31 |

List multiple rows of a table

32 | 33 |

Rows, reverse sorted by numerical column limited to two results:

34 | {% for row in hubdb_table_rows(1029037, "&orderBy=-number_column&limit=2") %} 35 |

the value for {{row.hs_id}} is {{row.number_column}}

36 | {% endfor %} 37 |

Rows, filtered on a complex column type

38 | {% for row in hubdb_table_rows(1029037, "&multiselect_column__in=3,4") %} 39 |

Selected row {{row.hs_id}} with multiselect value: {{row.multiselect_column}}

40 | {% endfor %} 41 |

Row IDs, ordered randomly

42 | {% for row in hubdb_table_rows(1029037, "&orderBy=random()") %} 43 |

{{row.hs_id}}

44 | {% endfor %} 45 |
46 |
-------------------------------------------------------------------------------- /defaults/context/default-modules/123/2712624/meta.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marketplaceteam@hubspot.com", 3 | "author_at": 1543337665785, 4 | "cdn_purge_embargo_time": 1543337965778, 5 | "contains_overridable_hubl_tags": false, 6 | "content_tags": [ 7 | { 8 | "name": "SINGLE_COLUMN", 9 | "source": "MARKETPLACE" 10 | }, 11 | { 12 | "name": "DRAG_AND_DROP", 13 | "source": "MARKETPLACE" 14 | }, 15 | { 16 | "name": "OTHER_INDUSTRY", 17 | "source": "MARKETPLACE" 18 | }, 19 | { 20 | "name": "HIDDEN", 21 | "source": "MARKETPLACE" 22 | } 23 | ], 24 | "created": 1535029277864, 25 | "css_assets": [], 26 | "default": true, 27 | "deleted_at": 0, 28 | "editable_contexts": [], 29 | "external_js": [], 30 | "extra_classes": "", 31 | "folder_id": 6098902230, 32 | "global": false, 33 | "help_text": "", 34 | "host_template_types": [ 35 | "PAGE", 36 | "BLOG_POST", 37 | "BLOG_LISTING" 38 | ], 39 | "icon": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Site%20Search%20Results/icons/Site%20Search%20Results_icon.svg", 40 | "id": 6099133358, 41 | "is_available_for_new_content": true, 42 | "is_buffered": false, 43 | "js_assets": [ 44 | { 45 | "autoload": true, 46 | "name": "url-search-params.js", 47 | "resource_id": null, 48 | "url": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Site%20Search%20Results/0/url-search-params.js" 49 | }, 50 | { 51 | "autoload": true, 52 | "name": "template.js", 53 | "resource_id": null, 54 | "url": "https://cdn2.hubspot.net/hubfs/3275719/hs_marketplace_assets/modules/Site%20Search%20Results/0/template.js" 55 | } 56 | ], 57 | "label": "Site Search Results", 58 | "marketplace_version": 11, 59 | "module_id": 2712624, 60 | "name": "Site Search Results", 61 | "other_assets": [], 62 | "placement_rules": [], 63 | "portal_id": 123, 64 | "purchased": false, 65 | "schema_version": 2, 66 | "smart_type": "NOT_SMART", 67 | "tags": [ 68 | "SEARCH_ASSET", 69 | "HIDDEN", 70 | "search", 71 | "DEFAULT" 72 | ], 73 | "updated": 1543337665785, 74 | "updated_by_id": 2411823, 75 | "widget_label": "", 76 | "writeable": false 77 | } --------------------------------------------------------------------------------