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

docusync

v1.0.0

Published

The reason this project was created is the lack of tools that help you to run Living Documentation ecosystem. Documentation gets obsolete, it is not checked as part of the code review or pull request process if it lives outside and thus developers stop fo

Downloads

6

Readme

Introduction

The reason this project was created is the lack of tools that help you to run Living Documentation ecosystem. Documentation gets obsolete, it is not checked as part of the code review or pull request process if it lives outside and thus developers stop following it over the time.

In large projects the documentation lives outside one central repository, it is managed by different tools and might not be stored as source code at all. For Product Owners, Technical Writers and other non-development stakeholders it is usually more comfortable to write it in visual-friendly tools although the resulting format is e.g. Markdown.

Docusync is the tool that helps you synchronize such documentation to the source code and include it as part of the code reviews or release process.

It holds the list of relevant and related documentation resources and downloads the content of the resources to the source code so it can be easily reviewed.

Process

A developer that works on a feature is obliged to write corresponding documentation. He might cooperate with an architect or analyst who also created a documentation related to the feature. All of these resources belong to the source code.

The developer adds resources to the synchronization list continuously throughout the progress of his work.

Once the feature is done, e.g. when it is ready for a pull request, the developer downloads content of the resources. The content is stored in the repository. The pull request is created along with documentation changes.

The documentation gets reviewed, commented and changed accordingly. Hopefully at least one another person would read it.

Installation

You can install it as a global module or locally.

npm i docusync

Configuration

Configuration for the tool is read from $HOME/.config/configstore/docusync.json

{
  "base": {
    "dir": "build"
  },
  "credentials": {
    "default": {
      "username": "abc",
      "password": "nbusr123"
    }
  }
  ,"sources": {
    "default": {
      "module": "xwiki",
      "url": "https://xwiki.org",
      "target": {
        "dir": "docs/xwiki"
      }
    }
  }
}

The field base is optional. If not defined then current working directory is used.

[!NOTE] nr.1 only default source works at the moment

[!NOTE] nr.2 only XWiki system is supported at the moment although the implementation is open for other types

Run

Docusync can be ran in two modes:

  • interactive
  • cli

At the moment the focus is on cli mode.

Add a resource

It is as easy as: docusync addResource https://www.xwiki.org/xwiki/bin/view/Documentation/UserGuide

Such call will add the resource to the synchronization file located in .docusync.json in the directory from which the tool is called.

Download

Once you are ready to synchronize the content, execute: docusync download.

It will download the content based on the synchronization file .docusync.json into the target.dir directory of the configured system.

[!NOTE] at the moment the tool expects the format of the content in XWiki is Markdown and therefore it creates Markdown files in corresponding structure

Inspiration

  • XWiki inspiration in https://github.com/PayEx/xwiki-sync

Development

Publish

  • follows https://itnext.io/step-by-step-building-and-publishing-an-npm-typescript-package-44fe7164964c