Coder Social home page Coder Social logo

hdocs's Introduction

HDocs

GUI application to make it easier producing software documents using templates.

hdocs's People

Contributors

brokenprogrammer avatar

Watchers

 avatar  avatar

hdocs's Issues

Create HDocsGUI for the main window and initialize it upon new proj.

The HDocs.glade should be utilized and initialized when the New button in the Splash gui is pressed.
Things to keep in mind:

  • Might need to delete or destroy the splash window.
  • If destroyed should the HDocs be called from the SplashGUI main or the Main.hs main ?

Possible to return an actual value from the SplashGUI main and then call the HDocs GUI from the main together with the result from the SplashGUI.

Populate the HDocsVars.

Basically the same as #20 but will contain the variables in the form of "${name}" read from within the template document.

For later feature when this link is clicked the HDocsHelpBar will also be populated with help information regarding the clicked section.

Clean file structure.

Using the current structure there will be several *GUI.hs modules which feels a bit repetitive and the files contain a lot of logic. Maybe there is a better way to structure this into modules.

Display JSON Template on the screen.

The JSON templates are currently being read using a simple initial template format. Time to read the contents and display it in the main editor window.

Figure out proper file format for templates.

Each template as of current plans should contain the following:

  • Template text (This is static text used by the template)
  • Template variables (This is variables that the user can switch out to their own text or values)
  • Template variables help (This is some form of comments that will be available to aid the user when entering the comments for the template variables.)

Clean up evalState in SplashGUI

  • TODO: Account for when invalid Name or TemplateName is specified.
  • TODO: Maybe remove data types such as SplashGUIState & NewProjectData and use type instead.
    Oskar Mendel 2018-02-27

Add scroll window to the HDocs window.

The HDocs editor which is a TextView currently expands vertically instead of a scrollbar showing up. This can be fixed by wrapping the target widget into a Scroll Window in glade.

Add support for variable comments.

This type of comment will probably have to sit within the same string as its variable looking something like this:

"author": "${name} *{This is the name of the author of the document.}"

The *{} type can be changed to something else if something that looks better iss found.

Add toolbar for changing font, size & color.

When writing a document different fonts, headers colors etc needs to be available for use. A toolbar should be added using glade and the implementation can be left out for a different issue.

Add keyboard shortcuts.

Using standard keyboard shortcuts to used for writing documents will probably increase the productivity for the ones who uses the application.

Some examples:

  • CTRL + B - Makes marked text bold
  • CTRL + I - Makes marked text cursive
  • ...

Populate the HDocsLinks.

HDocsLinks is a GtkTreeView which is supposed to contain buffer links to different areas of the document. For example if we have an introduction section in the document there will be a link to that section header which scrolls to that specific section when you click the link.

For later feature when this link is clicked the HDocsHelpBar will also be populated with help information regarding the clicked section.

Implement support for reading JSON files.

Add support for reading JSON files and then work on storing the contents into appropriate structure.
Some module planning will have to take place around this issue.

  • File.hs - Handle file functions such as reading, writing and creating files.
  • JSON.hs - Parses the JSON contents of a file.
    Note to self: Above two modules may need some more thought behind them and there might be a good idea for a 3rd module that contains the actuall data structure and constructs it by taking in the parsed JSON contents.

Display the help text in the HDocsHelp menu.

Implement some form of comment variable within the Template json and use that comment to populate the helpbar with the comment based on which link or variable the user have pressed.

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.