Giter Site home page Giter Site logo

docs's People

Contributors

00apm avatar albertchae avatar aujkb avatar btehan avatar j-f1 avatar jlongster avatar kidglove57 avatar kyrias avatar marethyu1 avatar matissjanis avatar migillett avatar patrikstenmark avatar paulhovey avatar ptpu avatar redbox3070 avatar rich-howell avatar sethgillett avatar shaankhosla avatar shall0pass avatar shazib avatar soulplayer avatar sztupy avatar t0rb3n avatar techwizee avatar tjex avatar tjfinlinson avatar trevdor avatar twk3 avatar winklevos avatar youngcw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

docs's Issues

πŸ—„οΈ [Documentation] - Schedules & Rules

Create documentation on how Schedules work and how you can make use of Rules to set the category when a schedule is posted.

Instructions provided by kidlove57

1) Create your recurring transaction (schedule) and save it.

2) Go back into Schedules and reopen the schedule that you just made.

3) In the middle on the right is a button marked β€œedit as a rule”. Click on this.

4) Scroll down and you will find that you can add further rules by hitting β€œ+”. You may have to scroll to fully reveal this.

5) You can now add a Category for that schedule. And a note too if you wish.

πŸ—„οΈ [Documentation] - Error on fresh install: Server does not look like an Actual server. Is it set up correctly?

Description

Apologies if I'm missing something obvious, I wanted to try to get this to work so that I can access my file from each device on my network.

I followed the quick guide to get it up and running inside of a linux container. but it seems that for some odd reason it can't find itself. Following the instructions in "Configuring the server URL" leads to a confusing error message in the client:
Server does not look like an Actual server. Is it set up correctly?

The container sits behind an nginx reverse proxy and is accessible from a custom domain name within my personal network, the names resolve just fine both inside and outside the container. But I've also tried using the actual IP of the reverse proxy and even the IP of the container itself, to no avail. Even in connecting directly to the container's IP and putting that IP into the input.

The nodejs app also spits out this error in stdout:

Oct 18 10:34:55 actual yarn[878]: ERROR Error: Could not locate the bindings file. Tried:
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/compiled/18.11.0/linux/x64/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:  β†’ /root/actual-server/node_modules/better-sqlite3/lib/binding/node-v108-linux-x64/better_sqlite3.node
Oct 18 10:34:55 actual yarn[878]:     at bindings (/root/actual-server/node_modules/bindings/bindings.js:126:9)
Oct 18 10:34:55 actual yarn[878]:     at new Database (/root/actual-server/node_modules/better-sqlite3/lib/database.js:48:64)
Oct 18 10:34:55 actual yarn[878]:     at openDatabase (/root/actual-server/db.js:38:30)
Oct 18 10:34:55 actual yarn[878]:     at getAccountDb (/root/actual-server/account-db.js:17:17)
Oct 18 10:34:55 actual yarn[878]:     at /root/actual-server/app-account.js:25:19
Oct 18 10:34:55 actual yarn[878]:     at Layer.handle [as handle_request] (/root/actual-server/node_modules/express/lib/router/layer.js:95:5)
Oct 18 10:34:55 actual yarn[878]:     at next (/root/actual-server/node_modules/express/lib/router/route.js:137:13)
Oct 18 10:34:55 actual yarn[878]:     at Route.dispatch (/root/actual-server/node_modules/express/lib/router/route.js:112:3)
Oct 18 10:34:55 actual yarn[878]:     at Layer.handle [as handle_request] (/root/actual-server/node_modules/express/lib/router/layer.js:95:5)
Oct 18 10:34:55 actual yarn[878]:     at /root/actual-server/node_modules/express/lib/router/index.js:281:22 {
Oct 18 10:34:55 actual yarn[878]:   tries: [
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/compiled/18.11.0/linux/x64/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node',
Oct 18 10:34:55 actual yarn[878]:     '/root/actual-server/node_modules/better-sqlite3/lib/binding/node-v108-linux-x64/better_sqlite3.node'
Oct 18 10:34:55 actual yarn[878]:   ]
Oct 18 10:34:55 actual yarn[878]: }

My knowledge of nodejs is zero but I'm assuming this is the actual reason behind why I'm unable to connect? Any ideas of what I can do to fix this? Thanks.

Screenshots

No response

Category

Installation & Configuration

πŸ—„οΈ [Documentation] - Wrong link for accessing Actual in local installation instruction

Description

Following the super helpful instructions on installing actual-server locally, I got stuck at the last step ("Accessing Actual") because – as I found out in a discord support request from someone who had the same problem – the linked URL's at the bottom of https://actualbudget.github.io/docs/Installing/Local/your-own-machine say https://localhost:5006/ when it should rather be http://localhost:5006/ (i.e., it should be "http" rather than "https").

I would love to fix this myself, but I do not have sufficient expertise on github to do so, hence I decided to mention it here.

Category

Installation & Configuration, Troubleshooting

πŸ—„οΈ [Documentation] - Information on how to not let money roll over from last month.

Description

Hi, is there a way to not roll over the budget from last month into the current month?

I want every month to start from a clean slate. I've looked through the docs and I have played around with the UI. It may not be possible, but I figured I would ask. And I would be happy to contribute the docs if it does exist.

Basically, I don't want to use the 'cover overspending' feature because it messes with my pretty numbers on the budget. My budgeting is pretty loose, so I just want to make sure that overall, I spend less than the budget amount. But if the numbers increase each month, then its harder to see at a glance that I am under-budget overall.

Category

Budgeting

πŸ—„οΈ [Documentation] - Actual deployment with Nomad

Description

Actual is currently incompatible with Nomad for some file access reasons to do with the sqlite DB

Rejection: SqliteError: database is locked
    at sqliteTransaction (/app/node_modules/better-sqlite3/lib/methods/transaction.js:66:9)
    at WrappedDatabase.transaction (/app/db.js:29:35)
    at addMessages (/app/sync-simple.js:27:6)
    at Object.sync (/app/sync-simple.js:82:14)
    at /app/app-sync.js:114:42
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    at next (/app/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
    at /app/node_modules/express/lib/router/index.js:281:22 {
  code: 'SQLITE_BUSY'
}

Some form of official note that it is incompatible with Nomad would be great, testing mentioned in this message https://discord.com/channels/937901803608096828/969693280226906162/1031910347105390653

Screenshots

No response

Category

Installation & Configuration

Docker installation documentation

Installation via docker documentation links a docker-compose file that is not the same pasted in the same page (at bottom of the page).
Furthermore in the documentation is stated:

The options for port assignments and persisting your budget on a volume mounted on your filesystem are all contained in the env file

Anyway the linked docker is using hard-coded values

πŸ—„οΈ [Documentation] - Encryption

Description

How to enable encryption, what version of actual you need to be running to use encryption as this was only enabled in a recent version and what happens if you wan't to turn it off.

Screenshots

No response

Category

Installation & Configuration

πŸ—„οΈ [Documentation] - How to manage credit cards

Description

Detail a workflow and thought process of using credit cards with Actual.

  1. Paying the card
  2. Adding debt to the credit card to balance the budget in a month of over spending.
  3. Adding transactions against a credit card.

edit: I know this is covered briefly in the FAQ, but I think it's a budgeting topic that deserves some in depth explanation.

Category

Budgeting

πŸ—„οΈ [Documentation] - Joint Accounts

Description

Examples of how to handle joint accounts where there is a joint account on budget and only one half of the joint account is within the budget sheet.

Screenshots

No response

Category

Accounts

how to migrate data from old subscription app to new self-hosted instance

Short version: After some searching, I figured out how to migrate my data to my new self-hosted server. This issue documents how. I'll happily open a PR to update the documentation if desired. The workaround is to log in to https://app.actualbudget.com which includes the 'export data' button.

Longer version: I could not find any docs or issues detailing how to migrate from the subscription service to the new self-hosted version. I found references to new releases of the Actual Electron App that allow exporting, but that version has not yet been released and installing/building is non-trivial (I have not succeeded yet).

The (temporary) workaround, which I could not find mentioned anywhere, is to log in to the old web version (https://app.actualbudget.com) which runs the latest version of the app, and includes the 'export data' button (under 'settings' from the menu by the Filename). This allows exporting the data, which can then be imported into the web app pointing at your self-hosted server instance. (getting the latest version of the Electron app in order to point it to the self-hosted server is another matter).

Perhaps I could find no issues mentioning this because I'm the only one who didn't think to try this approach ;) ... but I thought I'd mention it for completeness. As I said, I will happily PR to add this to the documentation if desired -- maybe not desirable if a new release is coming soon?
This issue can be closed otherwise. I will close it in a few days if no reply.

πŸ› [BUG] - Cannot install Actual because it cannot locale bindings

Description

When I try to install actual server with actual on my local machine everything works until I run yarn start, then I get this error.

I only have this error with actual version 23.5.0, when I do git checkout v23.4.2 then run yarn install and yarn start everything work.

/Users/perso/Projects/actual-server/node_modules/bindings/bindings.js:126
  err = new Error(
        ^

Error: Could not locate the bindings file. Tried:
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/compiled/20.1.0/darwin/x64/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node
 β†’ /Users/perso/Projects/actual-server/node_modules/better-sqlite3/lib/binding/node-v115-darwin-x64/better_sqlite3.node
    at bindings (/Users/perso/Projects/actual-server/node_modules/bindings/bindings.js:126:9)
    at new Database (/Users/perso/Projects/actual-server/node_modules/better-sqlite3/lib/database.js:48:64)
    at openDatabase (file:///Users/perso/Projects/actual-server/src/db.js:57:30)
    at getAccountDb (file:///Users/perso/Projects/actual-server/src/account-db.js:23:18)
    at SecretsDb.open (file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:52:12)
    at SecretsDb.initialize (file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:42:22)
    at new SecretsDb (file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:21:10)
    at file:///Users/perso/Projects/actual-server/src/services/secrets-service.js:81:19
    at ModuleJob.run (node:internal/modules/esm/module_job:192:25) {
  tries: [
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Debug/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/Release/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Debug/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/Debug/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/out/Release/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/Release/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/build/default/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/compiled/20.1.0/darwin/x64/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/release/install-root/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/debug/install-root/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/addon-build/default/install-root/better_sqlite3.node',
    '/Users/perso/Projects/actual-server/node_modules/better-sqlite3/lib/binding/node-v115-darwin-x64/better_sqlite3.node'
  ]
}

Node.js v20.1.0

Reproduction URL

http://localhost:5006

Reproduction steps

1. Fresh install of actual v23.5.0
2. run `yarn start`
3. See error

Screenshots

No response

Browsers

No response

πŸ—„οΈ [Documentation] - Posting Scheduled Transaction Early

I often post my scheduled transactions a day or two early. When I select a transaction and choose to post it, it still is appearing in the upcoming scheduled transactions list. If something is scheduled for 11/18 and I post it on 11/16, it should then set next scheduled date for 12/18.

Perhaps I am doing something wrong. Help me out.

⭐ [Documentation] - fly update best practice

Description

In the actual-server repo's readme it's stated:

Whenever you want to update Actual, update the versions of @actual-app/api and @actual-app/web in package.json and run flyctl deploy.

But in the docs (website) there is a process to pull changes from the repo and then redeploy.

Is there a case where one is a better option to document?
ie, should the readme instruction be changed to that of the docs, or the other way around?

Documentation URL

https://actualbudget.github.io/docs/Installing/fly/Fly-updating

⭐ [Documentation] - instruct the user to cd into directory with fly.toml

Description

The Deploying Actual on fly.io with a container image document should clearly instruct the user that when running fly launch command (and commands after that), they need to be running them in the directory with fly.toml file that they created earlier.

For comparison, the Deploying Actual section of Deploying Actual on fly.io with git document actually does a lot better job of this by clearly showing how to navigate each step of the deployment process. I think it has a bit too many of too big screenshots but nonetheless, it makes it hard to do something wrong.

Documentation URL

https://github.com/actualbudget/docs/blob/master/docs/Installing/fly/Fly-image.md

create a demo budget for docs contribution

[...] maybe as an alternative you/we could make a demo budget and save it to this repo for testing purposes?

Originally posted by @j-f1 in #123 (review)

Including a small demo budget in the repo will help contributors to get going faster as they can simply import the demo budget and start working with the transactions, accounts, rules, etc that are already in place.

This will also create some better consistency throughout the documentation with accounts / transactions / payee naming etc.

I would imagine including the budget as a .zip backup export from Actual is the best way to deliver?

πŸ—„οΈ [Documentation] - ActualQL aggregate documentation

The current ActualQL documentation uses the following examples:
.select({ total: { $sum: 'amount' } })
and
.calculate({ $sum: 'amount' })

Running this at the developer console will throw an exception Can't convert string to float.

Checking the actual source code it appears that we should have a dollar symbol in front of the column name, like.
.select({ total: { $sum: '$amount' } })
and
.calculate({ $sum: "$amount" })

Perhaps a few more examples would be useful.

πŸ—„οΈ [Documentation] - YNAB Importing

Description

More detailed instructions on how to import data from YNAB this is touched on here but doesn't explain in detail how this works.

Screenshots

Screenshots are required for this section as they are currently missing.

Category

Overview

How to Show Running Balance

Description

Many first time users miss the option to show running balance in an account register.
Help note to be drafted to explain this

Screenshots

![DESCRIPTION](LINK.png)

Category

Accounts

πŸ—„οΈ [Documentation] - Reconcilation

Description

A brief note is needed in the Help files to explain the Reconciliation option. This is not all that users expect it to be and their expectations of it should be managed

Screenshots

![DESCRIPTION](LINK.png)

Category

Accounts

πŸ› [BUG] - Reconciliation not showing

Description

Looking at the code and looking at the site served at the actualbudget url doesn't seem to match up?
Reconciliation does not exist in the sidebar, yet in the code it is there:

    {
      type: 'category',
      label: 'Accounts',
      collapsed: true,
      items: [
        'Accounts/overview',
        'Accounts/addaccount',
        'Accounts/reconcile',
        {
          type: 'category',
          label: 'Transactions',
          collapsed: true,          
          items: [
            'Accounts/Transactions/importing-trans',
            'Accounts/Transactions/bulk-editing-transactions',
          ],
        },        
        unavailable('Connecting Your Bank'),
        'Accounts/payees',
        'Accounts/transfers',
      ],
    },

image

Maybe this is a dupe of one of the others I opened..

Reproduction URL

https://actualbudget.com/docs/accounts/overview/

Reproduction steps

1. Go to https://actualbudget.com/docs/accounts/overview/
2. See the sidebar
3. There is no reconciliation

Screenshots

No response

Browsers

Chrome

πŸ—„οΈ [Documentation] - Editing "As Rule" scheduled transaction.

When editing a scheduled transaction, you can either edit the data on the "front page" (typically amount is what changes for me) OR on the "Edit as Rule" page. But if you try both only the "Edit as Rule" change actually sticks.

Example:
I have a scheduled transaction for natural gas payment. As part of the schedule, I have notes set to "[Provider Name] - [MMM]" (first 3 letters of month for the invoice.)

I got an email stating that the next bill will be $88.

  • I edit the transaction (previous bill was $100, so I change that to $88).
  • Now I click on "Edit as Rule", and change the note to say "Mar".
  • Click Save on that screen
  • Click save on the main schedule screen.
  • Now I look at the scheduled transaction, and it still says $100.
  • I edit it, and check the rule, Note is set to "Mar" (as it should be)
  • So I change the amount again, and save. This time it sticks.

πŸ—„οΈ [Documentation] - import app data to open source server

Hi

Since Actual flipped to open source (kudos!) i was thinking to import the data from the app running locally on my macbook to the server.

I tried to do so by firing up actual-server using Docker (according to your instructions) and performed the following in order to have data persistany

  • addedENV ACTUAL_USER_FILES=/data into Dockerfile
  • created a docker volume and run the image with correct docker parameters

I created a test budget and everything works as expected. I can see the following data generated in the volume

ls -l /volumes/Actual/_data/user-files$ls 3758c690-ede5-49bd-af58-0832fc966f4d/ 
total 3308
-rw-r--r-- 1 root root  917504 May 15 22:43 cache.sqlite
-rw-rw-rw- 1 root root 2465792 May 15 22:43 db.sqlite
-rw-rw-rw- 1 root root     198 May 15 22:43 metadata.json

Now what i did was to copy my local app files (cache.sqlite, db.sqlite, metadata.json) to the docker actual-server volume under volumes/Actual/_data/user-files$ls 3758c690-ede5-49bd-af58-0832fc966f4d/

That unfortunately did not work. I still see content from the previous testing budget and prompted with sync issues.

Is there any way to import data from local app to the open-source server?

πŸ—„οΈ [Documentation] - Custom rules examples

Description

I think a page that documents some of our users custom rules that help run their budgets would be helpful to new and old users.
I've started this page in a separate branch. If you'd like, I'll submit a PR to get this started. I've often been hit with creativity block looking for new custom rules. I'd be curious if any other users have custom rules they'd be willing to share.
customrules

Screenshots

![DESCRIPTION](LINK.png)

Category

Budgeting

api.runWithBudget is not a function

I'm trying to get the API to work. Here is what I've done
1- I've installed actual-server locally and it's running on port 5006
2- I cd into the folder and installed the api using yarn add @actual-app/api
3- I created a test.js file in the actual-server folder and copy paste the following code
let api = require('@actual-app/api'); async function run() { let budget = await api.getBudgetMonth('2019-10'); console.log(budget); } api.runWithBudget('My-Budget', run);
4- I updated "My-Budget" with my id
5- I run using node test.js and get the following error

TypeError: api.runWithBudget is not a function

Can you please advise ?

Migrate to Github Pages?

Do we want to switch this to GH Pages at some poDo we want to switch this to GH Pages at some point?int?

πŸ”§ [CHANGE] - Image storage and access system

Description

I have an idea that could make the documentation process smoother and faster.

At the moment there is a partial system emerging of a specific folder + docs section happening.
ie images for the backup-restore section are stored in a folder at img/Backup-Restore.

However there are many cases where the same images are called for throughout different pages in the documentation.
eg: "click on settings in the sidebar" -> shows an image of the settings button in the sidebar.

With the current system, each contributor would take a screenshot themselves of the settings button in the sidebar, and store it in the respective folder.
This creates extra work for the contributor and also creates the need for many more image changes when a change to the UI is done. The repo will also grow in size as more features get implemented as more image are needed. etc.

I think a mixture of this strategy and the the following idea could be better.

For basic menu items, such as buttons in the sidebar, budget view, reports and other such default view that are not changed by specific user input, we could have a folder with associated images within them.

eg: folder = img/sidebar, img/budget-view, etc

In the sidebar view image file names would be in the direction of:

sidebar-settings.png (showing the 'settings' button in the sidebar)
Screen Shot 2023-03-04 at 13 45 18

sidebar-accounts.png (showing the 'accounts' button in the sidebar)
Screen Shot 2023-03-04 at 11 51 52

For all other images that are needed for that specific page, the contributor/s can use the specific folder for that page.
eg, instructions for creating rules will be specific to the written instructions in that page, and therefore highly unlikely to be reusable elsewhere in the site. It makes sense then to have them in their own specific folder as it makes managing them easier when working on the page.

Expected behavior

When writing documentation, contributors can first look in the respective folders for the images that they need for basic settings / functionality references. If it isn't there, they can make one and also put it in that folder, making it available then for others in the future.

I think what could come from this is:

  • less work for contributors and less friction to get involved (as there's less screenshots to process on their end)
  • less work to update the 'settings button in the sidebar` when it changes due to UI update. Just changing that file, and giving it the same name, will update all calls to it throughout the documentation
  • more consistency will be created throughout the docs site in terms of imagery (1 image for sidebar-settings on 10 pages instead of 10 different images)
  • as features get added to the app, the complexity of documentation will not increase as fast

For this to work well though we'd need to create some more contributing documentation, explaining to people that this system exists.

Thoughts?
I'm happy to take a lead on this change if it gets the go ahead.

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.