Crieitに記事を投稿するのはすさまじく久しぶりな気がしますが…。
おはようございます、こんにちは、今晩は。Frodoです。
さて、今回は自作ライブラリをPyPIに登録したので使ってみてほしいというだけの記事になりますw
どういうライブラリを作ったのかと言いますと、純粋なPythonの構文だけで比較的分かりやすくHTMLを構築するライブラリです。
HTMLのテンプレートライブラリと言えばPythonではJinjaが有名でしょうか。
ですが、JinjaはPythonの文法をほとんど全くフォローしておらず、新しくまったく別な言語を覚えることになってしまいます。
よく使われているWebフレームワークのDjangoのテンプレート言語も似たようなものですね。
そこで、純粋にPythonの言語機能のみを使ってHTMLを構築できないかと作ったのがRattle.pyです。
Rattle.pyには次のような特徴があります。
説明してもイメージがわかないと思いますので、実際に使ってみたいと思います。
まずはインストールしましょう。話はそれからです。
$ pip install rattlepy
このように、普通のライブラリと同様pipで簡単に導入できます。
使うのも驚くくらい簡単です。
from rattlepy.templating import (
html, body, head,
title, h1, p, div, span, text,
meta, link)
with html(lang='ja') as elem:
with head():
meta(charset='utf-8')
meta(name='viewport', content='initial-scale=1.0;width=device-width')
link(href='main.css', rel='stylesheet', type='text/css')
with title():
text("Hello, Rattle.py!")
with body():
with div(className='container'):
with h1(): text("Hello, Rattle.py!")
with p():
text("Rattle.py is a html templating library.")
with span(className='emphasized'):
text("This library can support you to make HTML in pure Python.")
print(elem)
これを実行するとこうなります。
<html lang="ja">
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="initial-scale=1.0;width=device-width"/>
<link href="main.css" rel="stylesheet" type="text/css"/>
<title>
Hello, Rattle.py!
</title>
</head>
<body>
<div class="container">
<h1>
Hello, Rattle.py!
</h1>
<p>
Rattle.py is a html templating library.
<span class="emphasized">
This library can support you to make HTML in pure Python.
</span>
</p>
</div>
</body>
</html>
このように、非常に簡単にHTMLが記述できるのです。
また、これは純粋なPythonですから、何も考えずにPythonの変数を使ったり関数を呼び出したりできます。
これRattle.pyの特徴です。
このライブラリは開発中で、いろいろと未実装の機能が多くあります。
また、使って頂き、フィードバックや意見がいただけると、それがどのようなものであっても励みになります。
GitHubのリポジトリもぜひチェックしてみてください。スターなど頂けたら激しく喜びます。
フィードバックや意見は@BoufrawFrodo2にメンションして送っていただくか、GitHubにissueを立てて頂ければチェックします。
完全に宣伝な記事でしたが、最後までお付き合いありがとうございました!
Pythonをこよなく愛するプログラマ。広く浅くアンテナを張っている(つもり)。 出来ることと言えばフロントエンド全般やJava、Kotlinを使ったアプリ開発、PHP/Pythonでバックエンドが少々にC#、Python、Java、Kotlin、Scalaなどを使ったデスクトップ開発くらいのもの。PyPIで自作ライブラリ公開したりもしている。https://pypi.org/project/rattlepy/ https://pypi.org/project/groom/ 好きなフロントエンドフレームワークはReact、バックエンドフレームワークはCodeIgniterとMasonite。自分のサイトもReactを使って構築した。
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント