GithubHelp home page GithubHelp logo

missaouib / animelyricswebsite Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 613-forever/animelyricswebsite

0.0 1.0 0.0 94 KB

License: GNU Affero General Public License v3.0

ANTLR 3.73% Java 73.45% CSS 13.26% JavaScript 1.22% HTML 8.33%

animelyricswebsite's Introduction

Anime-Lyrics Website

A generator for static websites.

Here, the word anime follows the second definition in wikipedia:

Anime (Japanese: アニメ, IPA: [aɲime]) is hand-drawn and computer animation originating from Japan. In Japan and in Japanese, anime (a term derived from the English word animation) describes all animated works, regardless of style or origin. However, outside of Japan and in English, anime is colloquial for Japanese animation and refers specifically to animation produced in Japan. Animation produced outside of Japan with similar style to Japanese animation is referred to as anime-influenced animation.

-- Anime - Wikipedia

License

This project AnimeLyricsWebsite, is free software under AGPL-3.0-or-later. You can redistribute it and/or modify it under the terms of AGPL-3.0-or-later.

This project is distributed without any warranty or liability.

Every derivation should be under AGPL-3.0-or-later, too. The license applies only to the source code. Any execution-generated source can be used arbitrarily.

Introduction

Structure

Usage

java -jar AnimeLyrics-X.X.X-jar-with-dependencies.jar

will simply start the engine, rendering from text/draft to text/target, also using text/cache, and copy text/draft/copy_only to text/target, relative to current dir.

Parameters and their default values are as follows:

args.length > 1 ? args[1] : DRAFT_DIR,
args.length > 2 ? args[2] : CACHE_DIR,
args.length > 3 ? args[3] : TARGET_DIR,
args.length > 4 ? args[4] : LIST_FILE_NAME,
args.length > 5 ? args[5] : SITEMAP_FILE_NAME,
args.length > 6 ? args[6] : ROBOTS_FILE_NAME,
args.length > 7 ? args[7] : CONFIG_FILE_NAME,
args.length > 8 ? args[8] : COPY_ONLY_DIR_NAME

static final String DRAFT_DIR = "./text/draft/";
static final String CACHE_DIR = "./text/cache/";
static final String TARGET_DIR = "./text/target/";

static final String COPY_ONLY_DIR_NAME = "copy_only"; // relative to DRAFT_DIR, "./text/target/copy_only"
static final String LIST_FILE_NAME = "List.html";
static final String SITEMAP_FILE_NAME = "Sitemap.xml";
static final String ROBOTS_FILE_NAME = "robots.txt";
static final String ROOT_URL_FILE_NAME = "url.txt"; // relative to DRAFT_DIR, "./text/target/config.txt"

Features

  • Pages:
    • Multilingual pages: Inserts language attributes lang= to add styles for different language. It is very useful when we need two language with overlapping Unicode code points, and suppose to employ different fonts.
    • Color: Changes colors to identify singers if necessary.
    • Multiple representation. Generates normal text, kana-only text and romaji text in separated tags to control with JS.
    • Covered Text: Covers spoilers with black. That means, it might display spoilers as black text with black background, unless mouse hovers over it.
    • Simple support for headings, footnote, lists, and links. Generates them in almost the same syntax as in Markdown, though there is a bit of difference to avoid difficulties in parsing indents. However, in the current version we will not check sanity of them.
    • Templates. To include templates for common uses, e.g., fancy links, music or video player cards, spoiler warning messages. (It is bundled with embedded players provided by Bilibili and Music163 , but they are not internationalized.)
  • Website:
    • A list file. Generates a list of pages to serve as an entrance.
    • Sitemap. Generates a sitemap to make the site more optimized for search engines.

Features to Be Supported Later

  • A template for scoring.
  • A template for inline lyrics. (It should be there, but somehow not necessary.)
  • Forced romaji.
  • External templates. Though It might be a little risky to insert external templates written by strangers.
  • Cross-references between pages. (To mark related pages.)

The ALM (Anime Lyrics Markup) Language

See ALM.md.

Language and Font

Generated pages are naturally multilingual. Among CJKV, there are many subtle differences in characters within the same code point. As a result, we should change fonts for different languages.

We use a large number of lang tags to tell them apart, and render them in different fonts.

lang="ja" is normal Japanese text. lang="ja-Latn" is for Japanese romaji.

By default, text are tagged lang="zh" because they are Chinese by default. Default language setting will be available in the future. org.forever613.anime_lyrics.parser.Parser.DEFAULT_LANG and templates should be modified for this.

animelyricswebsite's People

Contributors

613-forever avatar

Watchers

 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.