Git Product home page Git Product logo

naginata.fi's Introduction

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.

Node.js v20 CI Visual Regression Status Netlify Status Code Smells

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 Netlify, hence any content updates are visible via the web site almost immediately.

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.

Installation

npm install
npm run build

Testing

Unit tests for the build process are using Jest and executed with:

npm test

Web performance tests are done with Sitespeed.io:

npm install -g sitespeed.io
npm start # In a different terminal window
sitespeed.io http://localhost:8080/en

Development 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.

In late April 2019, deployment of the site was moved to happen in Netlify, instead of Heroku, which also meant that the site is now build as a static web site.

In May 2023, the custom build process, which was some 10 years ago converted from PHP to Node.js, was now migrated to use Eleventy.js which reduced its complexity and increased maintainability.

naginata.fi's People

Contributors

paazmaya avatar dependabot[bot] avatar maripaasonen avatar snyk-bot avatar renovate-bot avatar bitdeli-chef avatar mortonfox avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar  avatar  avatar

naginata.fi's Issues

Reorganise page meta data and its handling

Since all of the content pages are directly translated to other languages, match these pages in the page meta data.
While language is changed via its menu, the following page should be equal to the current.

Language navigation

Since there will be several translations available, those should be made available via navigation.

Prefetch Flickr images

Use prefetch link elements to prefetch Flickr image thumbnails.

Rest of the assets should be shared with all pages, thus loaded in the first view anyhow.

Evaluate different deployment targets

Heroku
http://naginata-finland.herokuapp.com/

Openshift
http://naginata-paazmaya.rhcloud.com/fi

Nodejitsu
http://naginata-finland.jit.su/fi

  • What are the prices
  • Speed/loading differences
  • Automatic deployment

Alternatives to jQuery and colorbox

While they are the best, they come with weight of unused code.
Now that there is no longer Ajax used, perhaps many parts of jQuery could be stripped.
Also Colorbox has some features, like carousel, which are not needed.

Either strip or use Vanilla JS.

Make JS payload smaller

Currently JS is the biggest single download on page load.
Is all of that really used?
Modular jQuery...

sitespeed.io report fixes

Compared to Wed Jan 29 11:51:45 EET 2014, run from today had the following records gotten worse:

  • Rule score 88.0 (89.0)
  • Critical Rendering Path Score 82.0 (82.0)
  • Requests without GZip 3.0 (3.0)
  • Document weight (kb) 10.2 (21.2)
  • Requests without expires 6.0 (7.0)

Good news is that JS file weight per page (kb) 123.9 got smaller.

modern.ie report fixes

http://modern.ie/en-gb/report#http%3A%2F%2Fnaginata.fi

  • Responsive web design

    We've found that this webpage layout may have not been designed for a full range of smaller or larger screen devices. Using responsive design techniques that target horizontal screen resolutions or "breakpoints" can improve your user experience across many devices and may decrease the costs of building device-specific experiences. This scan currently detects minimum and maximum properties of media queries, which may be one of many indicators of responsive web design; however, it's not a complete scan for all best practices.
    http://msdn.microsoft.com/en-gb/library/ie/hh772370%28v=vs.85%29.aspx

  • Browser detection. navigator.userAgent is used via Chatanyara.js, thus no fix

  • Compressed content

    Your server doesn’t use any compression mechanism. You should think about enabling gzip compression or similar.

  • Touch first browsing

    We've found that this webpage is not enhanced for touch-based browsing in Internet Explorer 10 on devices running Windows 8.
    http://msdn.microsoft.com/library/ie/jj583807.aspx

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.