Coder Social home page Coder Social logo

arvchristos / lo-page-numbering Goto Github PK

View Code? Open in Web Editor NEW
11.0 4.0 14.0 1.62 MB

Home of Page Numbering Addon development.

Home Page: https://gitlab.com/lo_extensions/lo-page-numbering

License: GNU General Public License v3.0

Python 100.00%
python python3 libreoffice openoffice basic macro page numbering extension gettext l10n

lo-page-numbering's Introduction

GitHub release GitHub repo size in bytes Python version GitHub issues

Page Numbering Addon

This plugin, or by LO/OO terminology add-on(an extension that includes any kind of UI implementation/customization), includes the following features:

Page numbering addon

Features

  • Add page numbering simplifying the previous page-break approach:

    Although Page Breaks are an intuitive and effective approach for document layout and styling, users migrating from Microsoft Office suites find it more than difficult to understand)

  • Configure styling options such as Font, Character height, Alignment and page position (Header/Footer)

  • Page offset and First page options

  • Numbering type selection such as Roman, Arabic or Greek

  • Multiple Page numbering setups per document

Download

Page Numbering Addon can be found either in this repository or at the following links:

  1. LibreOffice Official Extensions.
  2. Apache OpenOffice Extensions

Acknowledgments

People that have contributed one way or another for this project are acknowledged at the ACKNOWLEDGEMENTS.md file.

Implementation

In order to get familiar with LO API a version of the plugin in LO Basic language was implemented. Although this is the most documented among LO/OO compatible languages, it follows an archaic programming approach with little to none modern features. That is the reason that led to the Python port for the official version of the extension.

Page Numbering Addon 0.0.1 was part of the librecust GSOC project, suggested by GFOSS Open Technologies Alliance. Source code will, surely, be available and suggestions, improvements or bug reports will be more than welcome. Any updates will be distributed through the official extension manager.

Future versions will be distributed from the official LO extension site as well as from this repository (LibreOffice/versions/ directory).

Installation

Each implementation (Python/LO Basic) is packaged as an extension in .oxt format. The LO Basic version has no dependencies. For the suggested Python version the following are applied:

Before installing the extension, make sure that the following dependencies are installed

In order to use the latest features implemented, you should install the Python version. The LO Basic implementation is not maintained until a new maintainer is found.

Python Dependencies

  • libreoffice-script-provider-python package or even better uno-tools
  • uno-tools required dependencies
    • OpenOffice.org/LibreOffice 3.4 or later
    • Python 3.3 or later

Warning

In order to avoid unexpected results you are suggested to avoid installing together the two different versions (Basic and Python) of this add-on.

Contribute

Extensive info about the development of this extension is provided in the repository wiki.

Also, the contributor is suggested to pay a visit to the contributing guide

Discussion

Discussion about the extension as well as suggestions can be issued either at the repo or at the following IRC channel:

IRC channel

Suggestions and ideas are more than welcome. We suggest including them in issues, however personal emails are not discouraged.

Localization

Localization guidelines are described in the corresponding wiki page

However, a localization tool for LO extensions is developed and can be found on the corresponding repository.

Team

lo-page-numbering's People

Contributors

arvchristos avatar davapont avatar dzarmola avatar felipemfp avatar io-ma avatar masterofthetiger avatar muelletr avatar ondkloss avatar vinetos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

lo-page-numbering's Issues

French translation

  • UI
  • License
  • Extension Description
  • Help pages

Please use the l10next.py utility and submit your changes (every new directory created by the utility) in locales/fr

Norwegian translation

  • UI
  • License (will use the English one till Norwegian translation is found )
  • Extension Description
  • Help pages

Call for translators

The extension includes a number of translatable strings in many aspects such as the user interface or the help pages.

Translations are based on gettext .po files and currently the following are implemented:

  • English en
  • Greek el
  • Italian it

More locales would help the extension become standard.

Consult the contribution guideline for more info.

Please contact here if you are interested in translating any part of the extension.

Beautify code for extension

This is a beginners task. Pep 8 for main.py as well as beautification of different files, and especially .pot translation templates is needed.

Construct python formatting wiki page

This is a beginner task:
A great contribution to the addon would be the creation of wiki page with links to proper Python formatting principles to be followed along this project. I imagine this as a .md file with a list of steps and documentation for proper contributing.

Issue to welcome developers

This issue serves as a starting point for developers during Hacktoberfest 2018.

All issues tagged with the Hacktoberfest label are suitable for new contributors.

Check the contribution guide to get started.
For any further info as well as suggestions and discussion, please use the dedicated repository IRC channel and/or the issue tracker.

Stay tuned !

Implement a way to save each page style page range

Currently there is no way for one to get each page style, thus each numbered region's number of pages.

This is a feature needed in order to implement Page x of y functionality for different numbered ranges (for example the first 10 pages are numbered with latin scheme while the rest with arabic numbering).

This requires a struct to hold this information at the creation of each numbered range (I intended to use the document properties as used in the main.py file here )

Any other idea would be highly appreciated.

Polish translation

  • UI
  • License (will use the English one till Norwegian translation is found )
  • Extension Description
  • Help pages

Please consult the CONTRIBUTING.md guideline before contributing.

Implement python script to create new .oxt file

This is a beginner issue:

After developing a new version, the different files have to be packed in an .oxt file. Such an extension is essentially a .zip file with altered extension. To day this is done manually thus an simple automation trick would be really helpful.

This script should take all the files from /LibreOffice/python/oxt_metadata/ directory and zip them with the .oxt extension. The destination folder should be the LibreOffice/versions/{ver_num}.

For example, the upcoming 0.0.3 version should be saved in LibreOffice/versions/0_0_3

The version number should be passed as an argument.

Documentation for this script should be short and descriptive.

Compose wiki pages

This is a beginner issue.

Page numbering addon would be significantly improved if users with experience over LibreOffice application development helped in the writing of helpful wiki pages regarding Python extension development for LO/OO.

Any ideas as well as suggestions would be highly appreciated.

Transfer wiki pages from gitlab repository on description to github

This is a beginner task.
Currently there is no standard way to mirror wiki pages across gitlab and github. For a beginner, simple creation of wiki pages would be a great start to git and github.

I suggest using the terminal cli to create the wiki pages and clone the wiki repository.
Pages already exist here

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.