Skip to content

Commit

Permalink
Tagged Release for 0.0.1 Iteration (#30)
Browse files Browse the repository at this point in the history
* Documentation coverage (#9)

* Initial documentation bits

Initial bits of documentation to get started and kick this off.

* Reverted back to main branch version

* Rewrote motivation to index

Per suggestions in PR #9, the motivation.md file content has been moved to the index.md file and rewritten to both be more document storage-format agnostic and place an empathis on digidal garden creation earlier on. 

I also expanded it with some general ideas on the vision of where NoteMate could be expanded to.

* Delete settings.json

Should not be part of any commits

* second part did not stage into commit

go figure. Workflow is a bit unstable today.

* Revision of docs landing page (#13)

* Revision of docs landing page

* Minor refactor for initial draft

* Docstrings for files (#11)

* Initial documentation bits

Initial bits of documentation to get started and kick this off.

* Cleaned up docstrings branch

* Added docstrings to rest of franklin.jil

Rolled the improved docstrings by @TheCedarPrince into the existing docstrings, and added docstrings of the same style to the rest of the methods. 

Docstring for generate_citation() still requires a clarification for the citations keyword argument - structure of the agument data unclear.

* Added docsstrings for remaining functions

We should now have docstring coverage across the entire NoteMate module.

* [DOCS] Add API Reference Page (#17)

* Added LiveServer dependency for easier local documentation previews

* Added link to API reference page

* Added API reference section

* Added first draft of README (#20)

* [DOCS] Example Workflow Showing What `NoteMate.jl` Can Do (#26)

* Writing initial usage documentation

Using the example workflow Julia parser, wrote a how to use document. Not yet hyperlinked to any other pages.

* Stubbing out parsing component

* Drafting first pass of NoteMate structure document

* Expanding using notemate tutorial

* Finished initial pass through and added todos

* Added tutorial section

* Finalized initial tutorial

* Added resources for documentation

* Updated package versions and added Markdown dependency

---------

Co-authored-by: Sevoris Doe <74614227+SevorisDoe@users.noreply.github.com>

* [FEATURE] Added Templates and Changelog (#29)

* Added templates for feature requests and bug reports

* Updated installation instructions

* Drafted initial Changelog

* Added a pull request template for future contributors

* Added tag for initial release

* Removed additional dependenices for initial package release

* Added test dependencies

* Added first attempt at a test suite for package

* Test assets for the test suite

---------

Co-authored-by: Sevoris Doe <74614227+SevorisDoe@users.noreply.github.com>
  • Loading branch information
TheCedarPrince and SevorisDoe committed Aug 31, 2023
1 parent 5f7803d commit 341ab05
Show file tree
Hide file tree
Showing 27 changed files with 12,738 additions and 16 deletions.
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
name: Bug report
about: Create a report to help us improve
title: "[BUG] "
labels: bug
assignees: ''

---

**Before Filing a Report**

- Did I read the Documentation and/or docstrings?
- Did I search the `NoteMate.jl` GitHub to see if this bug has already been reported?
- Do I have the latest version of `NoteMate.jl` installed?

**Describe the bug**

A clear and concise description of what the bug is.

**To Reproduce**

1. Julia Version (i.e. output of `julia -v`):

2. Operating system (Mac, Linux, Windows):

3. `NoteMate.jl` version (i.e output of `] status NoteMate` in the REPL)

4. Small code snippet that led to bug:

**Expected Behavior and Actual Behavior**

A clear and concise description of what you expected to happen followed up with an explanation of what actually happened.

**Stacktrace (If Applicable)**

**Screenshots (If Applicable)**

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Is your feature request related to a problem? Please explain.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you would like to do and how you would like to do it. Maybe a minimal example of the user interface you imagine for this feature.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# NoteMate.jl - Changelog

## v0.1.0

Initial implmentation of package:

- Added initial documentation

- Tutorial added

- API documented for exports

- Package philosophy added

- Test suite added

4 changes: 1 addition & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
name = "NoteMate"
uuid = "4bd444d9-eedc-4582-9e81-098846183c20"
authors = ["Jacob Zelko <jacobszelko@gmail.com>"]
version = "0.0.0"
version = "0.0.1"

[deps]
CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b"
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
Dates = "ade2ca70-3891-5945-98fb-dc099432e06a"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
pandoc_jll = "c5432543-76ad-5c9d-82bf-db097047a5e2"
55 changes: 55 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Welcome to `NoteMate.jl`! 📝

[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://jacobzelko.com/NoteMate/dev/)
[![Test Coverage](https://codecov.io/gh/TheCedarPrince/NoteMate/branch/main/graph/badge.svg)](https://app.codecov.io/gh/TheCedarPrince/NoteMate)
[![Build Status](https://github.com/TheCedarPrince/NoteMate/workflows/CI/badge.svg)](https://github.com/TheCedarPrince/NoteMate/actions)
[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle)

<!--TODO: Add Zulip reference-->

> The perfect companion for working with your notes 📚
`NoteMate.jl` is a programmatic transformation tool used to parse and manipulate notes whose structure follows the [Open Knowledge Model (OKM)](https://jacobzelko.com/04172022033744-open-knowledge-standard/index.html).
The goal of `NoteMate.jl` is to enable one to focus only on writing without worry of needing to add any special markup to your note *while* having the benefits of quickly sharing thoughts.
In fact, sharing your thoughts, whether locally or on the internet, is never far away as `NoteMate.jl` provides tools to enable your thoughts to be published on [digital gardens](https://www.lekoarts.de/garden/what-is-a-digital-garden).
Finally, due to the way `NoteMate.jl` parses documents, `NoteMate.jl` can transform notes following the OKM and express them in different outputs irrespective of the implementation.

# Installation

To install `NoteMate.jl` currently, one needs to run the following command in their Julia REPL:

```
pkg> add NoteMate
```

# Current Capabilities

Currently, these are some of the high level capabilities `NoteMate.jl` can perform:

- Ingest supported filetypes following OKM layout:

- Markdown

- Parsing of a OKM "Note" object to different support outputs:

- [`Franklin.jl`](https://franklinjl.org) Markdown

- Static site deployment workflows supported for rapid [digital garden](https://www.lekoarts.de/garden/what-is-a-digital-garden) creation:

- [`Franklin.jl`](https://franklinjl.org) Support

- Custom citation rendering and creation via `pandoc`, `bibtex`, and `CSL`

# Websites Using `NoteMate.jl`

Here are some websites that use `NoteMate.jl` to manage their website

- [TheCedarPrince's Personal Website](https://jacobzelko.com) - a [Franklin.jl](https://franklinjl.org)-based website that hosts a blog, note archive, and their research endeavors.

# Contributors

`NoteMate.jl` would not be possible if not for the help and support from our contributors here:

| | | | |
| :---: | :---: | :---: | :---: |
| <img width="50" src="https://avatars2.githubusercontent.com/u/74614227?s=96&v=4"/></br>[SevorisDoe](https://github.com/SevorisDoe) | | | |
2 changes: 2 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8"
LiveServer = "16fef848-5104-11e9-1b77-fb7a48bbb589"
Markdown = "d6f4376e-aef5-505a-96c1-9c027394607a"
NoteMate = "4bd444d9-eedc-4582-9e81-098846183c20"
4 changes: 4 additions & 0 deletions docs/make.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ makedocs(;
),
pages = [
"Home" => "index.md",
"API Reference" => "api.md",
"Tutorials" => [
"Markdown Tutorial" => "mkd_franklin_tutorial.md"
]
],
)

Expand Down
68 changes: 68 additions & 0 deletions docs/src/api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# API

This is a list of documentation associated with every single **exported** function or object from `NoteMate.jl`.
There are a few different sections with a brief explanation of what these sections are followed by relevant functions.

```@contents
Pages = ["api.md"]
```

## Structs

These are the core objects used to represent various note species within `NoteMate.jl`.
They are designed to be extended or parsed as needed:

```@docs
FranklinNote
Note
```

## Parsing

These functions are built to parse different sorts of files into `NoteMate.jl` objects (i.e. [structs](#structs)).
Multiple sections exist to denote what markup languages are able to be parsed as of now:

### Markdown

The parsing for `NoteMate.jl` supports Markdown -- specifically, [CommonMark Markdown](https://commonmark.org/help/) is supported but support for other variants could be added in the future:

```@docs
find_citation_groups
create_inline_citations
create_references
find_markdown_links
create_relative_links
get_headers
get_sections
get_title_section
```

## Targeting

After [parsing](#parsing) a note into a `NoteMate.jl` object, these functions support translating each object into a specified target output.
These targets are designed to quickly translate one's note to a publishable artifact for the internet (or other future supported platforms).
The following sections denote functions that support a given target:

### Franklin

[`Franklin.jl`](https://franklinjl.org) is a static site generator written in the Julia programming language.
It uses its own variant of markdown called "Franklin Markdown" to assist in publishing content to the web:

```@docs
create_franklin_note
generate_franklin_template
generate_note_summary
generate_bibliography
generate_citation
generate_references
generate_comments
generate_table_of_contents
```

## Miscellaneous

These functions are mostly for occasional use or do not fit cleanly into anyone section yet.

```@docs
sync_file
```
54 changes: 53 additions & 1 deletion docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
# Welcome to the `NoteMate.jl` Docs! 👋

> The perfect companion for working with your notes
> The perfect companion for working with your notes 📚
`NoteMate.jl` is a programmatic transformation tool used to parse and manipulate notes whose structure follows the [Open Knowledge Model (OKM)](https://jacobzelko.com/04172022033744-open-knowledge-standard/index.html).
The goal of `NoteMate.jl` is to enable one to focus only on writing without worry of needing to add any special markup to your note *while* having the benefits of quickly sharing thoughts.
In fact, sharing your thoughts, whether locally or on the internet, is never far away as `NoteMate.jl` provides tools to enable your thoughts to be published on [digital gardens](https://www.lekoarts.de/garden/what-is-a-digital-garden).
Finally, due to the way `NoteMate.jl` parses documents, `NoteMate.jl` can transform notes following the OKM and express them in different outputs irrespective of the implementation.

# Current Capabilities

Currently, these are some of the high level capabilities `NoteMate.jl` can perform:

- Ingest supported filetypes following OKM layout:

- Markdown

- Parsing of a OKM "Note" object to different support outputs:

- [`Franklin.jl`](https://franklinjl.org) Markdown

- Static site deployment workflows supported for rapid [digital garden](https://www.lekoarts.de/garden/what-is-a-digital-garden) creation:

- [`Franklin.jl`](https://franklinjl.org) Support

- Custom citation rendering and creation via `pandoc`, `bibtex`, and `CSL`

# Websites Using `NoteMate.jl`

Here are some websites that use `NoteMate.jl` to manage their website

- [TheCedarPrince's Personal Website](https://jacobzelko.com) - a [Franklin.jl](https://franklinjl.org)-based website that hosts a blog, note archive, and their research endeavors.

# Installation

To install `NoteMate.jl` currently, one needs to run the following command in their Julia REPL:

```
pkg> add https://github.com/TheCedarPrince/NoteMate
```

<!--TODO: Add final instructions before first release! -->

# Long Term Vision for NoteMate.jl

`NoteMate.jl` helps with constructing [digital gardens](https://www.lekoarts.de/garden/what-is-a-digital-garden) for sharing of ideas, insights and information syntheses quickly.
This makes it a good choice for building digital gardens that can be grown with a high-quality, low-tech evidence chain.
Since `NoteMate.jl` follows a modular standard, we think it can be expanded to allow ingestion and translation between many different file formats with different inner-file structures in a bidirectional manner.
As an example, pages in a digital garden may even be able to coalesce multiple notes using the ontology of a note system into aggregate notes in the future.

Since `NoteMate.jl` enforces a common document format with certain information always present, sufficient standardization is present to consider having digital gardens interlink on the web.
Different webpages might reference one another in such ways that they can build off each other, letting people seamlessly jump between different people's ideas and then incorporate them into their own.
Using the approaches here within `NoteMate.jl`, users may eventually be able to also quickly analyze and understand their own knowledge base data that they can leverage to build on other connections across other knowledge bases or in the context of their own work and research.

<!--TODO: Add a philosophy section on the approach NoteMate takes-->
Loading

0 comments on commit 341ab05

Please sign in to comment.