Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

pagegenjs

Package Overview
Dependencies
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

pagegenjs

Page generator using JavaScript on client and server.

  • 0.1.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
4
increased by300%
Maintainers
1
Weekly downloads
 
Created
Source

Генератор статичных страниц с формулами. Предназначен для случая, когда необходимо опубликовать интерактивный отчет, аналитическую статью и т.п.

Основная идея:

  1. возможность написания исходного контента в удобном формате (Markdown и формулы)
  2. сборка SPA, которые можно запускать без сервера у себя локально (т.е. вся логика на клиенте).

Сценарий использования

Допустим, исходный проект представляет собой набор статичных страниц в директории src/. Структура следующая:

src/
    fragments/
        page1.html
        page2.html
        page.js
    index.html
    script.js

Работает это следующим образом:

  • Пользователь разрабатывает основной шаблон SPA в файле index.html (контейнер)
  • Каждый блок контента разрабатывается в отдельном файле (лежат в fragments/)
  • Контейнер index.html задает с помощью ключевых слов layout блоков. В том числе поддерживаются:
    • Табы с навигацией (готово)
  • Каждый блок может использовать следующий синтаксис:
    • HTML (готово)
    • Markdown (в разработке)
    • Формулы LaTeX, MathML, ASCIIMath (в разработке)
      • рендеринг с помощью библиотеки MathJax
      • пре-процессинг с генерацией статичных картинок или преобразование в HTML+CSS
  • Пакет для публикации фомрируется средствами gulp. Есть две опции:
    • Публикация как SPA (блоки контента подгружаются AJAX запросами). Этот же вариант используется во время разработки (статичный сервер можно запускать прямо в папке src/). (готово)
    • Публикация как статичная страница без сервера. Формируется статичный пакет. (готово)

Инструкция

  1. Устанавливаем глобально и управляем сборкой команду pagegen <имя задачи>:
$ npm i pagegen -g
$ pagegen 
$ pagegen serve
  1. Устанавливаем на уровне проекта и подключаем в gulpfile.js: Доступны все задачи через gulp <имя_задачи>:
require('pagegenjs'); 
$ gulp 
$ gulp serve

Список задач см. в gulpfile.js данного проекта.

Конфигурация

Конфигурацию сборки см. в файле config/app.js. Переопределить настройки можно в .user-config.js в корне Вашего проекта.

Важные настройки:

src, dest: пути для исходников и результатов сборки (по умолчанию, src/ и webapp/)

isDevelopment: если true, то это development сборка; иначе, production сборка

vendors: словарь ссылок вида библиотека -> ссылка на CDN

isCDN: если true, будет использован словарь ссылок из vendors; иначе, файлы попадут в локальный vendor.js (vendor.min.js в случае production сборки)

entryPoints: массив входных точек в приложение для browserify относительно директории src (по умолчанию, script.js и fragments/*.js)

serveFromSrc: если true, то во время разработки (isDevelopment: true) файлы раздаются прямо из папки src/.

Скрипты

Возможны два варианта обработки ссылок на скрипты:

  1. Минификация: обернуть в <!-- build:js --> Используется для всех проектных файлов в index.html. Ссылки <script>, обернутые в <!-- build:js -->...<!--endbuild-->, будут заменены ссылкой на минифицированный скрипт (собираемый из src/).

  2. Вырезание: обернуть в <!-- build:cut --> Используется скриптов, используемых в фрагментах. Ссылки <script>, обернутые в <!-- build:cut -->...<!--endbuild-->, будут вырезаны.

Лицензия

MIT.

Keywords

FAQs

Package last updated on 15 Jul 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc