Giter Site home page Giter Site logo

codacy-badger / knora-ui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dasch-swiss/knora-ui

0.0 0.0 0.0 13.39 MB

Reusable GUI elements for Knora

Home Page: https://dhlab-basel.github.io/Knora-ui

JavaScript 0.62% TypeScript 88.67% HTML 7.15% CSS 3.31% Shell 0.25%

knora-ui's Introduction

Knora-ui modules

CircleCI Build Status Codacy Badge

This is the demo and developing environment for Knora ui modules.

The modules helps to create a graphical user interface, a web application to use Knora in a quick and simple way. The modules are written in typescript to use them with Angular (version 7). We decided to style the components and directives with material design.

But you can use only @knora/core which contains almost all services for the Knora web API. Knora is a software framework for storing, sharing, and working with primary sources and data in the humanities.

Knora and the Knora ui modules is free software, released under the GNU Affero General Public.

This version of Knora-ui requires Knora v6.0.1.

Already published modules

@knora/core

npm (scoped)

The core module contains every service to use Knora's RESTful webapi. read more...


@knora/authentication

npm (scoped)

The authentication module contains the login form (for standalone usage) or a complete login- / logout-button environment incl. the login form. read more...


@knora/search

npm (scoped)

Search module allows to make simple searches or extended searches in Knora. In extended search, resource class and its properties related to one specific ontology are selected to create your query. read more...


@knora/viewer

npm (scoped)

The viewer module contains object components to show the resource class representations from Knora, the gui-elements for the property values and different kind of view frameworks. read more...


@knora/action

npm (scoped)

The action module contains special buttons (e.g. to sort a list), pipes and directives. read more...


Developers note

Prerequisites

We develop the Knora-ui modules with Angular 6, especially with Angular-cli, which requires the following tools:

Yarn

We use yarn instead of npm. To install yarn on macOS:

$ brew install yarn

For other platforms, please go to the yarn website.

Node

Install Node in version >=4 <=9. We recommend to use version 8.9.0. The easiest way to install node in the correct version is to use 'n':

$ yarn global add n
$ n v8.9.0

First steps

Install the node packages with:

$ yarn install --prod=false

and build the libraries with:

$ yarn build-lib

Develop

If you want to add more components, services and so on to a module library, you can do it with:

$ ng generate component [path/in/your/module/][name-of-component] --project @knora/[module-name] --styleext scss

It puts the component or the service into lib/ directly. Otherwise you can define a path inside of lib/.

Before using the module inside of the app, you have to rebuild after the changes: ng build @knora/[module-name].

Run the demo app

Run the app with ng s. The demo app runs on http://localhost:4200 and we use it for documentation on Knora-ui Github page.

There's a test environment for the modules on https://github.com/dhlab-basel/knora-ui-playground with yalc


YALC

Better workflow than npm | yarn link for package authors.

Yalc publishes the packages to a local store (not the npm website). From there, the packages can be added to your depending project.

Install yalc:

$ yarn global add yalc

Usage

Publish library to local store:

$ yarn build-lib-prod
$ yarn yalc-publish

Use them in your application:

$ yalc add @knora/action
$ yalc add @knora/authentication
$ yalc add @knora/core
$ yalc add @knora/search
$ yalc add @knora/viewer

To remove from the project and restore package.json run:

$ yalc remove --all

Required version of Knora: 6.0.1

knora-ui's People

Contributors

kilchenmann avatar flavens avatar tobiasschweizer avatar subotic avatar sepidehalassi avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.