A web site in Finland for an ancient martial art from Japan.
All the code is under Creative Commons License - Attribution & Share Alike (http://creativecommons.org/licenses/by-sa/3.0/).
Full legal text available in LICENSE.md
.
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:
- Atarashii Naginata (http://naginata.jp/)
- Jikishinkageryu Naginatajutsu (http://www.jikishin-naginata.jp/)
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.
Leena Lecklin was kind enough to draw the naginata-bogu-chudan-artwork-lecklin.png
picture used in
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 has kindly provided this project with an open source license for PhpStorm IDE.
Please refer to a GitHub blog post on how to create somewhat perfect pull request.
- JavaScript for the front and the back ends, more about it below
- HTML5 for markup (http://developers.whatwg.org/)
- CSS3 for styling (http://www.css3.info/modules/)
- Local Storage replacing browser cookies (http://www.w3.org/TR/webstorage/)
- Google Web Fonts (http://www.google.com/fonts)
- Google Analytics
- Deployed to Heroku (http://heroku.com/)
List of software used for making naginata.fi
possible:
- Bower
- Colorbox
- ESLint
- Express.js
- Grunt
- JSON
- Jade
- Jasmine
- Karma
- Markdown
- Node.js
- Phantomas
- Sitespeed.io
- jQuery
- photobox
- uCSS
npm install
bower install
grunt
Unit tests for both front end and back end are using Jasmine and for code coverage Istanbul.
grunt test
npm run coveralls
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.
- paazmaya.github.io/naginata.fi/photobox
- paazmaya.github.io/naginata.fi/phantomas
- paazmaya.github.io/naginata.fi/sitespeed
- paazmaya.github.io/naginata.fi/stylestats.html
- paazmaya.github.io/naginata.fi/wbench.md
- paazmaya.github.io/naginata.fi/parker.md
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
- Speed study (http://blog.chromium.org/2010/07/do-you-know-how-slow-your-web-page-is.html)
- https://github.com/ktsashes/fruitjs
- Facebook liking and related, https://developers.facebook.com/tools/debug/og/object?q=naginata.fi
- Further CSP tuning, https://www.owasp.org/index.php/Content_Security_Policy
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.