npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@netchainmedia/vcaid

v1.0.5

Published

Veeva creators aid tool for creating veeva content

Downloads

17

Readme

Veeva Creators Aid (vcaid)

Creators aid tool for creating veeva content

Installation

VCaid is a command line tool for veeva content creators and has been build on Node.js v14.17.5, and has not been tested on older versions yet. You can install it globally as below

npm i -g @netchainmedia/vcaid

Features

  • (In-progress) Generate boilerplate template of approved emails and clm presentations from yaml configuration files.
  • (Not complete) Prepares deployment ready content for veeva platform
  • (Not complete) FTP uploads veeva content to the vault.

Configuration

Instead of manually creating configuration files, step 1 to 5 in the email section below can be automated by issuing comand as follow. It will create default configuration from the master configuration in to your current working directory.

vcaid config

Emails

This tool generates boilerplate code from configuration and templates, if provided the user's configurations will be effective otherwise the code is generated from master configuration and template.

  1. To generate email boilerplate code, add default.yml file under /config directory.
mkdir test && cd test && mkdir config && touch config/default.yml
  1. Populate the default.yml file with below code as a starter and can be modified as suited.
fragment:
  output_dir: fragment
  images_dir: images
  default_font: Arial
  fallback_font: sans-serif
  content:
    fragments:
      - fragment:
          image:
            alt: Packshot
            file_path: packshot.png
          title: Fragment Title
          description:
            - paragraph: This is the fragment default description.
            - paragraph: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
          button:
            text: Click here
            href: https://example.com
email:
  output_dir: email
  images_dir: images
  default_font: Arial
  fallback_font: sans-serif
  content:
    preheader_text: The default preheader text
    header:
      title: Email Title
      belowtitle_text: addition text below title
      background:
        file_path: header.png
    prescribing_information:
      text: Click here for prescribing information
      href: "{{PILink}}"
    salutation: Dear {{accTitle}} {{accLname}}
    prefragment_text: This is the default text that appears before fragments. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo re et dolore magna aliqua.
    fragments:
      - fragment:
          image:
            alt: Packshot
            file_path: packshot.png
          title: Fragment Title
          description:
            - paragraph: This is the fragment default description.
            - paragraph: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
          button:
            text: Click here
            href: https://example.com
    body:
      - paragraph: This is the email body text that appears after the fragments. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo re et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
      - paragraph:
          - item: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
          - item: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
          - item: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
      - paragraph: This is the email body text that appears after the fragments. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo re et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    preclosure_text:
      - paragraph: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo re et dolore magna aliqua
    closure_text: Yours sincerely,
    user_name: "{{username}}"
    user_email: "{{userEmailAddress}}"
    user_phone: "{{User.Phone}}"
    disclaimer:
      - paragraph: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
    logo:
      alt: Logo
      file_path: logo.png
      width: 135
    footer:
      company_name: Lorem Ipsum Ltd
      address:
        - line: Lorem Ipsum
        - line: Lorem, Ipsum Consectetur, AB00 0XY
      phone: 00000 00100
      copyright_text: Copyright <sup>©</sup> 2021 Lorem Ipsum Ltd. Company number 000000. All rights reserved.
      unsub_text: <a style="color:#373737!important;Margin:0;font-family:Arial,sans-serif;font-size:12px;line-height:14.06px;text-decoration:underline" href="{{unsubscribe_product_link}}"><font color="373737">Click here</font></a> to manage your email settings or unsubscribe, and to view <a style="color:#373737!important;Margin:0;font-family:Arial,sans-serif;font-size:12px;line-height:14.06px;text-decoration:underline" href="https://example.com/privacy-statement"><font color="373737">privacy statement</font></a>
    job_code: XY-AB-000000 V1 | April 2022
presentation:
  output_dir: presentation
  slides:
    - slide:
        name: home
        title: Home
        menu: main
        index: 1
        content:
          - paragraph: This is the default paragraph for the slide. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo re et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    - slide:
        name: sitemap
        title: Sitemap
        menu: main
        index: 2
        content: This is the default paragraph for the slide. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labo re et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  shared_resource:
    name: shared
    title: Shared
    css:
      - file:
          file_path:
    scss:
      - file:
        file_path:
    js:
      - file:
          file_path:
    images:
      - file:
          file_path:
  1. Create directory for images as per the yml configuration above to match with images_dir key, in this case images
mkdir images
  1. Copy files for header, fragment, logo as per the yml configuration above to match with email.content.header.background.file_path, content.fragments.fragment.image.file_path & content.logo.file_path respectively to the images directory
  2. Run generate command to generate the approved email
vcaid gen -t email