{ "info": { "author": "F\u00e1bio Mac\u00eado Mendes", "author_email": "fabiomacedomendes@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development :: Libraries" ], "description": "The ``.markio`` format is a markdown-based format for representing IO based\nprogramming questions. This library consists in a parser and a processor for\nthis format. It does not judge submissions by executing programming tasks and\ncomparing inputs/outputs but it provides some data structures that makes the\nimplementation of such a program much easier.\n\n\nThe syntax\n==========\n\nMarkio files are regular markdown files with a conventional structure used to\nrepresent an IO based programming question. The `markio`` parser processes the\nmarkdown source and returns a dictionary with the document structure.\nA ``.markio`` markdown file begins like this::\n\n Hello Person\n ============\n\n Author: Chips Chipperfield \n Slug: hello-person\n Timeout: 1s\n Tags: #begginer #basic\n\n A program that prints a personalized greeting to the user.\n\nThe document must start with an h1-level title corresponding to the question\ntitle name. The title may be followed by an optional block with meta data.\nEach metadata field is optional and only the fields shown above are supported.\nThe title and metadata information are accessible from the parsed structure\ndirectly in the 'title', 'author', 'slug', etc keys.\n\nBellow that, it is possible to specify a single-paragraph short description.\nThis description is available both in the 'short_description' attribute of the\nparsed structure.\n\nThe file than consists of various h2-sections. Most of these sections are\naccessed in the parsed dictionary as a lowercase version of their title names::\n\n Description\n -----------\n\n Create a program that asks the user name and prints the message\n \"Hello, !\" on the screen. The program output should be **exactelly**\n as requested, i.e., you should use **exactely** the same case and pontuaction\n marks as in the example string. You can assume that the input name is at\n most 100 characters long.\n\n ### Inputs\n\n A more thorough description of inputs.\n\n ### Outputs\n\n Description of the desired outputs.\n\nThis obligatory section contains a long description text for the question. It\naccepts more or less arbitrary markdown text but all headings must be level 3\nor above. The raw markdown can be accessed by the 'description' key in the\nparsed structure.\n\n::\n\n Example\n -------\n\n What is your name? \n Hello John!\n\nThe 'example' section must contain a single block of ``.iospec`` data. For more\ninfo check http://gihub.com/fabiommendes/iospec. IoSpec is a simple language\nfor specifying a sequence of inputs and outputs in a program interaction. Users\nshould avoid using input-only specifications in this section.\n\nAlthough these examples might be used to judge submissions, the content of this\nsection is displayed to the student. Tests designed to judge a program should\ngo in the \"Tests\" section.\n\n\n::\n\n Tests\n -----\n\n @input Mary\n @input mary\n @input Long Name\n @input $string[<100]\n\nThis section also contains a single block of ``.iospec`` data with the\nvarious tests used to judge submissions. Input-only interactions are allowed\nand encouraged.\n\n::\n\n Placeholder\n -----------\n\n A paragraph with the defaut comments that should be included in the\n placeholder source.\n\nThis optional section is used to store the default comment string that should\nbe placed as the placeholder text in the ``