当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

elevate

授权协议 MPL-2.0 License
开发语言 JavaScript
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 不详
投 递 者 松涵容
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Install Elevate

From a Chrome based browser

Go to https://thomaschampagne.github.io/elevate/

You should be able to install it in all Chrome based browser such as Chrome, Chrome Canary, Chromium, Opera, Vivaldi, Yandex, and more ...

From continuous integration

Using latest develop branch builds: https://thomaschampagne.github.io/elevate/#/builds

Install steps with a standalone build: https://github.com/thomaschampagne/elevate/wiki/How-to-install-elevate-build-archive

From the sources

Go to chapter Environment setup.

Development

Project structure description

The project is split into 2 sub-projects: the core and the embedded app.

Core

The core contains the plugin's behaviour that acts directly on strava.com website. This includes extended stats on activities & segments efforts, best splits, google maps support, etc...

The core sources are located in plugin/core directory

Embedded app

The embedded app contains features like fitness trend, year progressions, ... and global plugin settings such as common settings, athlete settings & zones settings.

The embedded app sources are located in plugin/app directory

Notice: The plugin/common directory contains sources shared by both sub-projects.

Description of frameworks & tools used.

Core and embedded app have been developed using TypeScript language. TypeScript adds typing & class-based syntax over javascript then compiles back to JavaScript. Understand TypeScript in 5 minutes.

At a glance...

Core dependencies

  • Webpack as packager and dynamic EcmaScript module loader.
  • Q as promise library for JavaScript.
  • Chart.js for JavaScript charting.

Embedded app dependencies

Shared dependencies

  • Lodash to get a whole mess of useful functional programming helpers in typescript/javascript.
  • MomentJS to parse, validate, manipulate, and display dates and times.

Tools

  • NodeJS as javascript runtime environment.
  • Npm as package manager to fetch project dependencies

Environment setup

Install requirements

Here's what you need to install to run the extension in a chrome based browser:

  • Chrome based browser (Chrome, Chromium, Chrome Canary, Opera,...), of course...
  • NodeJS here. Version 10.x is required.

That's all :)

Clone the project

Using HTTPS

git clone https://github.com/thomaschampagne/elevate.git

Or using SSH

git clone git@github.com:thomaschampagne/elevate.git

Fetch NPM dependencies

The npm command should be installed on your system through the NodeJS installation.

Enter in project directory

cd elevate

Then install NPM dependencies with

npm install

Build plugin

Once you have installed the NPM dependencies, you can build the plugin with the following command:

npm run build

Both core and embedded app will be built.

Once the build is completed, the plugin will be located in dist/ directory.

A production build can be also run with

npm run build:prod

This will disable TypeScript debug sources map and enable Ahead-of-Time compilation for embedded app.

Load plugin into your browser

Into your chrome based browser:

  • Open new tab and type chrome://extensions, then enter.
  • Tick Developer Mode checkbox.
  • Click Load Unpacked Extension button, then choose dist/ directory (this is where you have the manifest.json file)
  • Make sure to disable other instances of elevate. You can re-enable them back from same tab.
  • Open strava.com

Build plugin on files changes

In order to avoid to re-run the painful npm run build task on each file changes. You could run the following command:

npm start

This task will watch for files changes and automatically rebuild plugin to dist/ directory. It's a way more suitable and faster for a development workflow.

Run unit tests

The below command will run core and embedded app unit tests into a headless chrome.

npm test

Should be run and has to pass before any work submission.

Packaging

You can package the extension with the following command

npm run package

A production build will be executed for this task.

On packaging done, a release archive will be generated in package/ directory.

Package with Docker

Create docker image from Dockerfile

docker build . -t elevate-chrome-builder

Run a docker production build through a container. Replace /path/to/your/directory/ with a folder on your host to fetch the packaged build when done.

docker run --rm --name elevate-chrome-build -v /path/to/your/directory/:/package elevate-chrome-builder

Clean project

Simply run

npm run clean

This will clean dist/, package/ & *.js *.map generated files

Git-Flow Repository structure

The project repository is fitted for GitFlow branches management workflow.

Learn more @ http://nvie.com/posts/a-successful-git-branching-model/

  • 基金会诚邀全球非营利组织和公共慈善机构领导者申请   迈阿密--(美国商业资讯)--Elevate奖基金会欣然宣布启动第二届Elevate奖申请工作,最终将向十位获奖者提供高达500万美元的资助和服务。基金会正在全球范围内寻找那些具有社会影响力,而且正在以极具创新力和有效的解决方案来应对当今时代紧迫挑战的领袖。   欢迎全球非营利组织和公共慈善机构的创始人和首席执行官申请,并成为年度Elevate

  • <?xml version="1.0" encoding="UTF-8"?> <elevate> </elevate>

  • 题目解读 很简单的电梯问题,上一层需要6秒,下一层需要5秒,到一层停留需要5秒。唯一需要注意的就是当目标楼层与当前楼层相同的时候,也需要停留5s,否则会有一些测试点无法通过。 #include <cstdio> // 上楼需要5s // 下楼需要4s // 停留6s int main() { int num; scanf("%d", &num); int * stopFloor = new

  •   Elevate through ShellExecute (information from Microsoft) We often get the question how to elevate a process through ShellExecute. From the docs it is not immediately clear. The trick is passing in

  • Recently I'm focusing on an installer engine for a series of product. We choose .NET framework 2.0 as infrastructure and expect it  running  on  XP and Vista. As well-known, Vista uses stricter securi

 相关资料
  • 1_在这种情况下我不知道如何更改按钮的形状,我显然在最后一个方块的末尾有一个错误],第41行。请帮助我修复它。我很感激你的帮助。

  • Elevate Zoom 提供了两种图像缩放模式,一个低分辨率的可见光图像和一个高分辨率缩放的图像。且它支持缩略图导航,同时支持鼠标悬停时放大图像。

相关阅读

相关文章

相关问答

相关文档