Code Monkey home page Code Monkey logo

p5-riji's Introduction

Actions Status Coverage Status

NAME

Riji - Simple, git based blog tool

SYNOPSIS

% cpanm -qn Riji           # install `riji` cli
% rjji setup               # setup new blog site
% $EDITOR riji.yml         # adjust configuration
% riji new-entry your-slug # create new blog entry in Markdown
% git add article/ && git commit -m "add new entry"
% riji server              # local server for staging starts on the port 3650.
% riji publish             # static site will be created in the ./riji directory

TUTORIAL

Japanese: http://songmu.github.io/p5-Riji/blog/

English http://perlmaven.com/blogging-with-riji

DESCRIPTION

Riji is a static site generator using Markdown, featuring RSS generation from git history.

'Riji'(日记) means diary in Chinese.

FEATURES

  • Static site generation with Markdown files.
  • All operations can be performed with the cli "riji".
  • Commits Markdown files to your git repository and automatically generates RSS from the git log.
  • Name of markdown file will be directly mapped to the URL as HTML.
  • YAML Frontmatter can be written optionally in Markdown file for meta-information, like tags, etc.
  • Customizable site template with Text::Xslate Kolon format.
  • Kolon template notation can also be used in Markdown files.
  • Your own template macros can be defined in the functions.pl file.

DOCKER

docker container is also available.

% docker run --rm -v $(PWD):/riji -v $(PWD)/.git:/riji/.git -i ghcr.io/songmu/riji publish

LICENSE

Copyright (C) Masayuki Matsuki.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

THANKS

Thanks to Gabor Szabo [email protected] for great English tutorial.

AUTHOR

Masayuki Matsuki [email protected]

p5-riji's People

Contributors

hitode909 avatar karupanerura avatar monmon avatar songmu avatar trapple avatar tsucchi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

p5-riji's Issues

riji help?

riji does not recognize that it is in a directory of a riji project?
No command line help?

$ mkdir diary
$ cd diary
$ riji setup
....
$ riji help
First, command `% riji setup` in empty directory.

`riji publish --force`が欲しい

Rijiとても便利で活用させていただいてます。
運用していて、以下のような条件でもpublishできるriji publish --forceなるオプションが欲しいと思ってるのですがいかがでしょうか?

  • publish branchにいない
  • untracked fileがある
  • uncommited changedがある

Compilation failure with recent MIME::Base32

With most recent MIME::Base32 the test suite of Riji fails. I see errors like:

Could not load class (Riji::Model::Blog) because : "RFC" is not exported by the MIME::Base32 module

Module dependency for Router::Simple and Router::Simple::Sinatraish

Router::Simple, Router::Simple::Sinatraishがインストールされていない
環境では、テストがエラーとなります。Puncheur::Liteで使われるモジュール
ですが、Puncheur::Lite(実際にはそれを同梱する Puncheur)の cpanfileでは
Router::Simple, Rounter::Simple::Sinatraishが recommendsとなっているため
明示的に指定しない限りインストールされません. 本モジュールの cpanfile
もしくは Puncheurの cpanfileを変更する必要があると思うのですが、
いかがでしょうか ? (Puncheur::Liteを別モジュールに切り分けて、その
cpanfileで必須とするという考え方もあるかと思います。)

よろしくお願いします。

%  prove -bv t/00_compile.t
t/00_compile.t .. 
not ok 1 - use Riji;

#   Failed test 'use Riji;'
#   at t/00_compile.t line 5.
#     Tried to use 'Riji'.
#     Error:  Can't locate Router/Simple/Sinatraish.pm in @INC (@INC contains: /home/syohei/.cpanm/work/1375679407.20710/Riji-0.0.6/blib/lib /home/syohei/.cpanm/work/1375679407.20710/Riji-0.0.6/blib/arch /home/syohei/perl5/perlbrew/perls/perl-5.16.1/lib/site_perl/5.16.1/i686-linux /home/syohei/perl5/perlbrew/perls/perl-5.16.1/lib/site_perl/5.16.1 /home/syohei/perl5/perlbrew/perls/perl-5.16.1/lib/5.16.1/i686-linux /home/syohei/perl5/perlbrew/perls/perl-5.16.1/lib/5.16.1 .) at /home/syohei/perl5/perlbrew/perls/perl-5.16.1/lib/site_perl/5.16.1/Puncheur/Dispatcher/Lite.pm line 5

Timestamp stays when I change a page

I am not sure if it good or bad, just wanted to mention that the timestamp shown on the pages does not change when I change the content of a file in the articles/entry directory. Is this intentional? If yes, how can I force it to get updated for a specific page?

typos in tutorial

article/entry/004_static.md Line 21: Boogstarp -> Bootstrap
article/entry/005_template.md Line 21: 最大入 -> 再代入

Strange behavior of published_at in entry

Phenomenon:

  • publish_at in entries equals among each other.

Situation:

  • I wrote a new entry and commit/push it. Then, I execute "git pull" in server-side.

Environment:

  • Riji v0.0.9
  • perl-5.12.3 on perlbrew
  • CentOS 5.9
  • Linux ytnobody.net 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

Refer:
http://blog.ytnobody.net/archives.html

New entry became unreflected.

Phenomenon:

  • New entry becomes unreflected when deploy it by "git pull". After, succeeded to reflect a new entry when I restart riji-server.

Situation:

  • I wrote a new entry and commit/push it. Then, I execute "git pull" in server-side.
  • Then, I restarted riji-server.

Environment:

  • Riji v0.0.9
  • perl-5.12.3 on perlbrew
  • CentOS 5.9
  • Linux ytnobody.net 2.6.18-194.32.1.el5 #1 SMP Wed Jan 5 17:52:25 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

Refer:
http://blog.ytnobody.net/archives.html

'.' is no longer in @INC

Newer perl versions don't have anymore "." in @INC. This causes failures in the test suite:

Can't locate t/Util.pm in @INC (you may need to install the t::Util module) (@INC contains: /home/cpansand/.cpan/build/2018032606/Riji-v0.9.8-0/blib/arch /home/cpansand/.cpan/build/2018032606/Riji-v0.9.8-0/blib/lib /opt/perl-5.26.2-RC1/lib/site_perl/5.26.2/x86_64-linux /opt/perl-5.26.2-RC1/lib/site_perl/5.26.2 /opt/perl-5.26.2-RC1/lib/5.26.2/x86_64-linux /opt/perl-5.26.2-RC1/lib/5.26.2) at t/01_basic.t line 10.
BEGIN failed--compilation aborted at t/01_basic.t line 10.
t/01_basic.t ....... 
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
Can't locate t/Util.pm in @INC (you may need to install the t::Util module) (@INC contains: /home/cpansand/.cpan/build/2018032606/Riji-v0.9.8-0/blib/arch /home/cpansand/.cpan/build/2018032606/Riji-v0.9.8-0/blib/lib /opt/perl-5.26.2-RC1/lib/site_perl/5.26.2/x86_64-linux /opt/perl-5.26.2-RC1/lib/site_perl/5.26.2 /opt/perl-5.26.2-RC1/lib/5.26.2/x86_64-linux /opt/perl-5.26.2-RC1/lib/5.26.2) at t/02_tag.t line 6.
BEGIN failed--compilation aborted at t/02_tag.t line 6.
t/02_tag.t ......... 
Dubious, test returned 2 (wstat 512, 0x200)
No subtests run 
(etc)

Current CPAN.pm and other installers workaround the issue, so this problem is not visible when using these tools. But it fails if the distribution is built manually on the commandline.

A possible fix is to put something like use lib "."; on top of the failing test scripts.

URL slash issue

通常、URLを記載する場合にはこのように書いて、
riji-url-2

普通に riji publish できるのですが、
riji-url-3

http:の後の/を抜いて、
riji-url-4

commitして、
riji-url-5

'riji publish'するとerrorが出ます。
riji-url-6

最初、これが出続けた時に何が原因かわからなくて、突き止めるまでちょっと時間がかかったので、ご報告しました。

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.