# feno - Flexible Exercise Notation Organizer
A ferramenta `feno` é um formatador de atividades de programação e conta com uma série de ferramentas integradas.
- Um preprocessador de Markdown (toc, include).
- Um gerador de arquivos html usando pandoc.
- Um gerador de links absolutos para arquivos locais.
- Uma ferramenta para filtrar rascunhos de código.
- Um indexador de questões.
- Um gerador de arquivos para serem utilizados no VPL do Moodle ou via tko.
## Instalação
Se estiver no windows, instale o [WSL](https://docs.microsoft.com/pt-br/windows/wsl/install) e utilize o Ubuntu.
```bash
pip install feno
# ou diretamente do github
pip install git+https://github.com/senapk/feno.git
# tko para gerar e converter os testes e testar os códigos
pip install tko
# pandoc para gerar os htmls se quiser htmls de qualidade e com suporte a latex
sudo apt install pandoc
```
## Modo básico
Crie um arquivo `Readme.md` com o seguinte formato:
# Título da atividade
A descrição que você quiser
```txt
>>>>>>>> teste 1
entrada
entrada
========
saida
saida
<<<<<<<<
>>>>>>>> teste 2
entrada
entrada
========
saida
saida
<<<<<<<<
```
- A primeira linha é o título da atividade.
- Você pode inserir quantos testes quiser.
- Execute o `feno` na pasta local com:
```bash
feno .
```
Ele vai criar uma pasta `.cache` com:
- `q.html` - Um arquivo html com a descrição do problema.
- `q.tio` - Um arquivo com as questões no formato tio.
- `mapi.json` - Um arquivo com os testes formatado para o moodle, que pode ser utilizado pelo projeto [mula](https://github.com/senapk/mula).
## Utilizando TOC e rascunhos
Raw data
{
"_id": null,
"home_page": "https://github.com/senapk/feno",
"name": "feno",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.7",
"maintainer_email": null,
"keywords": "programming, learning",
"author": "David Sena Oliveira",
"author_email": "sena@ufc.br",
"download_url": "https://files.pythonhosted.org/packages/7e/57/6be0883bba1879ab93d42686a5164bfb30f12ae7ff14f7aa10475f7c7766/feno-0.6.2.tar.gz",
"platform": null,
"description": "# feno - Flexible Exercise Notation Organizer\n\nA ferramenta `feno` \u00e9 um formatador de atividades de programa\u00e7\u00e3o e conta com uma s\u00e9rie de ferramentas integradas.\n\n- Um preprocessador de Markdown (toc, include).\n- Um gerador de arquivos html usando pandoc.\n- Um gerador de links absolutos para arquivos locais.\n- Uma ferramenta para filtrar rascunhos de c\u00f3digo.\n- Um indexador de quest\u00f5es.\n- Um gerador de arquivos para serem utilizados no VPL do Moodle ou via tko.\n\n## Instala\u00e7\u00e3o\n\nSe estiver no windows, instale o [WSL](https://docs.microsoft.com/pt-br/windows/wsl/install) e utilize o Ubuntu.\n\n```bash\npip install feno\n\n# ou diretamente do github\npip install git+https://github.com/senapk/feno.git\n\n# tko para gerar e converter os testes e testar os c\u00f3digos\npip install tko\n\n# pandoc para gerar os htmls se quiser htmls de qualidade e com suporte a latex\nsudo apt install pandoc\n```\n\n## Modo b\u00e1sico\n\nCrie um arquivo `Readme.md` com o seguinte formato:\n\n # T\u00edtulo da atividade\n\n A descri\u00e7\u00e3o que voc\u00ea quiser\n\n ```txt\n >>>>>>>> teste 1\n entrada\n entrada\n ========\n saida\n saida\n <<<<<<<<\n \n >>>>>>>> teste 2\n entrada\n entrada\n ========\n saida\n saida\n <<<<<<<<\n\n ```\n\n- A primeira linha \u00e9 o t\u00edtulo da atividade.\n- Voc\u00ea pode inserir quantos testes quiser.\n- Execute o `feno` na pasta local com:\n\n```bash\nfeno .\n```\n\nEle vai criar uma pasta `.cache` com:\n\n- `q.html` - Um arquivo html com a descri\u00e7\u00e3o do problema.\n- `q.tio` - Um arquivo com as quest\u00f5es no formato tio.\n- `mapi.json` - Um arquivo com os testes formatado para o moodle, que pode ser utilizado pelo projeto [mula](https://github.com/senapk/mula).\n\n## Utilizando TOC e rascunhos\n\n\n",
"bugtrack_url": null,
"license": null,
"summary": "feno: Flexible Exercise Notation Organizer",
"version": "0.6.2",
"project_urls": {
"Bug Reports": "https://github.com/senapk/feno/issues",
"Homepage": "https://github.com/senapk/feno",
"Source": "https://github.com/senapk/feno/"
},
"split_keywords": [
"programming",
" learning"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ba053954a9028e0d98dc990f6a94d96fd227574eeafb2c9c721b7d08dd0fe1a8",
"md5": "a3825849b630f59b2130bfc917f18efd",
"sha256": "45038a053c5bb5e131fb9adac5d04d3319e67a92ef54796d7ca150f179816a72"
},
"downloads": -1,
"filename": "feno-0.6.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a3825849b630f59b2130bfc917f18efd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.7",
"size": 25496,
"upload_time": "2024-12-21T19:42:56",
"upload_time_iso_8601": "2024-12-21T19:42:56.253578Z",
"url": "https://files.pythonhosted.org/packages/ba/05/3954a9028e0d98dc990f6a94d96fd227574eeafb2c9c721b7d08dd0fe1a8/feno-0.6.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7e576be0883bba1879ab93d42686a5164bfb30f12ae7ff14f7aa10475f7c7766",
"md5": "b2fa951d8582b658fafa31b93ce6398a",
"sha256": "f4202eb2e3e11e8c05a9ba6165ad4b5e08276c7f9d4680177a2a9dba68edc789"
},
"downloads": -1,
"filename": "feno-0.6.2.tar.gz",
"has_sig": false,
"md5_digest": "b2fa951d8582b658fafa31b93ce6398a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.7",
"size": 24232,
"upload_time": "2024-12-21T19:42:57",
"upload_time_iso_8601": "2024-12-21T19:42:57.521383Z",
"url": "https://files.pythonhosted.org/packages/7e/57/6be0883bba1879ab93d42686a5164bfb30f12ae7ff14f7aa10475f7c7766/feno-0.6.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-21 19:42:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "senapk",
"github_project": "feno",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "build",
"specs": []
},
{
"name": "twine",
"specs": []
},
{
"name": "chardet",
"specs": []
},
{
"name": "markdown",
"specs": []
},
{
"name": "pyyaml",
"specs": []
}
],
"lcname": "feno"
}