Naginata in Finland
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
content
libs
public_html
source
tasks
tests
views
.editorconfig
.eslintrc.json
.gitignore
.snyk
.travis.yml
Gruntfile.js
ISSUE_TEMPLATE.md
LICENSE
Procfile
README.md
browserstack-logo.png
build.js
logo.png
package-lock.json
package.json
server.js
webstorm-logo.png

README.md

naginata.fi

A web site in Finland for an ancient martial art from Japan.

All the code is under the Creative Commons Attribution-ShareAlike 4.0 International Public License. Full legal text also available in LICENSE file.

dependencies Status Build Status Coverage Status Code Climate Maintainability Built with Grunt Analytics Visual Regression Status

About the martial art

Naginata is a weapon made of a long wooden stick on which a curved blade is attached.

The art of using this weapon is often called simply as Naginata, but more accurately it can be called as Atarashii Naginata, in the case of the post-Meiji era standardised version.

The method of using naginata as a weapon has existed much longer and some around 500 styles have existed in the past.

Today these are still some ten active style, of which most of them contain other weapons aside using just a naginata. In any case in these styles naginata is used against a sword.

This website will focus on the following two:

About this software project

The main reason for this website and this GitHub project is to learn to use the given technologies and to promote the martial art.

The domain naginata.fi is privately registered to Jukka Paasonen.

Mari Paasonen has been kind enough to provide the Japanese translations for the content.

Leena Lecklin was kind enough to draw the naginata-bogu-chudan-artwork-lecklin.png picture used in the Atarashii Naginata page.

Contributors are welcome.

Any changes made to this GitHub repository, are automatically deployed to Heroku, hence any content updates are visible via the web site almost immediately.

JetBrains WebStorm WebStorm developer IDE kindly provided by Jetbrains.

BrowserStack Cross browser testing kindly provided by BrowserStack.

Contributing

"A Beginner's Guide to Open Source: The Best Advice for Making your First Contribution".

Also there is a blog post about "45 Github Issues Dos and Don’ts".

Linting is done with ESLint and can be executed with npm run lint. There should be no errors appearing after any JavaScript file changes.

Technologies

List of software used for making naginata.fi possible:

Installation

npm install
grunt

Testing

Unit tests for both front end and back end are using Jasmine and for code coverage Istanbul.

grunt test
npm run coverage

Web performance tests are done with...

sitespeed.io -u http://naginata.fi -k true -d 2

gem install wbench
wbench -n http://naginata.fi > wbench.md

Style coverage is measured with several tools:

npm install -g ucss
ucss

npm install -g stylestats
stylestats -t html public_html/css/main.css > stylestats.html

npm install -g parker
parker public_html/css/main.css > parker.md

Also nodemon:

npm install -g nodemon
nodemon server.js

Automated screenshot of the front page on every deployment with GhostInspector.

heroku addons:add deployhooks:http --url=https://api.ghostinspector.com/v1/suites/[suite-id]/execute/?apiKey=[api-key]

The free plan of GhostInspector limits running the tests only up to 100 timer per month, hence it is much more efficient to execute them only on deployment, instead of once a day.

Editing content

Please create a pull request, which only touches the Markdown files under content/ and/or page-data.json file.

The existing Markdown files can be exported as PDF, for example with pandoc:

pandoc -V geometry:margin=0.5in -o content/en/grading-rules.md grading-rules-english.pdf

Other notes

TODO

Newrelic troubleshooting https://docs.newrelic.com/docs/agents/nodejs-agent/troubleshooting/troubleshooting-page-load-timing-nodejs

History

Versions before 0.4.0 were using PHP as the backend and content editing was done at the site, after OpenID based login. Content was stored as HTML5 in MySQL database.

From version 0.4.0 onward, the site is running with Node.js and thus JavaScript as the backend. Content is at the source code repository in text files in Markdown format.

PHP version was made to match the same simplified functionality as the Node.js counterpart in 0.4.1.

Around the release of 0.6.0, the actual naginata.fi domain was moved to Heroku and served from there with Node.js.