update,
This commit is contained in:
Binary file not shown.
BIN
sesaman/BBoney/doc/app_tree_diagram.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/app_tree_diagram.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/cover_image.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/cover_image.png
(Stored with Git LFS)
Normal file
Binary file not shown.
253
sesaman/BBoney/doc/digest.md
Normal file
253
sesaman/BBoney/doc/digest.md
Normal file
@@ -0,0 +1,253 @@
|
||||
# digest
|
||||
|
||||
## Name of the App:
|
||||
|
||||
BBoney
|
||||
|
||||
1. Problem
|
||||
2. Solution
|
||||
|
||||
## 1. Problem
|
||||
|
||||
According to the research done by the Investor and Financial Education Council (IFEC) in 2019,
|
||||
adult respondents claimed that:
|
||||
|
||||
| title | percentage |
|
||||
| -------------------------------- | :--------: |
|
||||
| overspending | 38% |
|
||||
| lack of budget plan | 14% |
|
||||
| respondents lack financial goals | 47% |
|
||||
|
||||
overspending (38%),
|
||||
lack of budget plan (14%)
|
||||
were their biggest financial regrets, and
|
||||
nearly 47% of respondents lack financial goals,
|
||||
these results may lead to the following issues.
|
||||
|
||||
Problem can be classified to **Short term** and **Long term**.
|
||||
|
||||
### Short term:
|
||||
|
||||
#### 1. Instability in your finances:
|
||||
|
||||
It might be challenging to manage your income and expenses without a budgeting plan. You might discover that you are having trouble paying for necessities, getting behind on your obligations, or piling up debt.
|
||||
|
||||
> Financial instability and stress may result from this.
|
||||
|
||||
#### 2. A lack of emergency savings and funds:
|
||||
|
||||
A financial plan often has provisions for emergency savings and finances.
|
||||
Without a budgeting plan, you risk forgetting to save money for unforeseen costs like medical bills, auto repairs, or lost wages.
|
||||
|
||||
> This may make you vulnerable in times of need and compel you to turn to credit or loans.
|
||||
|
||||
### Long run:
|
||||
|
||||
#### 1. Inadequate retirement planning:
|
||||
|
||||
Making objectives for retirement and laying out plans to reach them are common components of a financial plan.
|
||||
|
||||
Without a strategy, you might not be investing wisely or saving enough money for retirement.
|
||||
This may make it challenging to continue your preferred way of life during your retirement years.
|
||||
|
||||
Currently, there are a multitude of budgeting applications in the market, and you can find that it is easy to download them online. And there are pros and cons for those budgeting applications available now.
|
||||
|
||||
#### Pros:
|
||||
|
||||
##### 1. Clear consumption records:
|
||||
|
||||
You may track your spending by categorizing it in these budgeting applications, such as meals, transportation, or entertainment. For the user to see which categories they have spent the most money on, some of them may build a pie chart.
|
||||
|
||||
##### 2. Personalized design:
|
||||
|
||||
It is possible for users to design their own application interface. Users are now able to create their own interfaces based on personal preferences or aesthetics. Users will be more inclined to keep track of their own consumption if they create it themselves.
|
||||
|
||||
#### Cons:
|
||||
|
||||
##### Lack of suggestions:
|
||||
|
||||
The budgeting applications on the market are not able to provide a suggestion for the user base on their expenditure record.
|
||||
This makes consumers unable to effectively make improvements even though they know that they have exceeded their consumption in certain aspects.
|
||||
|
||||
According to the data above, 47% of respondents don't have any financial objectives.
|
||||
They only require the advice provided by the other, thus the budgeting application should include this feature that enables them to efficiently limit associated costs based on the counsel provided, leading to improved financial management.
|
||||
|
||||
## 2. Solution
|
||||
|
||||
### A application that help user for their financial management
|
||||
|
||||
- BBoney
|
||||
|
||||
### The feature of the app includes:
|
||||
|
||||
1. to customize the saving plan based on their personal preference.
|
||||
|
||||
1. prevent the possibility of password theft to increase the security protection.
|
||||
|
||||
The app will customize the saving plan based on their personal preference. Registered users need to fill in the personal information into the personal profile page. Like the:
|
||||
|
||||
- full name,
|
||||
- nick name,
|
||||
- agenda,
|
||||
- phone number,
|
||||
- address,
|
||||
- interest,
|
||||
- personal preference.
|
||||
|
||||
After, users can click the button of monthly salaries and input the actual income and estimated expense into the block. The system will use the information to allocate the proportion of expenses.
|
||||
|
||||
For example, the system provides the suggestion of daily expenses for each meal. It will show the percentage of pie charts users can estimate by themselves if they spend more in that month.
|
||||
|
||||
Then, the app provides different categories for users, such as food, houseware, clothes, cosmetics, exchange, medical, education, electric bill, transportation, contact fee. If the user wants to have a meal, they can click the food button.
|
||||
|
||||
The app links to the partnership company **Open Rise app**. The data of the suggested daily expense and the personal preference will automatically input to the Open Rise app. Users have no need to input the data into the Open Rice app again.
|
||||
|
||||
In addition, if users are over the daily expense which includes all categories, the app will list the lower price choice at the first filter item to coordinate the expenses for the whole month.
|
||||
|
||||
Apart from the catering expense, there are also transport expenses. The system provides the suggestion of transportation. Users can select the button of transportation; it connects to the **city mapper** app which is a transportation app in Hong Kong. It gives various transport options for users to save time and help users to make the decision.
|
||||
|
||||
To prevent the possibility of password theft to increase the security protection. The app will not share the data to the other company or partnership such as **Openrise**, **Zalora**. we will save the data into our own database system. We use it to customize the personal savings plan only. When people want to enter the app and look at the previous financial record, they need to login with the password which contains a number, letter, and character. The lower limit with the amount of password is 8 and limited the time of freezing the screen to reduce the risk even users forgot to close the app. It will obviously increase the privacy level. In the long-term, the number of mobile users will increase rapidly, so it is necessary to focus on the security problem. it builds up the faithfulness that leads to boosting the willingness of users to input the
|
||||
|
||||
## Appendix / Apps Tour:
|
||||
|
||||
## User InterFace(wireframe)
|
||||
|
||||

|
||||
|
||||
### 1. Login Page,
|
||||
|
||||

|
||||
|
||||
#### 1.1 login:
|
||||
|
||||
Users can easily access their accounts by entering their email and password.
|
||||
|
||||
#### 1.2 Keep signed in
|
||||
|
||||
Additionally, we offer a convenient "Keep Me Logged In" feature to eliminate the need for repeated login credentials.
|
||||
|
||||
#### 1.3 Forget password
|
||||
|
||||
If users forget their password, they can click "Forgot Password" to reset it on a separate page.
|
||||
|
||||
#### 1.4 sign in
|
||||
|
||||
New users can effortlessly sign up by clicking "Sign In" and following the straightforward account setup process.
|
||||
|
||||
Our Login Page prioritizes user convenience and security, ensuring a seamless login experience for all users.
|
||||
|
||||
### 2. Password and email recovery
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
We have implemented a user-friendly password reset process for users who have forgotten passwords.
|
||||
|
||||
Upon clicking "Forgot Password" in the Login page, users will be redirected to a dedicated page where they can initiate the reset process.
|
||||
Users will be prompted to enter their email address to verify their identity, and a 4-digit verification code will be sent to their email.
|
||||
|
||||
Once the user inputs the correct code, they can create a new password.
|
||||
To ensure accuracy, we require users to enter the new password twice.
|
||||
This streamlined and secure password reset flow aims to provide a seamless experience for users who need to regain access to their accounts.
|
||||
|
||||

|
||||
|
||||
### Sign Up page
|
||||
|
||||
Where users can create a new account by entering their username, email, and password.
|
||||
To ensure accuracy, users need to enter the password twice.
|
||||
For security, the password entered by the users will become "\*\*\*\*", so there is an eye button next to it.
|
||||
When pressed, the entered password will be exposed for easy input.
|
||||
Then, users are required to tick the "Terms of Services & Privacy Notice" for the privacy policy of their personal data.
|
||||
If users already own an account but they come to the Sign Up page, they can click “Sign in” and redirect back to the Sign Up page.
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
If users complete the above information, they can click "Sign Up" to start building their unique profile to customize the personal savings plan.
|
||||
|
||||
First, users can choose one or more destinations they always go to. If the users don’t want to perform this action at that moment, they can click "Skip" to skip this page.
|
||||
|
||||
After users click "Next" or "Skip", users can choose one or more activities they like. Finally, users can type their actual income and estimated expenses.
|
||||
|
||||

|
||||
|
||||
Upon successful sign-in or sign-up, users will be directed to the home page to access an overview of their financial activity.
|
||||
|
||||
This includes a summary of their "Income," "Expense," and "Balance" for the selected month, with the default being the current month. Users can also view detailed information about their transactions, allowing them to track their payments and earnings.
|
||||
|
||||
Additionally, a calendar feature provides a monthly overview, highlighting the user's assets and expenses for each month. This comprehensive view of financial data empowers users to manage their finances effectively and make informed decisions.
|
||||
|
||||

|
||||
|
||||
The proposed feature aims to enhance user experience by introducing a dedicated “Week” page within the app.
|
||||
|
||||
This page will provide users with a comprehensive view of their financial activity on a weekly basis.
|
||||
|
||||
Users will be able to easily access detailed breakdowns of their assets and expenses for each week, allowing them to gain insights into their spending habits. The page will prominently display the balance for the selected week, enabling users to quickly assess whether their income exceeds their expenses or vice versa.
|
||||
|
||||
Additionally, a visually appealing pie chart will be included, using red to represent expenses and green to represent income. This graphical representation will offer users a quick overview of their financial status, facilitating easy analysis and understanding of their weekly financial data.
|
||||
|
||||
By incorporating this feature, users will have the ability to effectively track their financial progress and develop a comprehensive understanding of their weekly financial situation.
|
||||
|
||||

|
||||
|
||||
The "Day" page offers users a detailed breakdown of their gains and expenses for a specific day.
|
||||
|
||||
The page displays the current date by default, providing users with real-time information. However, users also have the flexibility to select any other date they wish to explore.
|
||||
|
||||
This allows them to review their financial activities on a specific day and gain a more granular understanding of their income and expenditures. The "Day" page ensures users can access specific and accurate financial data to make informed decisions and manage their finances effectively.
|
||||
|
||||

|
||||
|
||||
### The "Assets" page
|
||||
|
||||
will provide users with a comprehensive summary of their financial holdings. It will be divided into "Bank Account" and "Assets."
|
||||
In the Bank Account section, our app will compare their cash assets with their payment records to determine whether their cash flow status is favorable or not.
|
||||
The Assets section will display all other non-cash assets recorded in the app.
|
||||
This design aims to provide users with a clear overview of their financial situation and facilitate effective management of their assets.
|
||||
|
||||

|
||||
|
||||
### Settings page
|
||||
|
||||
The proposed "**Settings**" page allows users to personalize their app experience according to their preferences.
|
||||
This comprehensive page allows users to customize various aspects of the app, including language selection, color schemes, and general preferences. Additionally, it introduces a unique feature called the **"Pro Version"**, which grants users access to enhanced functionalities such as tailored solutions for restaurants or frequently purchased goods not available in the basic plan.
|
||||
|
||||
Furthermore, users can manage their income and expense categories and utilize a backup feature to safeguard their data.
|
||||
|
||||

|
||||
|
||||
The provided text is an explanation of a suggestion which intends to cater to individual customer preferences based on their budget constraints.
|
||||
|
||||
It considers factors like distance, pricing, and personal taste in order to customize the experience according to their requirements.
|
||||
|
||||
Furthermore, it mentions that the platform has features such as bookmarking, sharing, and alarms (discounts) for enhancing user convenience.
|
||||
|
||||
For instance, if a customer wants to save money, the system would arrange options with low prices at the top of the list.
|
||||
|
||||

|
||||
|
||||
On this page, when the customer clicks on a specific item from the suggestions list, they will find various features to help them navigate and learn more about the chosen restaurant.
|
||||
A small map is displayed, highlighting the location of the restaurant for convenience.
|
||||
|
||||
In addition to the map, the page also includes buttons for opening a bookmark (which may be pre-loaded or created by the user) and adding a new bookmark for easy access later on. This functionality allows customers to save their favorite restaurants in one place for quick reference.
|
||||
|
||||
Below the map is an OpenRice link that enables users to effortlessly switch over to the OpenRice app, which can be used for further exploration of restaurants and even booking reservations.
|
||||
|
||||
The remaining buttons below the OpenRice link contain concise information about the suggested restaurant, such as its location, average price range, operating hours, customer ratings, and the accepted payment methods. This enables customers to make informed decisions before deciding whether to dine at that particular establishment.
|
||||
|
||||
## Application/Page map
|
||||
|
||||

|
||||
|
||||
## Reference list
|
||||
|
||||
- [Investment Council survey shows that more than half of Hong Kong adults regret their financial management - the Chin family. (n.d.).](https://www.ifec.org.hk/web/tc/about-ifec/press-release/)
|
||||
|
||||
- Open Rise
|
||||
- city mapper
|
||||
- Openrise
|
||||
- Zalora
|
BIN
sesaman/BBoney/doc/login-tree.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/login-tree.png
(Stored with Git LFS)
Normal file
Binary file not shown.
867
sesaman/BBoney/doc/tree-diagrm/package-lock.json
generated
Normal file
867
sesaman/BBoney/doc/tree-diagrm/package-lock.json
generated
Normal file
@@ -0,0 +1,867 @@
|
||||
{
|
||||
"name": "p233",
|
||||
"version": "1.0.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "p233",
|
||||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"pug": "^3.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-string-parser": {
|
||||
"version": "7.22.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
|
||||
"integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
"version": "7.22.20",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
|
||||
"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.23.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz",
|
||||
"integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==",
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/types": {
|
||||
"version": "7.23.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz",
|
||||
"integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==",
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": "^7.22.5",
|
||||
"@babel/helper-validator-identifier": "^7.22.20",
|
||||
"to-fast-properties": "^2.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "7.4.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
|
||||
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/asap": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
|
||||
},
|
||||
"node_modules/assert-never": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
|
||||
"integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw=="
|
||||
},
|
||||
"node_modules/babel-walk": {
|
||||
"version": "3.0.0-canary-5",
|
||||
"resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
|
||||
"integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==",
|
||||
"dependencies": {
|
||||
"@babel/types": "^7.9.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/call-bind": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
|
||||
"integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.2",
|
||||
"get-intrinsic": "^1.2.1",
|
||||
"set-function-length": "^1.1.1"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/character-parser": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
|
||||
"integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==",
|
||||
"dependencies": {
|
||||
"is-regex": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/constantinople": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
|
||||
"integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.6.0",
|
||||
"@babel/types": "^7.6.1"
|
||||
}
|
||||
},
|
||||
"node_modules/define-data-property": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
|
||||
"integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
|
||||
"dependencies": {
|
||||
"get-intrinsic": "^1.2.1",
|
||||
"gopd": "^1.0.1",
|
||||
"has-property-descriptors": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/doctypes": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
|
||||
"integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ=="
|
||||
},
|
||||
"node_modules/function-bind": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
||||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/get-intrinsic": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
|
||||
"integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.2",
|
||||
"has-proto": "^1.0.1",
|
||||
"has-symbols": "^1.0.3",
|
||||
"hasown": "^2.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/gopd": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
|
||||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
||||
"dependencies": {
|
||||
"get-intrinsic": "^1.1.3"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-property-descriptors": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
|
||||
"integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
|
||||
"dependencies": {
|
||||
"get-intrinsic": "^1.2.2"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-proto": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
|
||||
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-symbols": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/has-tostringtag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
|
||||
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
|
||||
"dependencies": {
|
||||
"has-symbols": "^1.0.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/hasown": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
|
||||
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
|
||||
"dependencies": {
|
||||
"function-bind": "^1.1.2"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/is-core-module": {
|
||||
"version": "2.13.1",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
|
||||
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
|
||||
"dependencies": {
|
||||
"hasown": "^2.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/is-expression": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz",
|
||||
"integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==",
|
||||
"dependencies": {
|
||||
"acorn": "^7.1.1",
|
||||
"object-assign": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"node_modules/is-promise": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
|
||||
"integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
|
||||
},
|
||||
"node_modules/is-regex": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
|
||||
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
|
||||
"dependencies": {
|
||||
"call-bind": "^1.0.2",
|
||||
"has-tostringtag": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/js-stringify": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
|
||||
"integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g=="
|
||||
},
|
||||
"node_modules/jstransformer": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
|
||||
"integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==",
|
||||
"dependencies": {
|
||||
"is-promise": "^2.0.0",
|
||||
"promise": "^7.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/path-parse": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
|
||||
},
|
||||
"node_modules/promise": {
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
|
||||
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
|
||||
"dependencies": {
|
||||
"asap": "~2.0.3"
|
||||
}
|
||||
},
|
||||
"node_modules/pug": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz",
|
||||
"integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==",
|
||||
"dependencies": {
|
||||
"pug-code-gen": "^3.0.2",
|
||||
"pug-filters": "^4.0.0",
|
||||
"pug-lexer": "^5.0.1",
|
||||
"pug-linker": "^4.0.0",
|
||||
"pug-load": "^3.0.0",
|
||||
"pug-parser": "^6.0.0",
|
||||
"pug-runtime": "^3.0.1",
|
||||
"pug-strip-comments": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-attrs": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz",
|
||||
"integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==",
|
||||
"dependencies": {
|
||||
"constantinople": "^4.0.1",
|
||||
"js-stringify": "^1.0.2",
|
||||
"pug-runtime": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-code-gen": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz",
|
||||
"integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==",
|
||||
"dependencies": {
|
||||
"constantinople": "^4.0.1",
|
||||
"doctypes": "^1.1.0",
|
||||
"js-stringify": "^1.0.2",
|
||||
"pug-attrs": "^3.0.0",
|
||||
"pug-error": "^2.0.0",
|
||||
"pug-runtime": "^3.0.0",
|
||||
"void-elements": "^3.1.0",
|
||||
"with": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-error": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz",
|
||||
"integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ=="
|
||||
},
|
||||
"node_modules/pug-filters": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz",
|
||||
"integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==",
|
||||
"dependencies": {
|
||||
"constantinople": "^4.0.1",
|
||||
"jstransformer": "1.0.0",
|
||||
"pug-error": "^2.0.0",
|
||||
"pug-walk": "^2.0.0",
|
||||
"resolve": "^1.15.1"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-lexer": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz",
|
||||
"integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==",
|
||||
"dependencies": {
|
||||
"character-parser": "^2.2.0",
|
||||
"is-expression": "^4.0.0",
|
||||
"pug-error": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-linker": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz",
|
||||
"integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==",
|
||||
"dependencies": {
|
||||
"pug-error": "^2.0.0",
|
||||
"pug-walk": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-load": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz",
|
||||
"integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==",
|
||||
"dependencies": {
|
||||
"object-assign": "^4.1.1",
|
||||
"pug-walk": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-parser": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz",
|
||||
"integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==",
|
||||
"dependencies": {
|
||||
"pug-error": "^2.0.0",
|
||||
"token-stream": "1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-runtime": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz",
|
||||
"integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg=="
|
||||
},
|
||||
"node_modules/pug-strip-comments": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz",
|
||||
"integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==",
|
||||
"dependencies": {
|
||||
"pug-error": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pug-walk": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz",
|
||||
"integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ=="
|
||||
},
|
||||
"node_modules/resolve": {
|
||||
"version": "1.22.8",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
||||
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
|
||||
"dependencies": {
|
||||
"is-core-module": "^2.13.0",
|
||||
"path-parse": "^1.0.7",
|
||||
"supports-preserve-symlinks-flag": "^1.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"resolve": "bin/resolve"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/set-function-length": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
|
||||
"integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
|
||||
"dependencies": {
|
||||
"define-data-property": "^1.1.1",
|
||||
"get-intrinsic": "^1.2.1",
|
||||
"gopd": "^1.0.1",
|
||||
"has-property-descriptors": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-preserve-symlinks-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
||||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
||||
"engines": {
|
||||
"node": ">= 0.4"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/to-fast-properties": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
||||
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
|
||||
"engines": {
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/token-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg=="
|
||||
},
|
||||
"node_modules/void-elements": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
|
||||
"integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/with": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz",
|
||||
"integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.9.6",
|
||||
"@babel/types": "^7.9.6",
|
||||
"assert-never": "^1.2.1",
|
||||
"babel-walk": "3.0.0-canary-5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/helper-string-parser": {
|
||||
"version": "7.22.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
|
||||
"integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw=="
|
||||
},
|
||||
"@babel/helper-validator-identifier": {
|
||||
"version": "7.22.20",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
|
||||
"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A=="
|
||||
},
|
||||
"@babel/parser": {
|
||||
"version": "7.23.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.3.tgz",
|
||||
"integrity": "sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw=="
|
||||
},
|
||||
"@babel/types": {
|
||||
"version": "7.23.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.3.tgz",
|
||||
"integrity": "sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==",
|
||||
"requires": {
|
||||
"@babel/helper-string-parser": "^7.22.5",
|
||||
"@babel/helper-validator-identifier": "^7.22.20",
|
||||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"acorn": {
|
||||
"version": "7.4.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
|
||||
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
|
||||
},
|
||||
"asap": {
|
||||
"version": "2.0.6",
|
||||
"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
|
||||
"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
|
||||
},
|
||||
"assert-never": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
|
||||
"integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw=="
|
||||
},
|
||||
"babel-walk": {
|
||||
"version": "3.0.0-canary-5",
|
||||
"resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
|
||||
"integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==",
|
||||
"requires": {
|
||||
"@babel/types": "^7.9.6"
|
||||
}
|
||||
},
|
||||
"call-bind": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
|
||||
"integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
|
||||
"requires": {
|
||||
"function-bind": "^1.1.2",
|
||||
"get-intrinsic": "^1.2.1",
|
||||
"set-function-length": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"character-parser": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
|
||||
"integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==",
|
||||
"requires": {
|
||||
"is-regex": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"constantinople": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
|
||||
"integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==",
|
||||
"requires": {
|
||||
"@babel/parser": "^7.6.0",
|
||||
"@babel/types": "^7.6.1"
|
||||
}
|
||||
},
|
||||
"define-data-property": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
|
||||
"integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
|
||||
"requires": {
|
||||
"get-intrinsic": "^1.2.1",
|
||||
"gopd": "^1.0.1",
|
||||
"has-property-descriptors": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"doctypes": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
|
||||
"integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ=="
|
||||
},
|
||||
"function-bind": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
|
||||
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
|
||||
},
|
||||
"get-intrinsic": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
|
||||
"integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
|
||||
"requires": {
|
||||
"function-bind": "^1.1.2",
|
||||
"has-proto": "^1.0.1",
|
||||
"has-symbols": "^1.0.3",
|
||||
"hasown": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"gopd": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
|
||||
"integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
|
||||
"requires": {
|
||||
"get-intrinsic": "^1.1.3"
|
||||
}
|
||||
},
|
||||
"has-property-descriptors": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
|
||||
"integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
|
||||
"requires": {
|
||||
"get-intrinsic": "^1.2.2"
|
||||
}
|
||||
},
|
||||
"has-proto": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
|
||||
"integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
|
||||
},
|
||||
"has-symbols": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
||||
},
|
||||
"has-tostringtag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
|
||||
"integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
|
||||
"requires": {
|
||||
"has-symbols": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"hasown": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
|
||||
"integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
|
||||
"requires": {
|
||||
"function-bind": "^1.1.2"
|
||||
}
|
||||
},
|
||||
"is-core-module": {
|
||||
"version": "2.13.1",
|
||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
|
||||
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
|
||||
"requires": {
|
||||
"hasown": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"is-expression": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz",
|
||||
"integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==",
|
||||
"requires": {
|
||||
"acorn": "^7.1.1",
|
||||
"object-assign": "^4.1.1"
|
||||
}
|
||||
},
|
||||
"is-promise": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
|
||||
"integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
|
||||
},
|
||||
"is-regex": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
|
||||
"integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
|
||||
"requires": {
|
||||
"call-bind": "^1.0.2",
|
||||
"has-tostringtag": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"js-stringify": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
|
||||
"integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g=="
|
||||
},
|
||||
"jstransformer": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
|
||||
"integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==",
|
||||
"requires": {
|
||||
"is-promise": "^2.0.0",
|
||||
"promise": "^7.0.1"
|
||||
}
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
|
||||
},
|
||||
"path-parse": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
|
||||
},
|
||||
"promise": {
|
||||
"version": "7.3.1",
|
||||
"resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
|
||||
"integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
|
||||
"requires": {
|
||||
"asap": "~2.0.3"
|
||||
}
|
||||
},
|
||||
"pug": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz",
|
||||
"integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==",
|
||||
"requires": {
|
||||
"pug-code-gen": "^3.0.2",
|
||||
"pug-filters": "^4.0.0",
|
||||
"pug-lexer": "^5.0.1",
|
||||
"pug-linker": "^4.0.0",
|
||||
"pug-load": "^3.0.0",
|
||||
"pug-parser": "^6.0.0",
|
||||
"pug-runtime": "^3.0.1",
|
||||
"pug-strip-comments": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"pug-attrs": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz",
|
||||
"integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==",
|
||||
"requires": {
|
||||
"constantinople": "^4.0.1",
|
||||
"js-stringify": "^1.0.2",
|
||||
"pug-runtime": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"pug-code-gen": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz",
|
||||
"integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==",
|
||||
"requires": {
|
||||
"constantinople": "^4.0.1",
|
||||
"doctypes": "^1.1.0",
|
||||
"js-stringify": "^1.0.2",
|
||||
"pug-attrs": "^3.0.0",
|
||||
"pug-error": "^2.0.0",
|
||||
"pug-runtime": "^3.0.0",
|
||||
"void-elements": "^3.1.0",
|
||||
"with": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"pug-error": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz",
|
||||
"integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ=="
|
||||
},
|
||||
"pug-filters": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz",
|
||||
"integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==",
|
||||
"requires": {
|
||||
"constantinople": "^4.0.1",
|
||||
"jstransformer": "1.0.0",
|
||||
"pug-error": "^2.0.0",
|
||||
"pug-walk": "^2.0.0",
|
||||
"resolve": "^1.15.1"
|
||||
}
|
||||
},
|
||||
"pug-lexer": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz",
|
||||
"integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==",
|
||||
"requires": {
|
||||
"character-parser": "^2.2.0",
|
||||
"is-expression": "^4.0.0",
|
||||
"pug-error": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"pug-linker": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz",
|
||||
"integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==",
|
||||
"requires": {
|
||||
"pug-error": "^2.0.0",
|
||||
"pug-walk": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"pug-load": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz",
|
||||
"integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==",
|
||||
"requires": {
|
||||
"object-assign": "^4.1.1",
|
||||
"pug-walk": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"pug-parser": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz",
|
||||
"integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==",
|
||||
"requires": {
|
||||
"pug-error": "^2.0.0",
|
||||
"token-stream": "1.0.0"
|
||||
}
|
||||
},
|
||||
"pug-runtime": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz",
|
||||
"integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg=="
|
||||
},
|
||||
"pug-strip-comments": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz",
|
||||
"integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==",
|
||||
"requires": {
|
||||
"pug-error": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"pug-walk": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz",
|
||||
"integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ=="
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.22.8",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
|
||||
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
|
||||
"requires": {
|
||||
"is-core-module": "^2.13.0",
|
||||
"path-parse": "^1.0.7",
|
||||
"supports-preserve-symlinks-flag": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"set-function-length": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz",
|
||||
"integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==",
|
||||
"requires": {
|
||||
"define-data-property": "^1.1.1",
|
||||
"get-intrinsic": "^1.2.1",
|
||||
"gopd": "^1.0.1",
|
||||
"has-property-descriptors": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"supports-preserve-symlinks-flag": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
||||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
|
||||
},
|
||||
"to-fast-properties": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
|
||||
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
|
||||
},
|
||||
"token-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg=="
|
||||
},
|
||||
"void-elements": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
|
||||
"integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w=="
|
||||
},
|
||||
"with": {
|
||||
"version": "7.0.2",
|
||||
"resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz",
|
||||
"integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==",
|
||||
"requires": {
|
||||
"@babel/parser": "^7.9.6",
|
||||
"@babel/types": "^7.9.6",
|
||||
"assert-never": "^1.2.1",
|
||||
"babel-walk": "3.0.0-canary-5"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
17
sesaman/BBoney/doc/tree-diagrm/package.json
Normal file
17
sesaman/BBoney/doc/tree-diagrm/package.json
Normal file
@@ -0,0 +1,17 @@
|
||||
{
|
||||
"name": "p233",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"render:html":"nodemon --ext \"pug\" ./render.js",
|
||||
"render:scss":"sass --watch style.scss ./public/style.css"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"pug": "^3.0.2"
|
||||
}
|
||||
}
|
1
sesaman/BBoney/doc/tree-diagrm/public/calendar.html
Normal file
1
sesaman/BBoney/doc/tree-diagrm/public/calendar.html
Normal file
@@ -0,0 +1 @@
|
||||
<link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Calendar</div></span></div></div>
|
1
sesaman/BBoney/doc/tree-diagrm/public/index.html
Normal file
1
sesaman/BBoney/doc/tree-diagrm/public/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label">App</span><div class="branch lv1"><div class="entry"><link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Login/登入</div></span><div class="branch lv2"><div class="entry"><span class="label">Forget Password</span></div><div class="entry"><span class="label">Verify Email</span></div><div class="entry"><span class="label">Create New Password</span></div></div></div></div></div><div class="entry"><link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Sign up</div></span><div class="branch lv2"><div class="entry"><span class="label">Destinations</span></div><div class="entry"><span class="label">Activities</span></div><div class="entry"><span class="label">Income / Expenses</span></div></div></div></div></div><div class="entry"><link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Calendar</div></span></div></div></div><div class="entry"><link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Map</div></span></div></div></div><div class="entry"><link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Logout/登出</div></span></div></div></div><div class="entry"><link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Example</div></span><div class="branch lv2"><div class="entry"><span class="label">Entry-3-1</span></div><div class="entry"><span class="label">Entry-3-2</span></div><div class="entry"><span class="label">Entry-3-3</span><div class="branch lv3"><div class="entry"><span class="label">Entry-3-3-1</span></div><div class="entry"><span class="label">Entry-3-3-2</span><div class="branch lv4"><div class="entry"><span class="label">Entry-3-3-2-1</span></div><div class="entry"><span class="label">Entry-3-3-2-2</span></div></div></div><div class="entry"><span class="label">Entry-3-3-3</span></div></div></div><div class="entry"><span class="label">Entry-3-4</span></div></div></div></div></div><div class="entry"><span class="label">Entry-3</span><div class="branch lv2"><div class="entry"><span class="label">Entry-3-1</span></div><div class="entry"><span class="label">Entry-3-2</span></div><div class="entry"><span class="label">Entry-3-3</span><div class="branch lv3"><div class="entry"><span class="label">Entry-3-3-1</span></div><div class="entry"><span class="label">Entry-3-3-2</span><div class="branch lv4"><div class="entry"><span class="label">Entry-3-3-2-1</span></div><div class="entry"><span class="label">Entry-3-3-2-2</span></div></div></div><div class="entry"><span class="label">Entry-3-3-3</span></div></div></div><div class="entry"><span class="label">Entry-3-4</span></div></div></div></div></div></div>
|
1
sesaman/BBoney/doc/tree-diagrm/public/login.html
Normal file
1
sesaman/BBoney/doc/tree-diagrm/public/login.html
Normal file
@@ -0,0 +1 @@
|
||||
<link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Login/登入</div></span><div class="branch lv2"><div class="entry"><span class="label">Forget Password</span></div><div class="entry"><span class="label">Verify Email</span></div><div class="entry"><span class="label">Create New Password</span></div></div></div></div>
|
1
sesaman/BBoney/doc/tree-diagrm/public/sign_up.html
Normal file
1
sesaman/BBoney/doc/tree-diagrm/public/sign_up.html
Normal file
@@ -0,0 +1 @@
|
||||
<link rel="stylesheet" type="text/css" href="/style.css"/><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap"/><div class="container"><div id="wrapper"><span class="label"><div class="label_text">Sign up</div></span><div class="branch lv2"><div class="entry"><span class="label">Destinations</span></div><div class="entry"><span class="label">Activities</span></div><div class="entry"><span class="label">Income / Expenses</span></div></div></div></div>
|
119
sesaman/BBoney/doc/tree-diagrm/public/style.css
Normal file
119
sesaman/BBoney/doc/tree-diagrm/public/style.css
Normal file
@@ -0,0 +1,119 @@
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: rgb(245, 245, 245);
|
||||
background-color: rgb(249, 148, 23);
|
||||
}
|
||||
|
||||
*, *:before, *:after {
|
||||
font-family: "Noto Sans TC", sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
min-width: 1200px;
|
||||
margin: 0;
|
||||
padding: 50px;
|
||||
color: rgb(245, 245, 245);
|
||||
font: 16px Verdana, sans-serif;
|
||||
background: rgb(54, 48, 98);
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.branch {
|
||||
position: relative;
|
||||
margin-left: 250px;
|
||||
}
|
||||
.branch:before {
|
||||
content: "";
|
||||
width: 50px;
|
||||
border-top: 2px solid rgb(245, 245, 245);
|
||||
position: absolute;
|
||||
left: -100px;
|
||||
top: 50%;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.entry {
|
||||
position: relative;
|
||||
min-height: 80px;
|
||||
}
|
||||
.entry:before {
|
||||
content: "";
|
||||
height: 100%;
|
||||
border-left: 2px solid rgb(245, 245, 245);
|
||||
position: absolute;
|
||||
left: -50px;
|
||||
}
|
||||
.entry:after {
|
||||
content: "";
|
||||
width: 50px;
|
||||
border-top: 2px solid rgb(245, 245, 245);
|
||||
position: absolute;
|
||||
left: -50px;
|
||||
top: 50%;
|
||||
margin-top: 1px;
|
||||
}
|
||||
.entry:first-child:before {
|
||||
width: 10px;
|
||||
height: 50%;
|
||||
top: 50%;
|
||||
margin-top: 2px;
|
||||
border-radius: 10px 0 0 0;
|
||||
}
|
||||
.entry:first-child:after {
|
||||
height: 10px;
|
||||
border-radius: 10px 0 0 0;
|
||||
}
|
||||
.entry:last-child:before {
|
||||
width: 10px;
|
||||
height: 50%;
|
||||
border-radius: 0 0 0 10px;
|
||||
}
|
||||
.entry:last-child:after {
|
||||
height: 10px;
|
||||
border-top: none;
|
||||
border-bottom: 2px solid rgb(245, 245, 245);
|
||||
border-radius: 0 0 0 10px;
|
||||
margin-top: -9px;
|
||||
}
|
||||
.entry.sole:before {
|
||||
display: none;
|
||||
}
|
||||
.entry.sole:after {
|
||||
width: 50px;
|
||||
height: 0;
|
||||
margin-top: 1px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.label {
|
||||
display: block;
|
||||
min-width: 150px;
|
||||
padding: 5px 10px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
border: 2px solid rgb(245, 245, 245);
|
||||
border-radius: 5px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
margin-top: -25px;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
1
sesaman/BBoney/doc/tree-diagrm/public/style.css.map
Normal file
1
sesaman/BBoney/doc/tree-diagrm/public/style.css.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["../style.scss"],"names":[],"mappings":"AAuBA;EACE;;;AAGF;EACE,OARY;EASZ,kBAVa;;;AAiBf;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA,OA5CM;EA6CN;EACA,YAhCa;EAiCb;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA,YAvEiB;;AAwEjB;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE,OA5FU;EA6FV;EACA;EACA;EACA;;AAEF;EACE,QAnGU;EAoGV;;AAIF;EACE,OAzGU;EA0GV;EACA;;AAEF;EACE,QA9GU;EA+GV;EACA;EACA;EACA;;AAIF;EACE;;AAEF;EACE;EACA;EACA;EACA;;;AAKN;EACE;EACA,WAhIY;EAiIZ;EACA;EACA;EACA;EACA,eAjIoB;EAkIpB;EACA;EACA;EACA","file":"style.css"}
|
7
sesaman/BBoney/doc/tree-diagrm/pug/calendar.pug
Normal file
7
sesaman/BBoney/doc/tree-diagrm/pug/calendar.pug
Normal file
@@ -0,0 +1,7 @@
|
||||
link(rel='stylesheet', type='text/css', href='/style.css')
|
||||
link(rel='stylesheet', href='https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap')
|
||||
|
||||
.container
|
||||
#wrapper
|
||||
span.label
|
||||
div.label_text Calendar
|
28
sesaman/BBoney/doc/tree-diagrm/pug/example.pug
Normal file
28
sesaman/BBoney/doc/tree-diagrm/pug/example.pug
Normal file
@@ -0,0 +1,28 @@
|
||||
link(rel='stylesheet', type='text/css', href='/style.css')
|
||||
link(rel='stylesheet', href='https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap')
|
||||
|
||||
.container
|
||||
#wrapper
|
||||
span.label
|
||||
div.label_text Example
|
||||
.branch.lv2
|
||||
.entry
|
||||
span.label Entry-3-1
|
||||
.entry
|
||||
span.label Entry-3-2
|
||||
.entry
|
||||
span.label Entry-3-3
|
||||
.branch.lv3
|
||||
.entry
|
||||
span.label Entry-3-3-1
|
||||
.entry
|
||||
span.label Entry-3-3-2
|
||||
.branch.lv4
|
||||
.entry
|
||||
span.label Entry-3-3-2-1
|
||||
.entry
|
||||
span.label Entry-3-3-2-2
|
||||
.entry
|
||||
span.label Entry-3-3-3
|
||||
.entry
|
||||
span.label Entry-3-4
|
49
sesaman/BBoney/doc/tree-diagrm/pug/index.pug
Normal file
49
sesaman/BBoney/doc/tree-diagrm/pug/index.pug
Normal file
@@ -0,0 +1,49 @@
|
||||
link(rel='stylesheet', type='text/css', href='/style.css')
|
||||
link(rel='stylesheet', href='https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap')
|
||||
|
||||
.container
|
||||
#wrapper
|
||||
span.label App
|
||||
.branch.lv1
|
||||
.entry
|
||||
include ./login.pug
|
||||
|
||||
.entry
|
||||
include ./sign_up.pug
|
||||
|
||||
.entry
|
||||
include ./calendar.pug
|
||||
|
||||
.entry
|
||||
include ./map.pug
|
||||
|
||||
.entry
|
||||
include ./logout.pug
|
||||
|
||||
.entry
|
||||
include ./example.pug
|
||||
|
||||
|
||||
.entry
|
||||
span.label Entry-3
|
||||
.branch.lv2
|
||||
.entry
|
||||
span.label Entry-3-1
|
||||
.entry
|
||||
span.label Entry-3-2
|
||||
.entry
|
||||
span.label Entry-3-3
|
||||
.branch.lv3
|
||||
.entry
|
||||
span.label Entry-3-3-1
|
||||
.entry
|
||||
span.label Entry-3-3-2
|
||||
.branch.lv4
|
||||
.entry
|
||||
span.label Entry-3-3-2-1
|
||||
.entry
|
||||
span.label Entry-3-3-2-2
|
||||
.entry
|
||||
span.label Entry-3-3-3
|
||||
.entry
|
||||
span.label Entry-3-4
|
14
sesaman/BBoney/doc/tree-diagrm/pug/login.pug
Normal file
14
sesaman/BBoney/doc/tree-diagrm/pug/login.pug
Normal file
@@ -0,0 +1,14 @@
|
||||
link(rel='stylesheet', type='text/css', href='/style.css')
|
||||
link(rel='stylesheet', href='https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap')
|
||||
|
||||
.container
|
||||
#wrapper
|
||||
span.label
|
||||
div.label_text Login/登入
|
||||
.branch.lv2
|
||||
.entry
|
||||
span.label Forget Password
|
||||
.entry
|
||||
span.label Verify Email
|
||||
.entry
|
||||
span.label Create New Password
|
7
sesaman/BBoney/doc/tree-diagrm/pug/logout.pug
Normal file
7
sesaman/BBoney/doc/tree-diagrm/pug/logout.pug
Normal file
@@ -0,0 +1,7 @@
|
||||
link(rel='stylesheet', type='text/css', href='/style.css')
|
||||
link(rel='stylesheet', href='https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap')
|
||||
|
||||
.container
|
||||
#wrapper
|
||||
span.label
|
||||
div.label_text Logout/登出
|
7
sesaman/BBoney/doc/tree-diagrm/pug/map.pug
Normal file
7
sesaman/BBoney/doc/tree-diagrm/pug/map.pug
Normal file
@@ -0,0 +1,7 @@
|
||||
link(rel='stylesheet', type='text/css', href='/style.css')
|
||||
link(rel='stylesheet', href='https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap')
|
||||
|
||||
.container
|
||||
#wrapper
|
||||
span.label
|
||||
div.label_text Map
|
14
sesaman/BBoney/doc/tree-diagrm/pug/sign_up.pug
Normal file
14
sesaman/BBoney/doc/tree-diagrm/pug/sign_up.pug
Normal file
@@ -0,0 +1,14 @@
|
||||
link(rel='stylesheet', type='text/css', href='/style.css')
|
||||
link(rel='stylesheet', href='https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@100;200;300;400;500;700;900&display=swap')
|
||||
|
||||
.container
|
||||
#wrapper
|
||||
span.label
|
||||
div.label_text Sign up
|
||||
.branch.lv2
|
||||
.entry
|
||||
span.label Destinations
|
||||
.entry
|
||||
span.label Activities
|
||||
.entry
|
||||
span.label Income / Expenses
|
21
sesaman/BBoney/doc/tree-diagrm/render.js
Normal file
21
sesaman/BBoney/doc/tree-diagrm/render.js
Normal file
@@ -0,0 +1,21 @@
|
||||
const pug = require('pug');
|
||||
const fs = require('fs');
|
||||
|
||||
// Compile the source code
|
||||
// const compiledFunction = pug.compileFile('index.pug');
|
||||
|
||||
fs.writeFile('./public/index.html', pug.compileFile('./pug/index.pug')({ }), {encoding:'utf-8'},(err) =>{
|
||||
if (err) console.log(err);
|
||||
});
|
||||
|
||||
fs.writeFile('./public/login.html', pug.compileFile('./pug/login.pug')({ }), {encoding:'utf-8'},(err) =>{
|
||||
if (err) console.log(err);
|
||||
});
|
||||
|
||||
fs.writeFile('./public/sign_up.html', pug.compileFile('./pug/sign_up.pug')({ }), {encoding:'utf-8'},(err) =>{
|
||||
if (err) console.log(err);
|
||||
});
|
||||
|
||||
fs.writeFile('./public/calendar.html', pug.compileFile('./pug/calendar.pug')({ }), {encoding:'utf-8'},(err) =>{
|
||||
if (err) console.log(err);
|
||||
});
|
119
sesaman/BBoney/doc/tree-diagrm/style.css
Normal file
119
sesaman/BBoney/doc/tree-diagrm/style.css
Normal file
@@ -0,0 +1,119 @@
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: rgb(245, 245, 245);
|
||||
background-color: rgb(249, 148, 23);
|
||||
}
|
||||
|
||||
*, *:before, *:after {
|
||||
font-family: "Noto Sans TC", sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
min-width: 1200px;
|
||||
margin: 0;
|
||||
padding: 50px;
|
||||
color: rgb(245, 245, 245);
|
||||
font: 16px Verdana, sans-serif;
|
||||
background: rgb(54, 48, 98);
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.branch {
|
||||
position: relative;
|
||||
margin-left: 250px;
|
||||
}
|
||||
.branch:before {
|
||||
content: "";
|
||||
width: 50px;
|
||||
border-top: 2px solid rgb(245, 245, 245);
|
||||
position: absolute;
|
||||
left: -100px;
|
||||
top: 50%;
|
||||
margin-top: 1px;
|
||||
}
|
||||
|
||||
.entry {
|
||||
position: relative;
|
||||
min-height: 80px;
|
||||
}
|
||||
.entry:before {
|
||||
content: "";
|
||||
height: 100%;
|
||||
border-left: 2px solid rgb(245, 245, 245);
|
||||
position: absolute;
|
||||
left: -50px;
|
||||
}
|
||||
.entry:after {
|
||||
content: "";
|
||||
width: 50px;
|
||||
border-top: 2px solid rgb(245, 245, 245);
|
||||
position: absolute;
|
||||
left: -50px;
|
||||
top: 50%;
|
||||
margin-top: 1px;
|
||||
}
|
||||
.entry:first-child:before {
|
||||
width: 10px;
|
||||
height: 50%;
|
||||
top: 50%;
|
||||
margin-top: 2px;
|
||||
border-radius: 10px 0 0 0;
|
||||
}
|
||||
.entry:first-child:after {
|
||||
height: 10px;
|
||||
border-radius: 10px 0 0 0;
|
||||
}
|
||||
.entry:last-child:before {
|
||||
width: 10px;
|
||||
height: 50%;
|
||||
border-radius: 0 0 0 10px;
|
||||
}
|
||||
.entry:last-child:after {
|
||||
height: 10px;
|
||||
border-top: none;
|
||||
border-bottom: 2px solid rgb(245, 245, 245);
|
||||
border-radius: 0 0 0 10px;
|
||||
margin-top: -9px;
|
||||
}
|
||||
.entry.sole:before {
|
||||
display: none;
|
||||
}
|
||||
.entry.sole:after {
|
||||
width: 50px;
|
||||
height: 0;
|
||||
margin-top: 1px;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.label {
|
||||
display: block;
|
||||
min-width: 150px;
|
||||
padding: 5px 10px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
border: 2px solid rgb(245, 245, 245);
|
||||
border-radius: 5px;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
margin-top: -25px;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
1
sesaman/BBoney/doc/tree-diagrm/style.css.map
Normal file
1
sesaman/BBoney/doc/tree-diagrm/style.css.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sourceRoot":"","sources":["style.scss"],"names":[],"mappings":"AAuBA;EACE;;;AAGF;EACE,OARY;EASZ,kBAVa;;;AAiBf;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA,OA5CM;EA6CN;EACA,YAhCa;EAiCb;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA,YAvEiB;;AAwEjB;EACE;EACA;EACA;EACA;EACA;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;EACE,OA5FU;EA6FV;EACA;EACA;EACA;;AAEF;EACE,QAnGU;EAoGV;;AAIF;EACE,OAzGU;EA0GV;EACA;;AAEF;EACE,QA9GU;EA+GV;EACA;EACA;EACA;;AAIF;EACE;;AAEF;EACE;EACA;EACA;EACA;;;AAKN;EACE;EACA,WAhIY;EAiIZ;EACA;EACA;EACA;EACA,eAjIoB;EAkIpB;EACA;EACA;EACA","file":"style.css"}
|
151
sesaman/BBoney/doc/tree-diagrm/style.scss
Normal file
151
sesaman/BBoney/doc/tree-diagrm/style.scss
Normal file
@@ -0,0 +1,151 @@
|
||||
|
||||
//------- {{ Variables }} -------//
|
||||
|
||||
$white: rgb(245, 245, 245);
|
||||
$bg: rgb(77, 76, 125);
|
||||
|
||||
$horizontal-gutter: 100px;
|
||||
$border-radius: 10px;
|
||||
|
||||
$entry-min-height: 80px;
|
||||
|
||||
$label-width: 150px;
|
||||
$label-height: 50px;
|
||||
$label-padding-y: 5px;
|
||||
$label-padding-x: 10px;
|
||||
$label-border-radius: 5px;
|
||||
|
||||
$color-navy-1: rgb(54, 48, 98);
|
||||
$color-navy-2: rgb(77, 76, 125);
|
||||
$color-orange: rgb(249, 148, 23);
|
||||
$color-white: rgb(245, 245, 245);
|
||||
|
||||
//------- {{ Styles }} -------//
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: $color-white;
|
||||
background-color: $color-orange
|
||||
}
|
||||
|
||||
|
||||
.label_text {
|
||||
}
|
||||
|
||||
*, *:before, *:after {
|
||||
font-family: 'Noto Sans TC', sans-serif;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
min-width: 1200px;
|
||||
margin: 0;
|
||||
padding: 50px;
|
||||
color: $white;
|
||||
font: 16px Verdana, sans-serif;
|
||||
background: $color-navy-1;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.branch {
|
||||
position: relative;
|
||||
margin-left: $horizontal-gutter + $label-width;
|
||||
&:before {
|
||||
content: "";
|
||||
width: calc($horizontal-gutter / 2);
|
||||
border-top: 2px solid $white;
|
||||
position: absolute;
|
||||
left: -$horizontal-gutter;
|
||||
top: 50%;
|
||||
margin-top: 1px;
|
||||
}
|
||||
}
|
||||
|
||||
.entry {
|
||||
position: relative;
|
||||
min-height: $entry-min-height;
|
||||
&:before {
|
||||
content: "";
|
||||
height: 100%;
|
||||
border-left: 2px solid $white;
|
||||
position: absolute;
|
||||
left: -(calc( $horizontal-gutter / 2 ));
|
||||
}
|
||||
&:after {
|
||||
content: "";
|
||||
width: calc( $horizontal-gutter / 2 );
|
||||
border-top: 2px solid $white;
|
||||
position: absolute;
|
||||
left: -(calc( $horizontal-gutter / 2 ));
|
||||
top: 50%;
|
||||
margin-top: 1px;
|
||||
}
|
||||
&:first-child {
|
||||
&:before {
|
||||
width: $border-radius;
|
||||
height: 50%;
|
||||
top: 50%;
|
||||
margin-top: 2px;
|
||||
border-radius: $border-radius 0 0 0;
|
||||
}
|
||||
&:after {
|
||||
height: $border-radius;
|
||||
border-radius: $border-radius 0 0 0;
|
||||
}
|
||||
}
|
||||
&:last-child {
|
||||
&:before {
|
||||
width: $border-radius;
|
||||
height: 50%;
|
||||
border-radius: 0 0 0 $border-radius;
|
||||
}
|
||||
&:after {
|
||||
height: $border-radius;
|
||||
border-top: none;
|
||||
border-bottom: 2px solid $white;
|
||||
border-radius: 0 0 0 $border-radius;
|
||||
margin-top: -$border-radius + 1px;
|
||||
}
|
||||
}
|
||||
&.sole {
|
||||
&:before {
|
||||
display: none;
|
||||
}
|
||||
&:after {
|
||||
width: calc($horizontal-gutter / 2);
|
||||
height: 0;
|
||||
margin-top: 1px;
|
||||
border-radius: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
display: block;
|
||||
min-width: $label-width;
|
||||
padding: $label-padding-y $label-padding-x;
|
||||
line-height: $label-height - $label-padding-y * 2;
|
||||
text-align: center;
|
||||
border: 2px solid $white;
|
||||
border-radius: $label-border-radius;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
margin-top: -(calc( $label-height / 2 ));
|
||||
|
||||
}
|
BIN
sesaman/BBoney/doc/wireframe/balance.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/balance.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/calendar_01.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/calendar_01.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/chart_01.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/chart_01.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/home_01.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/home_01.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/home_02.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/home_02.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/home_03.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/home_03.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/login.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/login.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/map.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/map.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/register_01.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/register_01.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/register_02.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/register_02.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/register_03.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/register_03.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/signup.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/signup.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/suggestion.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/suggestion.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/transaction.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/transaction.png
(Stored with Git LFS)
Normal file
Binary file not shown.
BIN
sesaman/BBoney/doc/wireframe/upgrade.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/doc/wireframe/upgrade.png
(Stored with Git LFS)
Normal file
Binary file not shown.
20
sesaman/BBoney/preview/login/index.html
Normal file
20
sesaman/BBoney/preview/login/index.html
Normal file
@@ -0,0 +1,20 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Document</title>
|
||||
<link rel="stylesheet" href="style.css">
|
||||
</head>
|
||||
<body>
|
||||
<div style="
|
||||
width: 800px;
|
||||
height: 800px;
|
||||
background-size: contain;
|
||||
background-image: url('./phone-frame.png');
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
">
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
BIN
sesaman/BBoney/preview/login/phone-frame.png
(Stored with Git LFS)
Normal file
BIN
sesaman/BBoney/preview/login/phone-frame.png
(Stored with Git LFS)
Normal file
Binary file not shown.
5
sesaman/BBoney/preview/login/style.css
Normal file
5
sesaman/BBoney/preview/login/style.css
Normal file
@@ -0,0 +1,5 @@
|
||||
* {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
box-sizing: border-box;
|
||||
}
|
7
sesaman/gitUpdate.bat
Normal file
7
sesaman/gitUpdate.bat
Normal file
@@ -0,0 +1,7 @@
|
||||
git status .
|
||||
|
||||
@pause
|
||||
|
||||
git add .
|
||||
git commit -m"update sesaman,"
|
||||
start git push
|
11
sesaman/meta.md
Normal file
11
sesaman/meta.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
tags: [polite, pending, tree-diagram]
|
||||
---
|
||||
|
||||
# BBoney
|
||||
|
||||
[[BBoney/doc/digest]]
|
||||
|
||||
[//begin]: # "Autogenerated link references for markdown compatibility"
|
||||
[BBoney/doc/digest]: BBoney/doc/digest.md "Name of the App:"
|
||||
[//end]: # "Autogenerated link references"
|
16
sesaman/package.json
Normal file
16
sesaman/package.json
Normal file
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"name": "sesaman",
|
||||
"version": "1.0.0",
|
||||
"description": "",
|
||||
"main": "index.js",
|
||||
"directories": {
|
||||
"doc": "doc"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"gitUpdate":"git add . && git commit -m\"update,\""
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
"license": "ISC"
|
||||
}
|
Reference in New Issue
Block a user