Metadata-Version: 2.1
Name: hugon
Version: 0.1.5
Summary: An incredibly simple python script that makes working with archtypes in Hugo 0.5x much easier.
Home-page: https://github.com/hithismani/hugon
Author: Mani Kumar
Author-email: hi@manikumar.in
License: MIT license
Keywords: hugon
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.5

=====
hugon
=====


.. image:: https://img.shields.io/pypi/v/hugon.svg
    :target: https://pypi.python.org/pypi/hugon

An incredibly simple (CLI)Â python script that makes working with archetypes in Hugo 0.5x much easier. 

.. image:: https://raw.githubusercontent.com/hithismani/hugon/master/images/hugon-single-file.gif
    :alt: Hugon Sample Run

* Free software: MIT license

Why
----

* When working with archetypes, the CLI expects us to mention the exact file name we want to create, instead of converting a provided string into a valid file name. 
* Inability to create a sequence of files (Example, creating an FAQâ€™s Markdown Page with faq-1.md, faq-2.md, faq-3.md file names). Weâ€™re expected to enter them manually each time. 
* When working with projects that require us to create multiple markdown files, we canâ€™t add more than the "title" field to our markdown files. 


Features 
--------

* Enter a string with as many special characters you wish to enter, the script will convert it into a suitable file name. Eg: "This new blog post I want to write!" in the command line would convert into "this-new-blog-post-i-want-to-write.md". 
* Enter the archetype you wish to enter, the script will check if the archetype exists. If it doesnâ€™t exist, Hugo CLI will prompt you with an error. 
* Create multiple markdown files and automatically populate the variables + content fields from a local CSV! (YAML format front matter only) 
* Letâ€™s you use a custom prefix CLI if youâ€™re using any other CLI that handshakes with hugo. Only changes prefix that could replace the "hugo new" function 
* Enter the amount of files you want to create in sequence, the script will create everything. 
* Colour codes the output (ft. colorama) for you to differentiate between outputs. 
* Letâ€™s you use a custom separator if youâ€™d like something apart from â€˜-â€˜ hyphens in your file name. 

Requirements
------------
* Python 3.x
* Hugo CLI (Tested on 0.59.1)

How To Use (Normal)
-------------------

1) pip install hugon
2) cd Into your hugo initialized folder.
3) run the command 'hugon -name "N3w F!le" -arch "default" -sequence "5"

Syntax (Normal)
---------------
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------+------------------------------------------------+
| Command    | Description                                                                                                                                                                                                                       | Required? | Example           | Converts Into                                  |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------+------------------------------------------------+
| -archetype | Define Archetype Name (without file extension). The Archetype file of this name should be present in the archetype folder. (Name is automatically converted to lowercase)                                                         | Yes       | Default           | default                                        |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------+------------------------------------------------+
| -name      | Filename you'd want to set. Can contain spaces, numbers, special characters, all which will be stripped (and converted to lowercase) to create a seamless file name to send to Hugo CLI.                                          | Yes       | FILE NAM3 Ex@mple | file-nam3-exmple.md                            |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------+------------------------------------------------+
| -sequence  | Lets you create multiple files with a 'sequence' as a postfix. Helpful if you're working with FAQ's, or other pages where file name doesn't necessarily matter. Value has to be more than 1, with sequence kicking off skipping 0.| No        | 5                 | file-nam3-exmple1.md                           |
|            |                                                                                                                                                                                                                                   |           |                   +------------------------------------------------+
|            |                                                                                                                                                                                                                                   |           |                   | file-nam3-exmple2.md                           |
|            |                                                                                                                                                                                                                                   |           |                   +------------------------------------------------+
|            |                                                                                                                                                                                                                                   |           |                   | file-nam3-exmple3.md                           |
|            |                                                                                                                                                                                                                                   |           |                   +------------------------------------------------+
|            |                                                                                                                                                                                                                                   |           |                   | file-nam3-exmple4.md                           |
|            |                                                                                                                                                                                                                                   |           |                   +------------------------------------------------+
|            |                                                                                                                                                                                                                                   |           |                   | file-nam3-exmple5.md                           |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------+------------------------------------------------+
| -separator | Lets you define a custom separator that's not "-" a hyphen.                                                                                                                                                                       | No        | _                 | file_nam3_example.md                           |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------+------------------------------------------------+
| -prefix    | Use another command instead of "hugo new".                                                                                                                                                                                        | No        | npm run customdev | npm run customdev default/file_nam3_example.md |
+------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------+-------------------+------------------------------------------------+


How To Use (Generate From CSV)
-------------------------------
1) Create a 'data.csv' file in the root of your hugo site.
2) Enter all the required variable fields (along with the required compulsory fields) as columns on your first row, and populate to your hearts content.
3) Run command 'hugon -csv yes'
4) If you'd like to overwrite your files without being prompted (Risky) just pass '-overwrite true' as an argument.

Syntax (CSV)
------------

.. image:: https://raw.githubusercontent.com/hithismani/hugon/master/images/hugon-csv.gif
    :alt: Hugon Sample Run | CSV

Warning: Files would be modified the moment they're made. Mistakes cannot be undone.

+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Column Name | Required | Purpose                                                                                                                                                                           |
+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| archetype   | Yes      | States archetype of post to be made.                                                                                                                                              |
+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| content     | No       | Lets you add matter to the "content" section of your markdown file.                                                                                                               |
+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| filename    | No       | Lets you specify another filename if you don't want to use a 'sluggified' title. Please ensure you don't add '.md' to the filename and your file name has the proper separators.  |
+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| title       | Yes      | Title field/filename.                                                                                                                                                             |
+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| prefix      | No       | Any custom build command you'd like to specify.                                                                                                                                   |
+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| separator   | No       | Any custom separator (if you're generating from title column) apart from default '-'                                                                                              |
+-------------+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

* Looking to add tags/taxonomies? Separate your values in the column with a *^;* 
* Looking to values to your YAML without quotation marks? (Eg: true/false values) Prepend your value with *^* 


Credits 
------- 
This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template. 

.. _Cookiecutter: https://github.com/audreyr/cookiecutter 
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage 

=======
History
=======

0.1.4 (2019-12-13)
------------------
* Fixed bug that stopped you from specifying a sequence.
* Fixed content replacement (CSV) issue that duplicated the section instead of replacing it.
* Pushed non-hugo CLI messages to colorama function for easy readibility.
* Added pretty 'horizontal line breaks' after any code is executed. (Resizes the next output to your existing terminal size)
* Other bug fixes and optimizations

0.1.1 (2019-12-13)
------------------
* Added CSV support for dynamic YAML markdown file generation.

0.1.0 (2019-12-06)
------------------

* First release on PyPI.


