0.1.78 • Published 7 years ago

lpm-core v0.1.78

Weekly downloads
4
License
MIT
Repository
github
Last release
7 years ago

LPM

LPM stands for Layout Package Manager (it is indeed an acronym). The Core of the project is the Layout-JSON format, a markup format to describe cross-language layouts:

See the Layout-JSON specification

This repository contains:

  • Information: format specifications, links to the project's repositories
  • Element component for ReactJS - renders the Layout-JSON markup

Incentive

To improve the process of developing new layouts by borrowing successful code practices:

  • Package management: install layout packages, publish new layouts
  • Transpilers: transform Layout-JSON to other popular formats
  • Tools: online editors, gists , import/export plugins (for Sketch, Webstorm, etc.)

Specifications

  • Packages: support unique identifiers, simple versioning, description package specification
  • Markup: support responsive layouts, variables, placeholders Layout-JSON specification
  • Transpilers: to HTML / SASS, ReactJS and React Native

Repositories

Current projects:

Core

  • lpm Layout-JSON specification, Element component, transpilers
  • lpm-transpilers transform Layout-JSON to HTML/SASS, ReactJS, React Native

Components

Services

currently empty

Future projects:

  • lpmjs: Package Manager Server lpmjs.com
  • lpm-cli: install packages from terminal
  • rnbin: collaborative gists for React Native rnbin.com
  • htmlbin: collaborative gists for HTML/SASS htmlbin.com
  • jupiter: visual artboards for large projects
  • sketch-lpm: Sketch plugin to export layouts from sketch

Element Component

npm install lpm-core

Example

https://dht.github.io/lpm

Usage

Here is a quick example to get you started:

Import

 import Element from 'lpm-core/Element';

Simple

<div style={{width: '400px',position: 'fixed',top: 0,left: 0,marginLeft: '60px',zIndex: 999,backgroundColor: 'white',boxShadow: '0 0 5px rgba(0,0,0,0.1)',borderRadius: '1px'}}>
    <Element id={ 1 }
        statePath={ 'elements/elements' }
        onElementClick={(element_id, parent_id, element_type, ev)=>{}}
        onElementDblClick={(element_id, parent_id, element_type, ev)=>{}}
    />
</div>

Note: statePath is the path to the elements in the redux store.

Contribution

To run locally install all the dependencies:

dev:

npm install

peer:

npm install react@^15.4.1 react-dom@^15.4.1

run with npm:

npm start

and open:http://localhost:3000

Furthor development

Firbase integration ideas

With Firebase's socket-based service, LPM project may explore the following ideas:

  • Live collaboration: see others as they build layouts, build layouts in teams
  • Real-time UI: layouts loaded in real time by the user's client. A modal component for instance which takes a modal-identifier and loads a modal from Firebase.
  • Tutorials (with redux): replay a process of layout building, learn how it was done

We will soon try to build a dashboard with Real-time UI and composite layouts.

License

This project is licensed under the terms of the MIT license

0.1.78

7 years ago

0.1.76

7 years ago

0.1.75

7 years ago

0.1.74

7 years ago

0.1.73

7 years ago

0.1.72

7 years ago

0.1.71

7 years ago

0.1.70

7 years ago

0.1.69

7 years ago

0.1.67

7 years ago

0.1.66

7 years ago

0.1.65

7 years ago

0.1.64

7 years ago

0.1.63

7 years ago

0.1.62

7 years ago

0.1.61

7 years ago

0.1.60

7 years ago

0.1.59

7 years ago

0.1.57

7 years ago

0.1.56

7 years ago

0.1.54

7 years ago

0.1.53

7 years ago

0.1.52

7 years ago

0.1.51

7 years ago

0.1.50

7 years ago

0.1.49

7 years ago

0.1.48

7 years ago

0.1.47

7 years ago

0.1.46

7 years ago

0.1.45

7 years ago

0.1.44

7 years ago

0.1.43

7 years ago

0.1.42

7 years ago

0.1.41

7 years ago

0.1.40

7 years ago

0.1.39

7 years ago

0.1.37

7 years ago

0.1.36

7 years ago

0.1.35

7 years ago

0.1.32

7 years ago

0.1.31

7 years ago

0.1.30

7 years ago

0.1.28

7 years ago

0.1.27

7 years ago

0.1.25

7 years ago

0.1.24

7 years ago

0.1.23

7 years ago

0.1.21

7 years ago

0.1.20

7 years ago

0.1.19

7 years ago

0.1.18

7 years ago

0.1.17

7 years ago

0.1.15

7 years ago

0.1.12

7 years ago

0.1.11

7 years ago

0.1.9

7 years ago

0.1.8

7 years ago

0.1.7

7 years ago

0.1.5

7 years ago

0.1.4

7 years ago

0.1.2

7 years ago

0.1.1

7 years ago