Skip to content

Commit

Permalink
chore: update dodoc template & config
Browse files Browse the repository at this point in the history
  • Loading branch information
b00ste committed Jul 17, 2023
1 parent 30171bf commit 93d8daa
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 44 deletions.
91 changes: 48 additions & 43 deletions dodoc/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,53 +4,53 @@ import { HelperContent } from 'squirrelly/dist/types/containers';
export const dodocConfig = {
runOnCompile: false,
include: [
'UniversalProfile.sol',
'LSP0ERC725Account/LSP0ERC725Account.sol',
'LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP/LSP1UniversalReceiverDelegateUP.sol',
'LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault/LSP1UniversalReceiverDelegateVault.sol',
'LSP6KeyManager/LSP6KeyManager.sol',
'LSP9Vault/LSP9Vault.sol',
'LSP11BasicSocialRecovery/LSP11BasicSocialRecovery.sol',
'LSP14Ownable2Step/LSP14Ownable2Step.sol',
'LSP16UniversalFactory/LSP16UniversalFactory.sol',
'LSP17ContractExtension/LSP17Extendable.sol',
'LSP17ContractExtension/LSP17Extension.sol',
'LSP20CallVerification/LSP20CallVerification.sol',
'contracts/UniversalProfile.sol',
'contracts/LSP0ERC725Account/LSP0ERC725Account.sol',
'contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateUP/LSP1UniversalReceiverDelegateUP.sol',
'contracts/LSP1UniversalReceiver/LSP1UniversalReceiverDelegateVault/LSP1UniversalReceiverDelegateVault.sol',
'contracts/LSP6KeyManager/LSP6KeyManager.sol',
'contracts/LSP9Vault/LSP9Vault.sol',
'contracts/LSP11BasicSocialRecovery/LSP11BasicSocialRecovery.sol',
'contracts/LSP14Ownable2Step/LSP14Ownable2Step.sol',
'contracts/LSP16UniversalFactory/LSP16UniversalFactory.sol',
'contracts/LSP17ContractExtension/LSP17Extendable.sol',
'contracts/LSP17ContractExtension/LSP17Extension.sol',
'contracts/LSP20CallVerification/LSP20CallVerification.sol',

// tokens
'LSP4DigitalAssetMetadata/LSP4Compatibility.sol',
'LSP4DigitalAssetMetadata/LSP4DigitalAssetMetadata.sol',
'LSP7DigitalAsset/LSP7DigitalAsset.sol',
'LSP7DigitalAsset/extensions/LSP7Burnable.sol',
'LSP7DigitalAsset/extensions/LSP7CappedSupply.sol',
'LSP7DigitalAsset/extensions/LSP7CompatibleERC20.sol',
'LSP7DigitalAsset/presets/LSP7CompatibleERC20Mintable.sol',
'LSP7DigitalAsset/presets/LSP7Mintable.sol',
'LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol',
'LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol',
'LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol',
'LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol',
'LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol',
'LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol',
'LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol',
'contracts/LSP4DigitalAssetMetadata/LSP4Compatibility.sol',
'contracts/LSP4DigitalAssetMetadata/LSP4DigitalAssetMetadata.sol',
'contracts/LSP7DigitalAsset/LSP7DigitalAsset.sol',
'contracts/LSP7DigitalAsset/extensions/LSP7Burnable.sol',
'contracts/LSP7DigitalAsset/extensions/LSP7CappedSupply.sol',
'contracts/LSP7DigitalAsset/extensions/LSP7CompatibleERC20.sol',
'contracts/LSP7DigitalAsset/presets/LSP7CompatibleERC20Mintable.sol',
'contracts/LSP7DigitalAsset/presets/LSP7Mintable.sol',
'contracts/LSP8IdentifiableDigitalAsset/LSP8IdentifiableDigitalAsset.sol',
'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Burnable.sol',
'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CappedSupply.sol',
'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8CompatibleERC721.sol',
'contracts/LSP8IdentifiableDigitalAsset/extensions/LSP8Enumerable.sol',
'contracts/LSP8IdentifiableDigitalAsset/presets/LSP8CompatibleERC721Mintable.sol',
'contracts/LSP8IdentifiableDigitalAsset/presets/LSP8Mintable.sol',

// libraries --------------------
'LSP0ERC725Account/LSP0Utils.sol',
'LSP1UniversalReceiver/LSP1Utils.sol',
'LSP2ERC725YJSONSchema/LSP2Utils.sol',
'LSP5ReceivedAssets/LSP5Utils.sol',
'LSP6KeyManager/LSP6Utils.sol',
'LSP10ReceivedVaults/LSP10Utils.sol',
'LSP17ContractExtension/LSP17Utils.sol',
'contracts/LSP0ERC725Account/LSP0Utils.sol',
'contracts/LSP1UniversalReceiver/LSP1Utils.sol',
'contracts/LSP2ERC725YJSONSchema/LSP2Utils.sol',
'contracts/LSP5ReceivedAssets/LSP5Utils.sol',
'contracts/LSP6KeyManager/LSP6Utils.sol',
'contracts/LSP10ReceivedVaults/LSP10Utils.sol',
'contracts/LSP17ContractExtension/LSP17Utils.sol',
],
libraries: [
'LSP0Utils',
'LSP1Utils',
'LSP2Utils',
'LSP5Utils',
'LSP6Utils',
'LSP10Utils',
'LSP17Utils',
'contracts/LSP0ERC725Account/LSP0Utils.sol',
'contracts/LSP1UniversalReceiver/LSP1Utils.sol',
'contracts/LSP2ERC725YJSONSchema/LSP2Utils.sol',
'contracts/LSP5ReceivedAssets/LSP5Utils.sol',
'contracts/LSP6KeyManager/LSP6Utils.sol',
'contracts/LSP10ReceivedVaults/LSP10Utils.sol',
'contracts/LSP17ContractExtension/LSP17Utils.sol',
],
templatePath: './dodoc/template.sqrl',
helpers: [
Expand Down Expand Up @@ -109,6 +109,11 @@ export const dodocConfig = {
helperName: 'generateContractLink',
helperFunc: (content: HelperContent) => generateContractLink(content.params[0]),
},
{
helperName: 'generateContractSpecsDetails',
helperFunc: (content: HelperContent) =>
content.exec(generateContractSpecsDetails(content.params[0])),
},
],
};

Expand Down Expand Up @@ -267,7 +272,7 @@ const generateContractLink = (contractName: string) => {
if (value.endsWith(`${contractName}.sol`)) return value;
})[0];

return `${linkBase}lsp-smart-contracts/blob/develop/contracts/${contractPath}`;
return `${linkBase}lsp-smart-contracts/blob/develop/${contractPath}`;
};

const generateContractSpecsDetails = (contractName: string) => {
Expand All @@ -281,7 +286,7 @@ const generateContractSpecsDetails = (contractName: string) => {
if (value.endsWith(`${contractName}.sol`)) return value;
})[0];

const specs = contractPath.split('/')[0];
const specs = contractPath.split('/')[1];

const specsName = `LSP-${specs.match(/\d+/)[0]}-${specs.split(/LSP\d+/)[1]}`;

Expand Down
13 changes: 12 additions & 1 deletion dodoc/template.sqrl
Original file line number Diff line number Diff line change
@@ -1,9 +1,20 @@
<!-- This file is auto-generated. Do not edit! -->
<!-- Check `@lukso-network/lsp-smart-contracts/CONTRIBUTING.md#solidity-code-comments` for more information. -->


{{@if (it.name)}}
# {{it.name}}
{{/if}}


:::info Soldity contract
:::info Standard Specifications

{{@generateContractSpecsDetails(it.name) => specsDetails}}
[`{{specsDetails.specsName}}`]({{specsDetails.specsLink}})
{{/generateContractSpecsDetails}}

:::
:::info Soldity implementation

[`{{it.name}}.sol`]({{@generateContractLink(it.name) /}})

Expand Down

0 comments on commit 93d8daa

Please sign in to comment.